Build a better UI component library with Styled SystemHsin-Hao Tang
Build a better UI component library with Styled System by using utility functions that respond to changing requirements quickly. Styled System provides consistency by utilizing global theming and variants to define component styles. It also solves issues of inconsistent props and name collisions by leveraging color utilities and scoped CSS. Additionally, Styled System enables creating mobile-first responsive designs easily through array syntax for responsive styles.
This document provides descriptions and examples of various HTML tags. It explains basic HTML structure using tags like <html>, <head>, <title>, <body>. It also provides examples of common text formatting tags like <b>, <i>, <u> and examples of lists, tables, forms and inputs using tags like <ul>, <ol>, <table>, <form>, <input>. It is intended as a reference for the basic tags used to structure and style HTML documents.
The document provides an overview of CSS selectors including basics like element, id and class selectors. It also covers hierarchy selectors like descendant and child selectors. Attribute selectors like [attribute] and [attribute=value] are explained. Finally, pseudo classes like :hover and :active as well as pseudo elements like ::first-letter are summarized. The document serves as a reference for the different types of CSS selectors and how they can be used to select and style elements.
Internet and Web Technology (CLASS-9) [React.js] | NIC/NIELIT Web TechnologyAyes Chinmay
The document provides information about the IWT syllabus module 3 which covers topics like XML, AJAX, jQuery, JSON, and React.js. It then discusses React.js fundamentals like its usage for building user interfaces, components, props, state, lifecycle methods, forms, and CSS styling. It also provides code examples for rendering HTML, using JSX, handling forms, and the component lifecycle in React.
The document summarizes new features in HTML5 including less header code needed, more semantic HTML tags, media tags for embedding video and audio, geolocation capabilities, the canvas element for drawing, new input types for forms, drag and drop, local storage, cross-domain messaging, web sockets, and the eventual ability to do 3D graphics with canvas. It provides examples and explanations of how to use many of these new features.
[PyConZA 2017] Web Scraping: Unleash your Internet VikingAndrew Collier
This document provides an overview of scraping web pages, including:
- Why scrape rather than use APIs
- The difference between scraping and crawling
- The anatomy of web pages including HTML, CSS, and XPath for selecting elements
- Common files like robots.txt and sitemap.xml
- Python libraries like urllib and requests for working with URLs and making HTTP requests
This PPT is about my best friends, HTML, CSS and JS. Here I am just talk/show few features of them. all three combined make our web site more powerful in this WWW world.
Build a better UI component library with Styled SystemHsin-Hao Tang
Build a better UI component library with Styled System by using utility functions that respond to changing requirements quickly. Styled System provides consistency by utilizing global theming and variants to define component styles. It also solves issues of inconsistent props and name collisions by leveraging color utilities and scoped CSS. Additionally, Styled System enables creating mobile-first responsive designs easily through array syntax for responsive styles.
This document provides descriptions and examples of various HTML tags. It explains basic HTML structure using tags like <html>, <head>, <title>, <body>. It also provides examples of common text formatting tags like <b>, <i>, <u> and examples of lists, tables, forms and inputs using tags like <ul>, <ol>, <table>, <form>, <input>. It is intended as a reference for the basic tags used to structure and style HTML documents.
The document provides an overview of CSS selectors including basics like element, id and class selectors. It also covers hierarchy selectors like descendant and child selectors. Attribute selectors like [attribute] and [attribute=value] are explained. Finally, pseudo classes like :hover and :active as well as pseudo elements like ::first-letter are summarized. The document serves as a reference for the different types of CSS selectors and how they can be used to select and style elements.
Internet and Web Technology (CLASS-9) [React.js] | NIC/NIELIT Web TechnologyAyes Chinmay
The document provides information about the IWT syllabus module 3 which covers topics like XML, AJAX, jQuery, JSON, and React.js. It then discusses React.js fundamentals like its usage for building user interfaces, components, props, state, lifecycle methods, forms, and CSS styling. It also provides code examples for rendering HTML, using JSX, handling forms, and the component lifecycle in React.
The document summarizes new features in HTML5 including less header code needed, more semantic HTML tags, media tags for embedding video and audio, geolocation capabilities, the canvas element for drawing, new input types for forms, drag and drop, local storage, cross-domain messaging, web sockets, and the eventual ability to do 3D graphics with canvas. It provides examples and explanations of how to use many of these new features.
[PyConZA 2017] Web Scraping: Unleash your Internet VikingAndrew Collier
This document provides an overview of scraping web pages, including:
- Why scrape rather than use APIs
- The difference between scraping and crawling
- The anatomy of web pages including HTML, CSS, and XPath for selecting elements
- Common files like robots.txt and sitemap.xml
- Python libraries like urllib and requests for working with URLs and making HTTP requests
This PPT is about my best friends, HTML, CSS and JS. Here I am just talk/show few features of them. all three combined make our web site more powerful in this WWW world.
This document provides an overview of CSS3 modules including Backgrounds and Borders, Multi-column Layout, Selectors, Grid Positioning, and Media Queries. It discusses new CSS3 features like advanced border properties, multi-column page layout without additional markup, more robust selector options, grid-based page layout, and media query enhancements. Examples are given to illustrate how these features can be used. Resources for learning more about CSS3 are also listed.
The document introduces Web Components and promotes trying them. It provides examples of Web Components like <x-calendar> and <x-flipbox> that can be used to build reusable custom elements. It also describes how to create a Web Component using Polymer and shows an example <x-like> component for liking posts. The document encourages developing with Web Components as it makes front-end development more fun and modular.
The document provides an introduction to HTML elements, tags, and attributes. It discusses common HTML elements like paragraphs, headings, and line breaks. It explains how to use opening and closing tags to define elements in an HTML document. Attributes are described which can customize elements, such as align attributes to control text alignment. The document also gives examples of how to code basic HTML elements and attributes.
The document provides information on HTML tags and elements for creating web pages. It discusses common tags like <p> for paragraphs, <h1>-<h6> for headings, and <body> for the content container. It also covers basic HTML structure with <html>, <head>, and <body> tags. Attributes are described along with examples for aligning, styling and providing additional information for elements. Different lists like ordered, unordered and definition lists are explained with <ol>, <ul> and <dl> tags.
The document discusses Jinja2 templating in Python. It begins with an overview and agenda, then provides examples of Jinja basics like rendering templates with variables. It also demonstrates rendering templates to files, using template inheritance and macros. Finally, it shows how to integrate Jinja templates with Flask by rendering templates from view functions and adding filters. Code samples are included throughout to illustrate key concepts.
Web Developement Workshop (Oct 2009) SlidesManish Sinha
This document provides an overview of web development technologies including HTML, CSS, PHP, MySQL, and forms. It includes brief introductions and code snippets for each topic. Key points covered are basic HTML tags and structure, CSS styling, SQL commands for managing a MySQL database, PHP syntax and functions, and using forms to pass data between pages. Contact information is also provided for three web developers.
The document describes several templating languages and preprocessors for HTML, CSS, and front-end development including Haml, Jade, LESS, SASS, and Bourbon. It provides code examples to demonstrate features like variables, nesting, mixins, imports and more. These tools can be used to make HTML, CSS, and template files more concise, reusable and maintainable.
This document summarizes a presentation about the Dart programming language. It discusses Dart's design as a structured, flexible and familiar language for developing web and mobile apps. Dart compiles to JavaScript and runs on modern browsers as well as its own VM. It has a large standard library and tools like an IDE, package manager, and documentation generator to support development. Examples show how Dart addresses issues like callbacks and its support for asynchronous programming. The presentation concludes that Dart has the potential to change application development by providing an alternative to JavaScript and other languages.
1) The document provides resources for a front-end development session including working files, slides, and an agenda.
2) It reviews HTML tags, CSS selectors, the box model, positioning, and Flexbox.
3) Instructions are given to install Atom plugins and review JavaScript and JQuery before adding an Express server to a webpage.
Start your app the better way with Styled SystemHsin-Hao Tang
The document introduces Styled System, a library that provides utility functions for styling React components in a consistent and mobile-first way. It allows creating component styles with concise code through functions that map prop values to CSS properties. Styled System also supports defining global themes and component variants to customize styles. Responsive designs can be implemented with an array syntax for breakpoints. Overall, Styled System promotes consistency, reusability and ease of customization for component library styles.
The document provides information on various CSS techniques for styling web pages, including:
- Three methods for inserting stylesheets: external, internal, and inline stylesheets.
- Selectors like id, class, and element selectors for applying styles.
- Properties for styling various page elements like text, backgrounds, links, tables, and lists.
- New CSS3 features like rounded corners, drop shadows, multi-column layouts, transitions, animations and custom fonts.
- Examples are given for many of the properties to demonstrate their usage.
An Introduction to Cascading Style Sheets (CSS3)Ardee Aram
Cascading Style Sheets (CSS) allow separation of document structure (HTML) from presentation (CSS). CSS controls how HTML elements are displayed on screen, paper, or other media. CSS works by applying styles, such as font, color, and size, to HTML elements. The cascade determines which styles are applied based on specificity and source order. CSS properties modify text, color, background, borders, boxes, positioning, and other attributes of HTML elements.
CSS101 - Concept Fundamentals for non UI DevelopersDarren Gideon
The document provides an overview of CSS concepts and fundamentals for developers. It discusses what CSS is, its advantages like separation of content from presentation and accessibility, as well as limitations such as lack of flexible layout controls. Important CSS concepts covered include selectors, the cascade, inheritance, and positioning properties. The document is intended to explain the core concepts developers need to know about CSS.
This document discusses CSS selectors and the box model. It covers simple selectors based on name, id, class, and relationship between elements. Combinator selectors are described for selecting descendant and child elements. Pseudo-classes and pseudo-elements are explained for selecting elements based on states or style parts of elements. The box model is summarized as defining the width, height, padding, borders, and margins of elements. Display properties are covered for controlling layout, including common block and inline elements as well as overriding defaults.
The document provides an overview of CSS (Cascading Style Sheets) methodology. It defines CSS as the language used for implementing designs on HTML documents. It then covers CSS basics including selectors, properties, conflicts resolution using specificity and cascade order. It also discusses the box model which defines how browsers handle rectangular boxes for elements. Finally, it offers some best practices tips such as resetting styles, separating content from design, and planning layout during HTML coding.
The document discusses a scalable and modular architecture for CSS that involves categorizing styles into base, layout, module, and state categories. This approach helps make CSS more flexible, maintainable, and avoids overly specific selectors. Key aspects include naming conventions, limiting the depth of styles, and using child selectors. An example of a "media object" pattern is provided to demonstrate how abstracting styles into reusable modules can significantly reduce code. While this approach goes against some conventional wisdom, it separates structure and skin while promoting reusability.
The document discusses the future of CSS layout mechanisms. It describes several proposed CSS modules for layout, including Grid Positioning, Flexible Box, and Template Layout. Each provides advantages for creating explicit grids and separating presentation from structure. The document highlights how these new layout capabilities could improve web design and development by establishing CSS as the framework. It concludes by encouraging learning more and getting involved in the ongoing CSS layout standards work.
CSS (Cascading Style Sheets) allows separation of document content from document presentation and behavior. CSS handles the look and formatting of a document and is effective for maintaining a consistent appearance across multiple web pages. CSS declarations apply styles to HTML elements and are organized in a cascade by importance, origin, specificity, and source order to determine which styles get applied.
Front-end methodologies discusses common solutions like SMACSS and ITCSS for organizing CSS code into reusable, maintainable components. It also covers approaches like OOCSS, BEM, and CSS Modules. CSS Modules in particular scopes class names to prevent collisions and makes extending classes problematic.
HTML Web Devlopment presentation css.pptraghavanp4
CSS is a style sheet language used to determine the formatting of HTML documents. It separates the presentation of HTML elements from the document's structure and semantics. The key benefits of CSS include separation of concerns, cascade of rules, specificity of selector types, and the ability to control layout, colors, fonts and other stylistic aspects of HTML documents. The document provides an overview of CSS fundamentals including the anatomy of style sheets, applying styles via selectors, shorthand properties, and specificity which determines which styles get applied based on an element's selector types and order of rules.
This document provides an overview of CSS3 modules including Backgrounds and Borders, Multi-column Layout, Selectors, Grid Positioning, and Media Queries. It discusses new CSS3 features like advanced border properties, multi-column page layout without additional markup, more robust selector options, grid-based page layout, and media query enhancements. Examples are given to illustrate how these features can be used. Resources for learning more about CSS3 are also listed.
The document introduces Web Components and promotes trying them. It provides examples of Web Components like <x-calendar> and <x-flipbox> that can be used to build reusable custom elements. It also describes how to create a Web Component using Polymer and shows an example <x-like> component for liking posts. The document encourages developing with Web Components as it makes front-end development more fun and modular.
The document provides an introduction to HTML elements, tags, and attributes. It discusses common HTML elements like paragraphs, headings, and line breaks. It explains how to use opening and closing tags to define elements in an HTML document. Attributes are described which can customize elements, such as align attributes to control text alignment. The document also gives examples of how to code basic HTML elements and attributes.
The document provides information on HTML tags and elements for creating web pages. It discusses common tags like <p> for paragraphs, <h1>-<h6> for headings, and <body> for the content container. It also covers basic HTML structure with <html>, <head>, and <body> tags. Attributes are described along with examples for aligning, styling and providing additional information for elements. Different lists like ordered, unordered and definition lists are explained with <ol>, <ul> and <dl> tags.
The document discusses Jinja2 templating in Python. It begins with an overview and agenda, then provides examples of Jinja basics like rendering templates with variables. It also demonstrates rendering templates to files, using template inheritance and macros. Finally, it shows how to integrate Jinja templates with Flask by rendering templates from view functions and adding filters. Code samples are included throughout to illustrate key concepts.
Web Developement Workshop (Oct 2009) SlidesManish Sinha
This document provides an overview of web development technologies including HTML, CSS, PHP, MySQL, and forms. It includes brief introductions and code snippets for each topic. Key points covered are basic HTML tags and structure, CSS styling, SQL commands for managing a MySQL database, PHP syntax and functions, and using forms to pass data between pages. Contact information is also provided for three web developers.
The document describes several templating languages and preprocessors for HTML, CSS, and front-end development including Haml, Jade, LESS, SASS, and Bourbon. It provides code examples to demonstrate features like variables, nesting, mixins, imports and more. These tools can be used to make HTML, CSS, and template files more concise, reusable and maintainable.
This document summarizes a presentation about the Dart programming language. It discusses Dart's design as a structured, flexible and familiar language for developing web and mobile apps. Dart compiles to JavaScript and runs on modern browsers as well as its own VM. It has a large standard library and tools like an IDE, package manager, and documentation generator to support development. Examples show how Dart addresses issues like callbacks and its support for asynchronous programming. The presentation concludes that Dart has the potential to change application development by providing an alternative to JavaScript and other languages.
1) The document provides resources for a front-end development session including working files, slides, and an agenda.
2) It reviews HTML tags, CSS selectors, the box model, positioning, and Flexbox.
3) Instructions are given to install Atom plugins and review JavaScript and JQuery before adding an Express server to a webpage.
Start your app the better way with Styled SystemHsin-Hao Tang
The document introduces Styled System, a library that provides utility functions for styling React components in a consistent and mobile-first way. It allows creating component styles with concise code through functions that map prop values to CSS properties. Styled System also supports defining global themes and component variants to customize styles. Responsive designs can be implemented with an array syntax for breakpoints. Overall, Styled System promotes consistency, reusability and ease of customization for component library styles.
The document provides information on various CSS techniques for styling web pages, including:
- Three methods for inserting stylesheets: external, internal, and inline stylesheets.
- Selectors like id, class, and element selectors for applying styles.
- Properties for styling various page elements like text, backgrounds, links, tables, and lists.
- New CSS3 features like rounded corners, drop shadows, multi-column layouts, transitions, animations and custom fonts.
- Examples are given for many of the properties to demonstrate their usage.
An Introduction to Cascading Style Sheets (CSS3)Ardee Aram
Cascading Style Sheets (CSS) allow separation of document structure (HTML) from presentation (CSS). CSS controls how HTML elements are displayed on screen, paper, or other media. CSS works by applying styles, such as font, color, and size, to HTML elements. The cascade determines which styles are applied based on specificity and source order. CSS properties modify text, color, background, borders, boxes, positioning, and other attributes of HTML elements.
CSS101 - Concept Fundamentals for non UI DevelopersDarren Gideon
The document provides an overview of CSS concepts and fundamentals for developers. It discusses what CSS is, its advantages like separation of content from presentation and accessibility, as well as limitations such as lack of flexible layout controls. Important CSS concepts covered include selectors, the cascade, inheritance, and positioning properties. The document is intended to explain the core concepts developers need to know about CSS.
This document discusses CSS selectors and the box model. It covers simple selectors based on name, id, class, and relationship between elements. Combinator selectors are described for selecting descendant and child elements. Pseudo-classes and pseudo-elements are explained for selecting elements based on states or style parts of elements. The box model is summarized as defining the width, height, padding, borders, and margins of elements. Display properties are covered for controlling layout, including common block and inline elements as well as overriding defaults.
The document provides an overview of CSS (Cascading Style Sheets) methodology. It defines CSS as the language used for implementing designs on HTML documents. It then covers CSS basics including selectors, properties, conflicts resolution using specificity and cascade order. It also discusses the box model which defines how browsers handle rectangular boxes for elements. Finally, it offers some best practices tips such as resetting styles, separating content from design, and planning layout during HTML coding.
The document discusses a scalable and modular architecture for CSS that involves categorizing styles into base, layout, module, and state categories. This approach helps make CSS more flexible, maintainable, and avoids overly specific selectors. Key aspects include naming conventions, limiting the depth of styles, and using child selectors. An example of a "media object" pattern is provided to demonstrate how abstracting styles into reusable modules can significantly reduce code. While this approach goes against some conventional wisdom, it separates structure and skin while promoting reusability.
The document discusses the future of CSS layout mechanisms. It describes several proposed CSS modules for layout, including Grid Positioning, Flexible Box, and Template Layout. Each provides advantages for creating explicit grids and separating presentation from structure. The document highlights how these new layout capabilities could improve web design and development by establishing CSS as the framework. It concludes by encouraging learning more and getting involved in the ongoing CSS layout standards work.
CSS (Cascading Style Sheets) allows separation of document content from document presentation and behavior. CSS handles the look and formatting of a document and is effective for maintaining a consistent appearance across multiple web pages. CSS declarations apply styles to HTML elements and are organized in a cascade by importance, origin, specificity, and source order to determine which styles get applied.
Front-end methodologies discusses common solutions like SMACSS and ITCSS for organizing CSS code into reusable, maintainable components. It also covers approaches like OOCSS, BEM, and CSS Modules. CSS Modules in particular scopes class names to prevent collisions and makes extending classes problematic.
HTML Web Devlopment presentation css.pptraghavanp4
CSS is a style sheet language used to determine the formatting of HTML documents. It separates the presentation of HTML elements from the document's structure and semantics. The key benefits of CSS include separation of concerns, cascade of rules, specificity of selector types, and the ability to control layout, colors, fonts and other stylistic aspects of HTML documents. The document provides an overview of CSS fundamentals including the anatomy of style sheets, applying styles via selectors, shorthand properties, and specificity which determines which styles get applied based on an element's selector types and order of rules.
CSS is a style sheet language used to determine the formatting of HTML documents. It separates the presentation of HTML elements from the document's structure and semantics. The key benefits of CSS include separation of concerns, cascade of rules, specificity of selector types, and the ability to control layout, colors, fonts and other stylistic aspects of HTML documents. The document provides an overview of CSS fundamentals including the anatomy of style sheets, how rules are applied based on selector types and specificity, and formatting techniques.
CSS is a style sheet language used to determine the formatting of HTML documents. It separates the presentation of HTML elements from the document's structure and semantics. The key benefits of CSS include separation of concerns, cascading style sheets, and selector-based rules. CSS fundamentals include the anatomy of style sheets with selectors, declarations, and properties. Specificity rules determine which styles take precedence when multiple selectors apply to an element.
CSS Grid provides a two-dimensional grid system for page layout, allowing elements to be positioned in rows and columns. Some key advantages of CSS Grid include having full control over page layout without needing additional HTML containers, and the ability to easily create complex column-based and row-based layouts. CSS Grid terminology includes grid container, grid items, grid lines, grid cells, tracks and areas. Properties like grid-template-columns, grid-template-rows and grid-area can be used to define the grid structure and position items.
This document provides an overview of Cascading Style Sheets (CSS) including what CSS is, how it works, the different sources of styles, CSS selectors, properties, positioning, and inheritance. CSS allows separation of document content from page layout and styles, making web page design and maintenance easier. Styles defined in CSS rules cascade from broad to specific and can come from author styles, user stylesheets, or browser defaults.
This document provides an overview of Cascading Style Sheets (CSS) in 3 sections:
1. It introduces CSS and its uses for controlling layout and styling across multiple web pages. External CSS files allow changing the look of an entire website by editing just one file.
2. Various CSS selectors are described for selecting HTML elements based on name, id, class and other attributes. Common selectors include the element, id, class, and grouping selectors.
3. Different CSS properties are outlined for styling text, colors, backgrounds, borders, padding, margins and other element features. Examples are given for setting colors, images, sizes and other styles using CSS.
When it comes to building responsive web layouts we’ve used tables, floats and Flexbox. Now there’s CSS Grid. In this talk, we’ll go over what differentiates it from other techniques and why it’s completely changing the game. Through code examples and demos, you’ll walk out of this talk able to start using Grid right away.
CSS (Cascading Style Sheets) allows separation of document content from page layout/presentation. CSS was introduced to make web page design and modification easier. CSS properties control elements like text formatting, page layout, and color/images. CSS rules cascade from broad to specific with author styles overriding browser defaults. Common selectors target elements by ID, class, tag name or relationship.
The document discusses different types of client-side scripts including Cascading Style Sheets (CSS), JavaScript, and Dynamic HTML (DHTML). It explains how CSS can be used to style web pages through internal, external, and inline styling. Common CSS properties for styling backgrounds, text, and other elements are also described.
Decormart Studio is widely recognized as one of the best interior designers in Bangalore, known for their exceptional design expertise and ability to create stunning, functional spaces. With a strong focus on client preferences and timely project delivery, Decormart Studio has built a solid reputation for their innovative and personalized approach to interior design.
Revolutionizing the Digital Landscape: Web Development Companies in Indiaamrsoftec1
Discover unparalleled creativity and technical prowess with India's leading web development companies. From custom solutions to e-commerce platforms, harness the expertise of skilled developers at competitive prices. Transform your digital presence, enhance the user experience, and propel your business to new heights with innovative solutions tailored to your needs, all from the heart of India's tech industry.
Practical eLearning Makeovers for EveryoneBianca Woods
Welcome to Practical eLearning Makeovers for Everyone. In this presentation, we’ll take a look at a bunch of easy-to-use visual design tips and tricks. And we’ll do this by using them to spruce up some eLearning screens that are in dire need of a new look.
PDF SubmissionDigital Marketing Institute in NoidaPoojaSaini954651
https://www.safalta.com/online-digital-marketing/advance-digital-marketing-training-in-noidaTop Digital Marketing Institute in Noida: Boost Your Career Fast
[3:29 am, 30/05/2024] +91 83818 43552: Safalta Digital Marketing Institute in Noida also provides advanced classes for individuals seeking to develop their expertise and skills in this field. These classes, led by industry experts with vast experience, focus on specific aspects of digital marketing such as advanced SEO strategies, sophisticated content creation techniques, and data-driven analytics.
Storytelling For The Web: Integrate Storytelling in your Design ProcessChiara Aliotta
In this slides I explain how I have used storytelling techniques to elevate websites and brands and create memorable user experiences. You can discover practical tips as I showcase the elements of good storytelling and its applied to some examples of diverse brands/projects..
Maximize Your Content with Beautiful Assets : Content & Asset for Landing Page pmgdscunsri
Figma is a cloud-based design tool widely used by designers for prototyping, UI/UX design, and real-time collaboration. With features such as precision pen tools, grid system, and reusable components, Figma makes it easy for teams to work together on design projects. Its flexibility and accessibility make Figma a top choice in the digital age.
Technoblade The Legacy of a Minecraft Legend.Techno Merch
Technoblade, born Alex on June 1, 1999, was a legendary Minecraft YouTuber known for his sharp wit and exceptional PvP skills. Starting his channel in 2013, he gained nearly 11 million subscribers. His private battle with metastatic sarcoma ended in June 2022, but his enduring legacy continues to inspire millions.
Architectural and constructions management experience since 2003 including 18 years located in UAE.
Coordinate and oversee all technical activities relating to architectural and construction projects,
including directing the design team, reviewing drafts and computer models, and approving design
changes.
Organize and typically develop, and review building plans, ensuring that a project meets all safety and
environmental standards.
Prepare feasibility studies, construction contracts, and tender documents with specifications and
tender analyses.
Consulting with clients, work on formulating equipment and labor cost estimates, ensuring a project
meets environmental, safety, structural, zoning, and aesthetic standards.
Monitoring the progress of a project to assess whether or not it is in compliance with building plans
and project deadlines.
Attention to detail, exceptional time management, and strong problem-solving and communication
skills are required for this role.
7. Scalable and Modular
Architecture for CSS
1. Style guide, not framework
2. Strike a balance between maintenance,
performance, and readability
3. Easier to test, develop, and scale
SMACSS
11. Base
* Single elements
* Attribute selectors, pseudo-class..
* No need to use !important
* CSS Resets
html, body, form { margin: 0; padding: 0; }
input[type=text] { border: 1px solid #999; }
a { color: #039; }
a:hover { color: #03C; }
12. Layout
* Divide the page into sections
* One or more modules together
* Major layout use ID selectors, but ID selectors aren’t
necessary
* Minor or common layout use class selectors
#header, #article, #footer {
width: 960px;
margin: auto;
}
#article {
border: solid #CCC;
border-width: 1px 0 0;
}
16. A Possible Approach to Styling the
List of Featured Items
div#featured ul {
margin: 0;
padding: 0;
list-style-type: none;
}
div#featured li {
float: left;
height: 100px;
margin-left: 10px;
}
.l-grid {
margin: 0;
padding: 0;
list-style-type: none;
}
.l-grid > li {
display: inline-block;
margin: 0 0 10px 10px;
}
What’s the difference ?
17. Module rules
* a standalone component
* e.g navigation bars, carousels, dialogs..
* Avoid using IDs and element selectors, use class
names only
* Specificity
.module > h2 {
padding: 5px;
}
.module span {
padding: 5px;
}
[Notice] : Use child or descendant selectors if predictable
18. Styling with Generic Element
<div class="fld">
<span>Folder Name</span>
</div>
.fld > span {
padding-left: 20px;
background: url(icon.png);
}
24. Sub-module Class Name in HTML
<div class="pod pod-constrained">...</div>
<div class="pod pod-callout">...</div>
* Load base first, then overwriting by sub-class
25. State
* JavaScript dependency
* Apply to layout and/or module styles
* How our modules or layouts will look
when in a particular state
* Use of !important is allowed
26. State applied to an element
<div id="header" class="is-collapsed">
<form>
<div class="msg is-error">
There is an error!
</div>
<label
for="searchbox"
class="is-hidden">
Search
</label>
<input type="search" id="searchbox">
</form>
</div>
27. Combining State Rules
with Modules
.tab {
background-color: purple;
color: white;
}
.is-tab-active {
background-color: white;
color: black;
}
28. Theme
* Aren’t used as often
* Fonts
* Based on locale such as
country or language
/* in theme.css */
.theme-border {
border-color: purple;
}
.theme-background {
background: linear-gradient( ... );
}
29. State changes
* Class name
* Change happens with
JavaScript
* Pseudo-class:
* Don't use by javascript,
limited in elements that are
descendants or siblings of the
element
* Media query
30. JavaScript changing state
via class name
$('.btn-close').click(function(){
$(this).parents('.dialog').addClass('is-
hidden');
})
31. Loading Menu with jQuery
$('#btn-new').click(function(){
var el = $(this);
el.addClass('is-pressed');
$('#menu-' +
el.id.substr(4)).removeClass('is-hidden');
});
32. Adding a Class to Parent Element
to Style Child Elements
<div id="content">
<div class="toolbar is-active">
<button id="btn-new" class="btn"
data-action="menu">New</button>
<div id="menu-new" class="menu">
<ul> ... </ul>
</div>
</div>
</div>
.is-active .btn { color: #000; }
.is-active .menu { display: block; }
33. Activating the Menu
with a Sibling Selector
<div id="content">
<div class="toolbar">
<button
id="btn-new"
class="btn is-active"
data-action="menu">
New
</button>
<div id="menu-new" class="menu">
<ul> ... </ul>
</div>
</div>
</div>
.btn.is-active { color: #000; }
.btn.is-active + .menu { display: block; }
34. Why Parent and Sibling States
are Problematic
* Applying a state to each module is that it is no longer
clear where this rule set should go
* Applying a state to each button is the preferred
approach
35. Handling State Change with
Attribute Selectors
* Isolating states from layout and module classes
* Allowing easier transitions between multiple states
41. Modular Media Queries
/* default state for nav items */
.nav > li {
float: left;
}
/* alternate state for nav items on small screens
*/
@media screen and (max-width: 400px) {
.nav > li { float: none; }
}
45. Depth of Applicability
#sidebar div, #footer div {
border: 1px solid #333;
}
#sidebar div h3, #footer div h3 {
margin-top: 5px;
}
#sidebar div ul, #footer div ul {
margin-bottom: 5px;
}
* Minimizing the Depth
* e.g body.article > #main > #content > #intro > p > b
* e.g .article #intro b
.pod {
border: 1px solid #333;
}
.pod > h3 {
margin-top: 5px;
}
.pod > ul {
margin-bottom: 5px;
}
46. How CSS Gets Evaluated
body div#content p { color: #003366; }
* Evaluated on element creation (CSS flow)
* Evaluated from right to left
47. Which is Inefficient
* Rules with descendant selectors
* e.g. #content h3
* Rules with child or adjacent selectors
* e.g. #content > h3
* Rules with overly qualified selectors
* e.g. div#content > h3
* Rules that apply :hover to non-link elements.
* e.g. div#content:hover
49. Constrain yourself,
don’t choke yourself
* Use child selectors
* Avoid tag selectors for common elements
* Use class names as the right-most selector
50. HTML5 and SMACSS
* Increase the semantic value of a section of HTML and
content
52. Add Dropdown to Every Element
<nav class="nav-primary">
<h1>Primary Navigation</h1>
<ul>
<li>About Us
<ul>
<li>Team</li>
<li>Location</li>
</ul>
</li>
</ul>
</nav>