This document provides an introduction to the BEM (Block, Element, Modifier) methodology for organizing HTML, CSS, and JavaScript code in a consistent semantic structure. It explains that BEM aims to address the lack of a unified semantic model across frontend technologies by introducing a common naming convention based on blocks, elements, and modifiers. It then details BEM's core concepts and provides examples and best practices for implementing BEM in HTML/CSS and JavaScript.
This document provides an introduction to the BEM (Block, Element, Modifier) methodology for organizing HTML, CSS, and JavaScript code in a consistent and modular way. It explains the basic concepts of BEM including blocks, elements, and modifiers. It also discusses how to implement BEM through CSS naming conventions and provides examples. Best practices for using BEM with HTML, CSS, JavaScript, file structure, and build processes are covered. The goal of BEM is to provide a common semantic framework for building user interfaces and managing front-end code.
An in depth introduction to the BEM methodology and how to use it in the wild. The slides cover the key concepts of Block-Element-Modifier as well as their usage in HTML and CSS. Furthermore the presentation covers on how BEM can solve well-known CSS challenges.
This document provides tips for best practices when writing CSS code. It recommends avoiding inline styles, header styles, multiple CSS files, and !important. It also recommends using shorthand properties, avoiding universal selectors and IDs when possible, optimizing images, and using CSS3 properties instead of images. In summary, the document outlines techniques for writing efficient, well-structured CSS code to improve performance and maintainability.
Advanced CSS
by: Alexandra Vlachakis
Sandy Creek High School, Fayette County Schools
Slide Show correlates Georgia Deparment of Edcuation Career and Technology PATHWAY: Interactive Media
COURSE: Advanced Web Design
UNIT 6: BCS-AWD-6 Advanced CSS
http://inarocket.com
Learn BEM fundamentals as fast as possible. What is BEM (Block, element, modifier), BEM syntax, how it works with a real example, etc.
BEM is a naming convention that makes front-end code easier to understand and maintain. It stands for Block, Element, Modifier. A Block is a standalone component, an Element is a dependent part of a Block, and a Modifier changes the appearance or behavior of a Block or Element. BEM has simple rules for naming classes with prefixes and separators to identify each part. Applying BEM helps code be modular, flexible, and support partial loading. It also works well with component-based frameworks like React and Vue. Real-life examples from Blibli Travel and a sample framework demonstrate how to implement BEM.
This document introduces Sass (Syntactically Awesome Style Sheets), a CSS preprocessor. Sass allows writing clean CSS in a programming construct rather than static rules, reducing repetition and creating more manageable stylesheets. It features variables, nesting, mixins, partials, and inheritance. Installing Sass involves downloading Ruby and using the gem install command. Key benefits of Sass include writing cleaner CSS, faster development time, and programmatic features like variables and nesting.
How do you scale CSS for millions of visitors or thousands of pages? The slides from Nicole's presentation at Web Directions North in Denver will show you how to use Object Oriented CSS to write fast, maintainable, standards-based front end code. Adds much needed predictability to CSS so that even beginners can participate in writing beautiful, standards-compliant, fast websites.
Here is a small presentation on an important css3 layout property -flexbox, which renders a sense of predictability to the items assigned this property across all screen size.
This document discusses object-oriented CSS (OOCSS) as an evolution of CSS that makes it more powerful. OOCSS involves creating reusable CSS objects rather than page-specific rules, setting good global defaults, abstracting reusable elements, separating container and content, and using multiple classes to simulate inheritance. This allows for more scalable, maintainable and performant CSS code. Some best practices of OOCSS include creating semantic object classes like .heading rather than styling specific elements directly. The document provides examples of OOCSS principles and their benefits.
1. CSS (Cascading Style Sheets) is a language used to define the style and layout of web pages. CSS can be applied internally, inline, or through external style sheets.
2. There are different types of CSS selectors including tag selectors, ID selectors, and class selectors that allow styles to be applied to specific HTML elements. Common CSS properties define colors, fonts, spacing, and layout.
3. CSS3 introduces newer specifications like rounded corners, shadows, gradients, transitions, and transformations that expand on the original CSS standards. Features like custom fonts, multi-column layout, flexible box and grid layouts add additional styling capabilities.
This document summarizes CSS Grid Layout, a new two-dimensional grid system being added to CSS. It discusses some of the limitations of existing CSS layout methods and how Grid Layout addresses them. Key points include: Grid Layout uses line-based placement to position items, grid tracks can be flexible or fixed widths, areas can be explicitly or implicitly named, and the system avoids hacks and limitations of previous methods.
CSS preprocessors allow developers to write CSS in a more efficient way by using features like variables, nesting, mixins and imports. This avoids duplicate code and keeps the CSS clean and readable. The most popular preprocessors are Sass, LESS and Stylus, each with their own programming language basis and similar but varying feature sets. Preprocessors make CSS development more productive and help manage cross-browser compatibility issues.
This document discusses CSS style sheets and selectors. It begins with an introduction to CSS and its uses. It then covers CSS syntax, the different ways to insert CSS (inline, internal, external), and different types of selectors (element, id, class). Examples are provided for each topic. The document concludes with an assignment to create a webpage about movies using various CSS selectors and techniques learned in the document.
This document discusses responsive web design using CSS3 media queries. It begins with an introduction to media queries and their syntax for modifying CSS based on screen width. It then covers examples of adapting layouts, images, and other design elements for different screen sizes. Finally, it addresses techniques for supporting older browsers that do not support media queries, such as using conditional comments or JavaScript libraries.
The document discusses the benefits of using Block Element Modifier (BEM) methodology for CSS architecture. It begins with an introduction to BEM, explaining the concepts of blocks, elements, and modifiers. It then discusses some of the practical benefits of BEM such as reducing CSS specificity issues, improving decoupling of HTML and CSS, and enabling automation through predictable class naming. It addresses some potential criticisms of BEM like long class names but argues that BEM can be used effectively on projects of any size. Finally it shares some BEM tools and techniques including approaches for handling multiple modifiers on a single element.
Dokumen tersebut membahas tentang specificity dalam CSS, yaitu berat setiap deklarasi CSS yang menentukan seberapa spesifik suatu elemen dapat dipilih oleh selector. Selector dengan ID (#) paling spesifik, diikuti class (.), element, dan inline. Specificity dapat ditingkatkan dengan menambahkan ID, class, atau elemen agar selector lebih spesifik.
CSS stands for Cascading Style Sheets
Styles define how to display HTML elements
External Style Sheets can save a lot of work
Styles are normally saved in external .css files. External style sheets enable you to change the appearance and layout of all the pages in a Web site, just by editing one single file!
This document provides an overview of HTML and CSS topics including:
- A brief history of HTML and CSS standards from 1990 to present.
- Descriptions of common HTML elements like <body>, <head>, <img>, <a>, and lists.
- Explanations of CSS concepts like selectors, properties, units, positioning, and layout fundamentals.
- Details on CSS topics like the box model, centering content, semantic HTML, and flexbox.
The document serves as a course outline or reference for learning HTML and CSS fundamentals.
Bootstrap is an open-source front-end framework that helps developers design responsive mobile-first websites easily. It provides pre-built UI components like buttons, navigation bars, and grids for building layouts. The document discusses Bootstrap's introduction, file structure, grid system, responsive design features, and common layout components like dropdown menus and button groups.
this presentation covers the following topics which are as follows
1. Introduction of css
2. History of css
3. Types of css styling
4. Css syntax
5. Css Selector
6. Css Variations Or Css Versions
SASS is a preprocessor scripting language that makes CSS more powerful, efficient, and reusable. It allows for variables, nested rules, mixins, inheritance, and other features to help avoid repetitive CSS and make stylesheets more maintainable. SASS files use either the indented SASS or SCSS syntax and compile to normal CSS. SASS is commonly used in Rails projects but can be used in any web project to improve the CSS authoring process.
All matter, no matter how complex, can be broken down into molecules which can be broken down further into atomic elements. All web interfaces can be broken down down the same way. Atomic Design provides a methodology for building an effective design system. It consists of five distint stages: atoms, molecules, organisms, templates and pages.
Save 10% off ANY FITC event with discount code 'slideshare'
See our upcoming events at www.fitc.ca
If you’re working on a large project with a lot of hands in the CSS pot, then your CSS may be doomed to code bloat failure. Scalable and modular CSS architectures and approaches are the new hotness and rightfully so. They provide sanity, predictably and scalability in a potentially crazy coding world. This session will give an overview of some the most popular approaches, including OOCSS, SMACSS, CSS for Grownups, and DRY CSS as well as discussing some general principles for keeping your CSS clean, optimized, and easy to maintain.
http://inarocket.com
Learn BEM fundamentals as fast as possible. What is BEM (Block, element, modifier), BEM syntax, how it works with a real example, etc.
BEM is a naming convention that makes front-end code easier to understand and maintain. It stands for Block, Element, Modifier. A Block is a standalone component, an Element is a dependent part of a Block, and a Modifier changes the appearance or behavior of a Block or Element. BEM has simple rules for naming classes with prefixes and separators to identify each part. Applying BEM helps code be modular, flexible, and support partial loading. It also works well with component-based frameworks like React and Vue. Real-life examples from Blibli Travel and a sample framework demonstrate how to implement BEM.
This document introduces Sass (Syntactically Awesome Style Sheets), a CSS preprocessor. Sass allows writing clean CSS in a programming construct rather than static rules, reducing repetition and creating more manageable stylesheets. It features variables, nesting, mixins, partials, and inheritance. Installing Sass involves downloading Ruby and using the gem install command. Key benefits of Sass include writing cleaner CSS, faster development time, and programmatic features like variables and nesting.
How do you scale CSS for millions of visitors or thousands of pages? The slides from Nicole's presentation at Web Directions North in Denver will show you how to use Object Oriented CSS to write fast, maintainable, standards-based front end code. Adds much needed predictability to CSS so that even beginners can participate in writing beautiful, standards-compliant, fast websites.
Here is a small presentation on an important css3 layout property -flexbox, which renders a sense of predictability to the items assigned this property across all screen size.
This document discusses object-oriented CSS (OOCSS) as an evolution of CSS that makes it more powerful. OOCSS involves creating reusable CSS objects rather than page-specific rules, setting good global defaults, abstracting reusable elements, separating container and content, and using multiple classes to simulate inheritance. This allows for more scalable, maintainable and performant CSS code. Some best practices of OOCSS include creating semantic object classes like .heading rather than styling specific elements directly. The document provides examples of OOCSS principles and their benefits.
1. CSS (Cascading Style Sheets) is a language used to define the style and layout of web pages. CSS can be applied internally, inline, or through external style sheets.
2. There are different types of CSS selectors including tag selectors, ID selectors, and class selectors that allow styles to be applied to specific HTML elements. Common CSS properties define colors, fonts, spacing, and layout.
3. CSS3 introduces newer specifications like rounded corners, shadows, gradients, transitions, and transformations that expand on the original CSS standards. Features like custom fonts, multi-column layout, flexible box and grid layouts add additional styling capabilities.
This document summarizes CSS Grid Layout, a new two-dimensional grid system being added to CSS. It discusses some of the limitations of existing CSS layout methods and how Grid Layout addresses them. Key points include: Grid Layout uses line-based placement to position items, grid tracks can be flexible or fixed widths, areas can be explicitly or implicitly named, and the system avoids hacks and limitations of previous methods.
CSS preprocessors allow developers to write CSS in a more efficient way by using features like variables, nesting, mixins and imports. This avoids duplicate code and keeps the CSS clean and readable. The most popular preprocessors are Sass, LESS and Stylus, each with their own programming language basis and similar but varying feature sets. Preprocessors make CSS development more productive and help manage cross-browser compatibility issues.
This document discusses CSS style sheets and selectors. It begins with an introduction to CSS and its uses. It then covers CSS syntax, the different ways to insert CSS (inline, internal, external), and different types of selectors (element, id, class). Examples are provided for each topic. The document concludes with an assignment to create a webpage about movies using various CSS selectors and techniques learned in the document.
This document discusses responsive web design using CSS3 media queries. It begins with an introduction to media queries and their syntax for modifying CSS based on screen width. It then covers examples of adapting layouts, images, and other design elements for different screen sizes. Finally, it addresses techniques for supporting older browsers that do not support media queries, such as using conditional comments or JavaScript libraries.
The document discusses the benefits of using Block Element Modifier (BEM) methodology for CSS architecture. It begins with an introduction to BEM, explaining the concepts of blocks, elements, and modifiers. It then discusses some of the practical benefits of BEM such as reducing CSS specificity issues, improving decoupling of HTML and CSS, and enabling automation through predictable class naming. It addresses some potential criticisms of BEM like long class names but argues that BEM can be used effectively on projects of any size. Finally it shares some BEM tools and techniques including approaches for handling multiple modifiers on a single element.
Dokumen tersebut membahas tentang specificity dalam CSS, yaitu berat setiap deklarasi CSS yang menentukan seberapa spesifik suatu elemen dapat dipilih oleh selector. Selector dengan ID (#) paling spesifik, diikuti class (.), element, dan inline. Specificity dapat ditingkatkan dengan menambahkan ID, class, atau elemen agar selector lebih spesifik.
CSS stands for Cascading Style Sheets
Styles define how to display HTML elements
External Style Sheets can save a lot of work
Styles are normally saved in external .css files. External style sheets enable you to change the appearance and layout of all the pages in a Web site, just by editing one single file!
This document provides an overview of HTML and CSS topics including:
- A brief history of HTML and CSS standards from 1990 to present.
- Descriptions of common HTML elements like <body>, <head>, <img>, <a>, and lists.
- Explanations of CSS concepts like selectors, properties, units, positioning, and layout fundamentals.
- Details on CSS topics like the box model, centering content, semantic HTML, and flexbox.
The document serves as a course outline or reference for learning HTML and CSS fundamentals.
Bootstrap is an open-source front-end framework that helps developers design responsive mobile-first websites easily. It provides pre-built UI components like buttons, navigation bars, and grids for building layouts. The document discusses Bootstrap's introduction, file structure, grid system, responsive design features, and common layout components like dropdown menus and button groups.
this presentation covers the following topics which are as follows
1. Introduction of css
2. History of css
3. Types of css styling
4. Css syntax
5. Css Selector
6. Css Variations Or Css Versions
SASS is a preprocessor scripting language that makes CSS more powerful, efficient, and reusable. It allows for variables, nested rules, mixins, inheritance, and other features to help avoid repetitive CSS and make stylesheets more maintainable. SASS files use either the indented SASS or SCSS syntax and compile to normal CSS. SASS is commonly used in Rails projects but can be used in any web project to improve the CSS authoring process.
All matter, no matter how complex, can be broken down into molecules which can be broken down further into atomic elements. All web interfaces can be broken down down the same way. Atomic Design provides a methodology for building an effective design system. It consists of five distint stages: atoms, molecules, organisms, templates and pages.
Save 10% off ANY FITC event with discount code 'slideshare'
See our upcoming events at www.fitc.ca
If you’re working on a large project with a lot of hands in the CSS pot, then your CSS may be doomed to code bloat failure. Scalable and modular CSS architectures and approaches are the new hotness and rightfully so. They provide sanity, predictably and scalability in a potentially crazy coding world. This session will give an overview of some the most popular approaches, including OOCSS, SMACSS, CSS for Grownups, and DRY CSS as well as discussing some general principles for keeping your CSS clean, optimized, and easy to maintain.
This document provides an introduction to Cascading Style Sheets (CSS). It explains that CSS is used to describe the presentation and formatting of HTML documents, separating content from presentation. It describes various CSS concepts like selectors, declarations, properties, values, and the CSS cascade. It also covers linking CSS to HTML through inline, embedded and external stylesheets and provides examples of each.
The document provides an introduction to HTML basics including HTML document structure, common tags, and formatting. It discusses the <!DOCTYPE> declaration, <head> and <body> sections, common text formatting tags, headings, paragraphs, comments, and includes code examples.
Creating a Simple, Accessible On/Off SwitchRuss Weakley
Have you ever tried to style checkboxes or radio buttons and ended up pulling your hair out? This presentation will explore a few simple tricks that can be used to style checkboxes and radio buttons. In this case, we will make them look like an on/off switch.
HTML (Hypertext Markup Language) is used to define the structure and layout of web pages using a variety of tags and attributes. Some key points covered are:
- HTML documents use tags like <html> enclosed in angle brackets to describe headings, paragraphs, links, images, and other content.
- Tags normally come in pairs with opening and closing tags.
- HTML can be used to format text, add images and tables, create lists and forms, structure pages using divs and frames, and more.
- CSS (Cascading Style Sheets) is often used to define styles and layouts, separate from HTML content.
- Forms allow users to enter data through
Extended slides from a recent Sydney Port80 presentation. The slides cover three overall topics: 1) a quick timeline of CSS-related events, 2) key events that changed CSS and 3) a discussion on writing better CSS.
The Great State of Design with CSS Grid Layout and FriendsStacy Kvernmo
This document discusses the importance of doing work that you love and believe is great. It includes a quote from Steve Jobs about finding truly satisfying work by doing what you believe is great work and loving what you do. The rest of the document provides examples of challenges, questions, and discussions that commonly come up for designers in their work.
Introduction to Cascading Style Sheets (CSS)Chris Poteet
This document provides an introduction to Cascading Style Sheets (CSS) including definitions, why CSS is used, the cascade, inheritance, using style sheets, CSS syntax, selectors, the box model, CSS and the semantic web, browser acceptance, fonts, units, colors, layouts, text formatting, backgrounds, lists, shorthand properties, accessibility, and resources for further information.
This document discusses CSS methodologies OOCSS and SMACSS. It begins by explaining some common problems with CSS organization like specificity issues and messy code. It then introduces several CSS architectures like OOCSS, SMACSS, BEM, and others. OOCSS is described as making websites like LEGO blocks out of reusable CSS objects. SMACSS categorizes CSS into five main groups: base, layout, module, state, and theme. The document provides examples and resources for learning more about applying OOCSS and SMACSS principles to build modular and scalable CSS.
The document provides an overview of installing PHP on Windows systems. It discusses choosing between the Windows InstallShield method (for beginners) or manual binary installation. The InstallShield process is demonstrated step-by-step using IIS as an example, covering downloading, choosing options, file extensions, and testing. The manual method requires copying files, setting permissions, and configuring the web server by adding application mappings in IIS. Examples demonstrate including header and footer files to create templates.
CSS in React - The Good, The Bad, and The UglyJoe Seifi
Overview of 5 frameworks to style JavaScript applications written in React including Radium, Aphrodite, CSS Modules, Styletron, and Styled Components with a Cheat Sheet of their features
about this presentation:
1) this presentation was a quickie for non-tech employees, who wanted a basic understanding of html/css, as it related to a white-label SAAS product;
2) the back-end/front-end definitions relate to the specific application (it's inaccurate if node.js is in the picture)
Accessible custom radio buttons and checkboxesRuss Weakley
Creating custom-designed radio buttons and checkboxes has never been easy. Many developers have found ways of hacking these elements using CSS and JavaScript. but can they also be accessible. The answer is yes, with a little extra effort. This presentation will walk through some simple examples to show how radio buttons and checkboxes can be semantic as well as keyboard/screen-reader accessible.
This document discusses using SMACSS (Semantic and Scalable Architecture for CSS) principles when converting a PSD design file into a Drupal theme. It recommends first sketching out design components, then creating a library of basic styles according to SMACSS conventions like base, layout, and component rules. The new process is to adjust Drupal class names to match component style names, look for bugs, and refactor components to match the design. The benefits are separating components into their own files and building the site according to identified components before applying styles in Drupal.
OOCSS in the Real World: A Case Study from the CBCJamie Strachan
This session is a look at the process we went through at the CBC to overhaul our site’s front-end and bring in OOCSS practices. I discuss what OOCSS is and the benefits it offers. You’ll learn about the biggest challenges we faced and how we overcame them (or at least hacked our way through) and you’ll come away with practical ideas about how to embark on your own OOCSS adventure.
Originally presented at FITC Screens 2013.
OOCSS (Object Oriented CSS) is a methodology for writing scalable and reusable CSS code. It involves separating CSS into modular blocks or "lego blocks" that can be mixed and matched to build pages. This avoids CSS bloat and makes the code more flexible and maintainable. Key principles include separating container styles from content, using classes instead of element names, making elements extensible with grids, and building pages from the available CSS components.
OOCSS in the Real World: A Case Study from the CBC - RevisitedJamie Strachan
CBC.ca is one of the biggest and most popular sites in Canada and our team was tasked with overhauling the front-end to improve our site speed and development process.
I'll share the process we went through and highlight the benefits and challenges of moving to OOCSS so you'll be better prepared to do the same.
From this session, you'll learn:
- the key advantages of OOCSS as well as its drawbacks
- how to rebuild an existing site using OOCSS
- how a CSS preprocessor can work with OOCSS
- what has happened in the 12 months since we launched
Originally presented at CSS Dev Conf 2014.
CSMess to OOCSS: Refactoring CSS with Object Oriented DesignKate Travers
Ask any web developer: the most neglected part of their site/app is likely its CSS. Unlike other parts of the stack, most CSS is messy, complex, and long overdue for a rewrite. But it doesn’t have to be. Break out of these bad patterns by applying an object oriented CSS framework (OOCSS).
This talk will step through the process of designing, building, and implementing a custom OOCSS framework for a mid-sized web application, outlining the basic methodology, best practices, and expected outcomes, which include significant gains in both front-end performance as well as developer productivity.
Written transcript:
http://blog.kate-travers.com/how-oo-design-saved-our-css-and-site-performance/
OOCSS for JavaScript Pirates jQcon BostonJohn Hann
OCSS is an approach to CSS that focuses on maximizing reuse through separation of concerns. It advocates separating container styles from content and structure styles from skin/presentation styles. OCSS objects consist of HTML, CSS rules, and JavaScript behavior associated via a class name. Classes can inherit styles and states from other classes. The approach aims to create loosely coupled, maintainable CSS through principles like reuse, separation of concerns, and object-oriented modeling of components.
OOCSS for Javascript pirates at jQueryPgh meetupBrian Cavalier
oocss for javascript pirates provides an overview of object-oriented CSS (OOCSS) principles and how they can be applied when developing with JavaScript. OOCSS focuses on separating container and content, structure and skin, and identity versus state. It emphasizes maximizing CSS reuse and creating maintainable, concise styles. JavaScript developers can benefit from OOCSS's loose coupling of components and separation of concerns between CSS/HTML and JavaScript code. The document demonstrates how to identify OOCSS objects and implement identity and state CSS classes to control visual states from JavaScript.
The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}Eric Carlisle
The document discusses a presentation on using Flexbox, SASS, and Mustache templating for building user interfaces. The presentation covers general best practices, using SASS for variables, nesting, mixins and extends, Flexbox for responsive design, and Mustache templating. The presenter is Eric Carlisle, a UI/UX architect who will demonstrate coding techniques with these tools.
This document discusses best practices for creating CSS pattern libraries. It recommends starting with the smallest reusable components and building up to larger page-level templates. Key aspects covered include using a naming convention based on modules, modifiers and descendants; avoiding overly specific class names; and including utility classes to add single styles without new classes. The document also provides examples of how to structure and name classes for common interface patterns.
CSS workshop created for internal delivery @ OutSystems.
“For most people CSS is like a mystical art that nobody truly understands... Sometimes it works and sometimes it doesn’t (unexplainably) “.
Not solely introductory, but also covering more advanced topics, embark in this fantastic adventure that is CSS.
There you have it, all you must know about CSS in a NutShell.
See the videos of the workshop @ http://goo.gl/NJ3n6J
Workshop created by Marco Costa, Miguel Ventura and Rúben Gonçalves
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.
CSS frameworks provide standardized code to aid in website development. This document discusses two types of frameworks - frontend frameworks that affect the user interface, and backend frameworks that affect website logic and operation. It focuses on Flexbox and Unsemantic, two popular CSS frontend frameworks. Flexbox uses flex containers and items to lay out page sections in rows or columns. Unsemantic provides predefined grid classes to lay out content without custom CSS. The document provides code examples of using these frameworks to create a three-column layout with colored sections of varying sizes.
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.
This document discusses the 960 Grid System, a CSS framework that utilizes a 12-column grid layout with widths of 60px each and gutters of 20px. It can be used for rapid prototyping and integrated into production environments. The document provides code examples of typical grid layouts and nested grids. It also discusses related topics like fixed-width grids, grid generators, and myths around CSS best practices.
Created and designed by Google, Material Design is a design language that combines the classic principles of successful design along with innovation and technology. Google's goal is to develop a system of design that allows for a unified user experience across all their products on any platform. Supported Browser Chrome,Firefox, IE9+(icons IE10+).
Scalable CSS You and Your Back-End Coders Can Love - @CSSConf Asia 2014Christian Lilley
This document discusses strategies for making CSS more scalable and maintainable. It recommends automating CSS with preprocessors, using clear and descriptive class names, avoiding descendant selectors when possible, and minimizing unnecessary nesting and complexity. Pseudoselectors should only be used when other options aren't available. Overall, the document emphasizes writing CSS according to first principles of maintainability, predictability and avoiding premature optimization.
Tired of eating CSS soup day after day? No longer want to play stylesheet Jenga whenever you try to edit main.css? You just may need a CSS architecture. This talk will review the major CSS architectures like BEM (Block Element Modifier) and SMACSS (Scalable and Modular Architecture for CSS) while discussing the pros and cons of each.
This document discusses various techniques for page layout using CSS, including floats, absolute positioning, CSS tables, multi-column layout, grid positioning, and templates. It notes that CSS was not originally designed for complex page layouts and describes how newer CSS specifications aim to address this with features like grid positioning and templates that allow for semantic and flexible layouts without workarounds. Support across browsers is also discussed along with options for supporting older browsers.
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.
This presentation will look at how to build accessible chat windows. Along the way we will explore: how they differ from traditional modals, how to manage focus, how to manage dynamically updating content for assistive technologies and more. The session is designed for developers and coders.
This presentation for AllyCamp 2020, looks at accessible names, how they are exposed in the browsers accessibility tree, and their importance to assistive technologies. There is also a deep dive into simple examples, advanced examples using ARIA, and an overview of the W3C's Accessible Name and Description Computation.
What are accessible names and why should you care?Russ Weakley
This presentation will look at accessible names, how they are exposed in the browsers accessibility tree, and their importance to assistive technologies. There will be a deep dive into simple examples, advanced examples using ARIA, and an overview of the W3C's Accessible Name and Description Computation.
This presentation was fro the AllyBtyes event on 21 May 2020. The presentations looks at a pattern for building or reviewing any new UI component – semantics, focusable, keyboard interaction, visible states, accessible name and relationships.
What is WCAG 2 and why should we care?Russ Weakley
A presentation for IAG staff for the "Future is here" event on 6 May 20202. This presentation covers three topics - "What are our legal responsibilities around accessibility?", "What is WCAG?", and "What is inclusive design?"
The document discusses user interface states and provides examples of how states can be systematically defined across different UI components. It defines what states are and provides examples like visited, focus, hover, active, disabled, invalid, checked/selected states. It emphasizes the importance of defining states for all interactive elements, including custom elements, to ensure usability. It also stresses the importance of maintaining consistent state styling across a design system through the use of a state table that defines how each state should appear for different common UI elements like links, buttons, forms, tabs etc. This helps establish visual consistency and maintainability.
Creating accessible modals and autocompletesRuss Weakley
In this two-part presentation, Russ will guide us on a deep dive into how to create accessible modals and accessible autocomplete search functions. Along the way, we will look at the problem for different types of users as well as explore how ARIA can be used to improve these experiences. There will be blood, sweat and tears (Russ' words!) but hopefully a happy outcome for all.
Presentation for the Sydney Web Accessibility & Inclusive Design - 30 August 2019
Building an accessible progressive loaderRuss Weakley
This presentation for A11y Bytes May 2019, takes you through how to mark up a progress loader using the progress element. Then, eight tips for making the progress loader accessible.
Accessibility in Design systems - the pain and gloryRuss Weakley
Slides from CodeHeart Design 2018: Building a design system is a painful enough, but how do you add accessibility into the mix? Is it an "up-at-dawn, pride-swallowing siege", or can it become part of the normal work flow. We'll look at accessibility for different roles - such as UX, UI and devs, as well as where accessibility should be injected into the process.
This document discusses making inline error messages accessible for assistive technologies like screen readers. It provides 4 methods for programmatically associating error messages with form fields: 1) wrapping the label, 2) using aria-describedby, 3) aria-labelledby, and 4) the newer aria-errormessage. It also recommends using aria-invalid to indicate the validation state and aria-live to announce changes for screen reader users. The goal is to ensure error messages are announced and read aloud as part of the form interaction for assistive technology users.
The document discusses several methods for programmatically associating inline error messages and hints with form fields to ensure they are accessible to screen reader users. It describes wrapping form fields and messages in <label> tags, using aria-describedby to link them, and aria-errormessage as recommended by WAI-ARIA. For longer hints, it suggests using pop-up tooltips but ensuring they are accessible via keyboard by only showing on focus, hover or active states. The tooltip content should be directly associated with the relevant form field for maximum accessibility.
This presentation covers; different types of disabilities, assistive technologies, legal and ethical responsibilities as well as a range of terms such as W3C, WAI and WCAG.
In the old days, many developers looked at complex websites and web applications as a series of individual pages. These days, it’s all about abstracting these pages down to re-usable elements, modules and components which are then documented, designed and built as comprehensive pattern libraries. Pattern libraries can be used as an integral part of the UX, design and front-end development phases. But where should accessibility be included in these different types of pattern libraries? Come on a journey as we explore the pain and glory of baking accessibility into UX, design and front-end pattern libraries.
In the old days, many developers looked at complex websites and web applications as a series of individual pages. These days, it’s all about abstracting these pages down to re-usable elements, modules and components which are then documented, designed and built as comprehensive pattern libraries. Pattern libraries can be used as an integral part of the UX, design and front-end development phases. But where should accessibility be included in these different types of pattern libraries? Come on a journey as we explore the pain and glory of baking accessibility into UX, design and front-end pattern libraries.
Building an accessible auto-complete - #ID24Russ Weakley
This presentation will take a deep dive into how to create an auto-complete search function that is accessible to a range of different users including keyboard-only and screen reader users. Along the way, we will explore important keystrokes and aria attributes that can be used enhance the experience for all users.
The document provides guidance on creating accessible autocomplete search functionality. It discusses user experience considerations like clear labeling and instructions. It also covers keyboard support, ensuring all actions can be performed via keyboard. The document outlines how to add appropriate markup for screen readers, including labels, roles, properties to describe interactions and options. Code examples are provided for the overall structure and specific elements.
This presentation for Inclusive Design 24 (#ID24) explores how to create accessible, usable "floating" labels. Floating labels are where the label moves above form controls based on user interaction.
At first glance, CSS line-height seems very simple, but there is a lot going on below the surface. Line-height is important for any designer or front end developer to understand as it can impact almost every aspect of our layouts.
TrsLabs - Fintech Product & Business ConsultingTrs Labs
Hybrid Growth Mandate Model with TrsLabs
Strategic Investments, Inorganic Growth, Business Model Pivoting are critical activities that business don't do/change everyday. In cases like this, it may benefit your business to choose a temporary external consultant.
An unbiased plan driven by clearcut deliverables, market dynamics and without the influence of your internal office equations empower business leaders to make right choices.
Getting things done within a budget within a timeframe is key to Growing Business - No matter whether you are a start-up or a big company
Talk to us & Unlock the competitive advantage
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveScyllaDB
Want to learn practical tips for designing systems that can scale efficiently without compromising speed?
Join us for a workshop where we’ll address these challenges head-on and explore how to architect low-latency systems using Rust. During this free interactive workshop oriented for developers, engineers, and architects, we’ll cover how Rust’s unique language features and the Tokio async runtime enable high-performance application development.
As you explore key principles of designing low-latency systems with Rust, you will learn how to:
- Create and compile a real-world app with Rust
- Connect the application to ScyllaDB (NoSQL data store)
- Negotiate tradeoffs related to data modeling and querying
- Manage and monitor the database for consistently low latencies
Quantum Computing Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Impelsys Inc.
Impelsys provided a robust testing solution, leveraging a risk-based and requirement-mapped approach to validate ICU Connect and CritiXpert. A well-defined test suite was developed to assess data communication, clinical data collection, transformation, and visualization across integrated devices.
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxAnoop Ashok
In today's fast-paced retail environment, efficiency is key. Every minute counts, and every penny matters. One tool that can significantly boost your store's efficiency is a well-executed planogram. These visual merchandising blueprints not only enhance store layouts but also save time and money in the process.
Artificial Intelligence is providing benefits in many areas of work within the heritage sector, from image analysis, to ideas generation, and new research tools. However, it is more critical than ever for people, with analogue intelligence, to ensure the integrity and ethical use of AI. Including real people can improve the use of AI by identifying potential biases, cross-checking results, refining workflows, and providing contextual relevance to AI-driven results.
News about the impact of AI often paints a rosy picture. In practice, there are many potential pitfalls. This presentation discusses these issues and looks at the role of analogue intelligence and analogue interfaces in providing the best results to our audiences. How do we deal with factually incorrect results? How do we get content generated that better reflects the diversity of our communities? What roles are there for physical, in-person experiences in the digital world?
Generative Artificial Intelligence (GenAI) in BusinessDr. Tathagat Varma
My talk for the Indian School of Business (ISB) Emerging Leaders Program Cohort 9. In this talk, I discussed key issues around adoption of GenAI in business - benefits, opportunities and limitations. I also discussed how my research on Theory of Cognitive Chasms helps address some of these issues
How Can I use the AI Hype in my Business Context?Daniel Lehner
𝙄𝙨 𝘼𝙄 𝙟𝙪𝙨𝙩 𝙝𝙮𝙥𝙚? 𝙊𝙧 𝙞𝙨 𝙞𝙩 𝙩𝙝𝙚 𝙜𝙖𝙢𝙚 𝙘𝙝𝙖𝙣𝙜𝙚𝙧 𝙮𝙤𝙪𝙧 𝙗𝙪𝙨𝙞𝙣𝙚𝙨𝙨 𝙣𝙚𝙚𝙙𝙨?
Everyone’s talking about AI but is anyone really using it to create real value?
Most companies want to leverage AI. Few know 𝗵𝗼𝘄.
✅ What exactly should you ask to find real AI opportunities?
✅ Which AI techniques actually fit your business?
✅ Is your data even ready for AI?
If you’re not sure, you’re not alone. This is a condensed version of the slides I presented at a Linkedin webinar for Tecnovy on 28.04.2025.
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul
Artificial intelligence is changing how businesses operate. Companies are using AI agents to automate tasks, reduce time spent on repetitive work, and focus more on high-value activities. Noah Loul, an AI strategist and entrepreneur, has helped dozens of companies streamline their operations using smart automation. He believes AI agents aren't just tools—they're workers that take on repeatable tasks so your human team can focus on what matters. If you want to reduce time waste and increase output, AI agents are the next move.
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersToradex
Toradex brings robust Linux support to SMARC (Smart Mobility Architecture), ensuring high performance and long-term reliability for embedded applications. Here’s how:
• Optimized Torizon OS & Yocto Support – Toradex provides Torizon OS, a Debian-based easy-to-use platform, and Yocto BSPs for customized Linux images on SMARC modules.
• Seamless Integration with i.MX 8M Plus and i.MX 95 – Toradex SMARC solutions leverage NXP’s i.MX 8 M Plus and i.MX 95 SoCs, delivering power efficiency and AI-ready performance.
• Secure and Reliable – With Secure Boot, over-the-air (OTA) updates, and LTS kernel support, Toradex ensures industrial-grade security and longevity.
• Containerized Workflows for AI & IoT – Support for Docker, ROS, and real-time Linux enables scalable AI, ML, and IoT applications.
• Strong Ecosystem & Developer Support – Toradex offers comprehensive documentation, developer tools, and dedicated support, accelerating time-to-market.
With Toradex’s Linux support for SMARC, developers get a scalable, secure, and high-performance solution for industrial, medical, and AI-driven applications.
Do you have a specific project or application in mind where you're considering SMARC? We can help with Free Compatibility Check and help you with quick time-to-market
For more information: https://www.toradex.com/computer-on-modules/smarc-arm-family
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPathCommunity
Join this UiPath Community Berlin meetup to explore the Orchestrator API, Swagger interface, and the Test Manager API. Learn how to leverage these tools to streamline automation, enhance testing, and integrate more efficiently with UiPath. Perfect for developers, testers, and automation enthusiasts!
📕 Agenda
Welcome & Introductions
Orchestrator API Overview
Exploring the Swagger Interface
Test Manager API Highlights
Streamlining Automation & Testing with APIs (Demo)
Q&A and Open Discussion
Perfect for developers, testers, and automation enthusiasts!
👉 Join our UiPath Community Berlin chapter: https://community.uipath.com/berlin/
This session streamed live on April 29, 2025, 18:00 CET.
Check out all our upcoming UiPath Community sessions at https://community.uipath.com/events/.
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungenpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-und-verwaltung-von-multiuser-umgebungen/
HCL Nomad Web wird als die nächste Generation des HCL Notes-Clients gefeiert und bietet zahlreiche Vorteile, wie die Beseitigung des Bedarfs an Paketierung, Verteilung und Installation. Nomad Web-Client-Updates werden “automatisch” im Hintergrund installiert, was den administrativen Aufwand im Vergleich zu traditionellen HCL Notes-Clients erheblich reduziert. Allerdings stellt die Fehlerbehebung in Nomad Web im Vergleich zum Notes-Client einzigartige Herausforderungen dar.
Begleiten Sie Christoph und Marc, während sie demonstrieren, wie der Fehlerbehebungsprozess in HCL Nomad Web vereinfacht werden kann, um eine reibungslose und effiziente Benutzererfahrung zu gewährleisten.
In diesem Webinar werden wir effektive Strategien zur Diagnose und Lösung häufiger Probleme in HCL Nomad Web untersuchen, einschließlich
- Zugriff auf die Konsole
- Auffinden und Interpretieren von Protokolldateien
- Zugriff auf den Datenordner im Cache des Browsers (unter Verwendung von OPFS)
- Verständnis der Unterschiede zwischen Einzel- und Mehrbenutzerszenarien
- Nutzung der Client Clocking-Funktion
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...SOFTTECHHUB
I started my online journey with several hosting services before stumbling upon Ai EngineHost. At first, the idea of paying one fee and getting lifetime access seemed too good to pass up. The platform is built on reliable US-based servers, ensuring your projects run at high speeds and remain safe. Let me take you step by step through its benefits and features as I explain why this hosting solution is a perfect fit for digital entrepreneurs.
3. “
CSS is simple... It’s simple to
understand. But CSS is not
simple to use or maintain.
”
http://chriseppstein.github.com/blog/2009/09/20/why-stylesheet-abstraction-matters/
4. Issues
If you’ve ever worked on a
medium to large website, you
have probably come across a
range of issues with CSS.
17. “
“We have been doing it all
wrong.... Our best practices are
killing us”
”
Nicole Sullivan
18. “
The purpose of OOCSS is to
encourage code reuse and,
ultimately, faster and more
efficient stylesheets that are
easier to add to and maintain.
”
http://coding.smashingmagazine.com/2011/12/12/an-introduction-to-object-oriented-css-oocss/
55. Framework 1
To be safe, we should assume we
need containers for 4, 3, 2 and 1
column widths. We can convert
these column options into a
simple grid framework.
61. Framework 2
We could also create a second,
different grid for narrow screen.
This would allow us to control
whether columns sat beside each
other or below at a narrower
screen size.
66. Boxes?
You may have noticed that there
were also a series of smaller
boxes, each with an image to the
left or right.
68. Core purpose
1. contain content
2. feature object to left or right
3. content beside feature object
4. margin below
69. Adaptable box
We need to create an adaptable box:
- could be placed anywhere
- any width or height
- any feature content
- feature content could be left/right
- any content inside the body
70. Target
We need to be able to target
- the overall box
- the object (left or right)
- the body content within the box
- a possible heading (h1-h6)
- possibly even the contents itself
71. box
box body
This is a heading heading
box
box feature
Lorem ipsum dolor sit amet consect etuer
adipi scing elit sed diam nonummy nibh
box content
euismod tinunt ut laoreet dolore magna
aliquam erat volut.
72. There are a range of possible
class we could use here.
.box { }
.box-feature { }
.box-feature-alt { }
.box-body { }
.box-heading { }
.box-content { }
73. Width
Do not give the box a width -
allow it to spread to fit the width
of any parent container.
74. Contain floats
This box module must contain
(and therefore wrap around)
either a left or right floating
object. We can solve this by
triggering the block formatting
context on the parent.
76. Location Agnostic
The box must work when placed
anywhere within the layout. The
box must be “location agnostic”.
aside .box { }
.box { }
77. Sit beside
The box may contain objects that
have varying widths. We need our
content box (“box-body”) to sit
beside these objects, regardless
of their widths.
78. BFC again
We can solve this by triggering
the block formatting context on
the “box-body” class.
79. box-body
This is a heading
Lorem ipsum dolor sit amet consect etuer
adipi scing elit sed diam nonummy nibh
euismod tinunt ut laoreet dolore magna
aliquam erat volut.
88. Semantic classes
For years, we have been taught
to keep our markup clean and
only use “semantic” class names.
89. Break the rules?
OOCSS seems to break both of
these rules - and in a big way.
But have we been thinking about
“semantic” class names in the
wrong way?
90. “
HTML class names offer no
semantic value to search engines
or screen readers, aside from
microformats.
”
http://www.brettjankord.com/2013/02/09/thoughts-on-semantic-html-class-names-and-maintainability/
91. “
Rather than concerning
ourselves with creating semantic
class names, I think we should be
thinking about creating sensible
class names. Sensible class
names offer semantics, but they
”
also offer flexibility/reusability.
http://www.brettjankord.com/2013/02/09/thoughts-on-semantic-html-class-names-and-maintainability/
92. “
If your class is called “blue” and
you want to change it to red, you
have far bigger problems than
class names to deal with!
”
https://speakerdeck.com/andyhume/css-for-grown-ups-maturing-best-practises
93. Move forward
In order to move forward,
especially on large scale sites, we
cannot keep using old practices.
94. Solution?
OOCSS offers front end
developers an alternative - light
weight, modular CSS that can be
re-used repeatedly across sites.
97. “
SMACSS is more style guide than
rigid framework - an attempt to
document a consistent approach
to site development when using
CSS.
”
http://alistapart.com/article/frameworksfordesigners
98. In 2011, Jonathan
Snook introduced a
new way of looking at
CSS architecture.
He called this
Scalable and Modular
Architecture for CSS
(SMACSS)
113. Modifiers
Possibly use different naming
conventions for modifiers,
sub-modules and states.
.example-widget { }
.example-widget--modifier { }
.example-widget__sub-module { }
.example-widget--is-somestate { }
115. “
I’ve noticed that designers
traditionally write CSS that is
deeply tied to the HTML that it is
designed to style. How do we
begin to decouple the two for
more flexible development with
”
less refactoring?
http://coding.smashingmagazine.com/2012/04/20/decoupling-html-from-css/
116. Decouple
So how do we “decouple” our
HTML and CSS.
1. using additional class names
2. using child selectors
117. Example
To see this in action, let’s look at
the “box” example from earlier.
What if we wanted to style the
heading inside the “box-body”.
118. This is a heading heading
Lorem ipsum dolor sit amet consect etuer
adipi scing elit sed diam nonummy nibh
euismod tinunt ut laoreet dolore magna
aliquam erat volut.
119. Style the h2?
We could style this heading using
something like this:
.box { }
.box h2 { }
129. “
By making your base objects this
simple your choices become
boolean; you use the object or
you don’t. The object is either
entirely suitable as a basis, or
entirely _un_suitable.
”
http://csswizardry.com/2012/06/the-open-closed-principle-applied-to-css/
130. Keep ‘em simple
The base module should be
defined as simply as possible.
This means that they are highly
flexible.
131. Let’s use an example of our “row”
class. What if we added some
padding to this rule?
.row {
! clear: left;
! overflow: hidden;
! padding: 20px 0;
}
132. But what if we want a row that
doesn’t have padding? The
problem is that this rule is now
very specifically defined. It is
therefore not as flexible.
134. “
Any CSS that unsets styles (apart
from in a reset) should start
ringing alarm bells... Rulesets
should only ever inherit and add
to previous ones, never undo.
”
http://csswizardry.com/2012/11/code-smells-in-css/
135. Don’t undo
Leading on from the first rule, you
should avoid writing rules to undo
a previous module.
136. For example, what if you wanted
almost all of your headings to
have a border-bottom?
h2 {
! font-size: 1.5em
! margin-bottom: 1em;
! padding-bottom: 1em;
! border-bottom: 1px solid red;
}
137. But in some cases you might
want a heading without a
border-bottom.
138. You could write a new rule like
this:
.no-border {
! padding-bottom: 0;
! border-bottom: none;
}
139. This is not ideal. It is much better
to write sub-modules that add
styles, rather than write sub-
modules to undo styles.
140. So, a better way might be to
write two rules like this:
143. Don’t modify
Base modules can be extended
using sub-modules. However, the
base module itself should never
be modified.
144. This is based on the object
oriented programming “open/
close principle”.
145. “
Software entities (classes,
modules, functions, etc.) should
be open for extension, but closed
for modification.
”
http://en.wikipedia.org/wiki/Open/closed_principle
146. If a based module needs to be
modified to suit a specific case, it
is probably better to create a
new module.
148. Don’t rush
It is always tempting to add a
module based on your need at
the time... as well as based on
the needs of the system.
149. This often happens after the initial
planning and build has been
done. It’s easy to be tempted by
“I’ll just drop this new class in
at the bottom of my CSS”.
153. DocBlock
There is a growing trend to use
the DocBlock as an overall
comment convention. In fact, a
movement around this type of
commenting began over 6 years
ago with the CSSdoc group
154. “
"A DocBlock is an extended C++-
style PHP comment that begins
with "/**" and has an "*" at the
beginning of every line.
DocBlocks precede the element
they are documenting...
”
http://en.wikipedia.org/wiki/PHPDoc
155. /**
* Short desc
*
* Long description first sentence starts
* and continues on this line for a while
* finally concluding here at the end of
* this paragraph
*
* The blank line above denotes a paragraph
*/
157. Single line?
In the early days of CSS, a lot of
developers preferred single line
CSS rules as they could easily
see the selectors.
158. Multi-line
Today, with the complexity of
individual rules, most developers
seem to prefer either the
multi-line format, or multi-line
with indenting format.
159. CSS Tricks rule formatting poll
Multi-line Format with Indenting 44%
Multi-line Format 28%
Single-line Format 11%
Single-line Format with Indenting/Tabbing 5%
Mostly Single-line Format 5%
Single-line Format with Tabbing 4%
Other 3%
*CSS-tricks poll: http://css-tricks.com/different-ways-to-format-css/
167. Of course, many tools and pre-
processors take care of this for
you. If your tools do not have this
capability, take a look at CSS
Comb
http://csscomb.com/