This document discusses several CSS features including box alignment, flexbox, grid layout, CSS shapes, feature queries, initial letters, writing modes, custom properties, calc(), position: sticky, and scroll snapping. It provides code examples and links to documentation for each feature. Key points covered include using box alignment properties in flexbox and grid layout, centering content with flexbox, creating responsive grids with CSS grid, applying shapes to images with shape-outside, testing support for features with feature queries, styling initial letters, flipping text direction with writing modes, defining variables with custom properties, performing calculations with calc(), sticking elements to the viewport with position: sticky, and snapping scrolling with scroll snapping. Links to resources
Talk Web Design: Get Ready For CSS Grid LayoutRachel Andrew
- CSS Grid Layout provides a new two-dimensional grid-based layout system for CSS. It allows developers to divide available space on a page into columns and rows, and place elements into those areas.
- The document discusses defining a CSS grid with properties like grid-template-columns, grid-template-rows, and grid-template-areas. It also covers positioning items onto the grid using line-based placement with grid-column, grid-row etc. or named grid areas.
- CSS Grid Layout offers developers greater control over page layout compared to older methods and allows the layout to be redefined responsively with media queries.
CSS Grid Layout allows for two-dimensional page layouts using rows and columns to position elements. It offers several methods for defining the grid including explicit definition with grid-template-columns/rows, implicit definition by letting grid create tracks automatically, and using fractional units and repeat functions for flexible layouts. Elements can then be placed on the grid using line-based positioning with grid-column/row or named grid areas. Media queries allow the grid definition and element placement to adapt at different breakpoints.
This document discusses CSS Grid Layout and provides examples of how to define grids and place items on grids using CSS Grid properties. Some key points:
- CSS Grid allows defining a grid on any element using display: grid and then placing child elements into the grid with grid-column, grid-row and other properties.
- Grids can be defined explicitly with grid-template-columns/rows or implicitly with auto-placement of items.
- Fraction units (fr), minmax(), repeat() and auto-fill can create flexible and responsive grid layouts.
- Items can be placed on grids by line number, named lines, or named grid areas.
- Grid layout can be redefined
The document provides an overview and examples of various CSS features, including box alignment, Flexbox, CSS Grid Layout, CSS Shapes, Feature Queries, Initial Letter styling, Writing Modes, and CSS Custom Properties. Codepen examples are included to demonstrate the features discussed. The document covers the purpose and usage of each feature at a high level.
The document summarizes Rachel Andrew's presentation on modern CSS layout techniques including Flexbox and CSS Grid Layout. Some key points include:
- Flexbox and CSS Grid Layout provide improved tools for page layout compared to older methods like floats.
- These techniques separate logical structure from visual presentation, allow responsive design, and give more control over alignment.
- Features like grid-auto-flow can automatically position items but authors must be careful not to compromise accessibility or semantics.
- Flexbox is well-suited for one-dimensional layouts while Grid excels at two-dimensional layouts like pages with columns.
This document discusses CSS Grid Layout and provides examples of how to define grids and place items on grids. Some key points:
- CSS Grid Layout allows dividing available space into columns and rows to position elements.
- Grids are defined on parent elements using properties like grid-template-columns, grid-template-rows, and grid-template-areas.
- Child elements can be placed on the grid using line-based placement with properties like grid-column and grid-row, or by targeting named lines and areas.
- Grids can be redefined at different breakpoints to create responsive layouts without changing HTML structure.
Rachel Andrew gives a presentation on modern CSS layout techniques including Flexbox and CSS Grid Layout. She discusses how these techniques allow for flexible and responsive design that separates layout from the semantic structure of the content. Flexbox is well-suited for one-dimensional layouts while Grid Layout enables two-dimensional positioning. Feature queries can help support these new techniques for browsers that do not yet support them.
This document introduces CSS Grid Layout and provides examples of how to define a grid, place items on the grid using line numbers and names, create named grid areas, and redefine the grid at different breakpoints. Key aspects covered include defining grid columns and rows using fractional units and repeat functions, creating gaps between rows and columns, positioning items on the grid using line-based placement properties, and describing layouts using grid-template-areas.
Rachel Andrew discusses modern CSS layout techniques like Flexbox and CSS Grid Layout. She explains how these new specifications allow for responsive design that adapts to different screen sizes in a fluid, flexible way. Andrew also emphasizes the importance of accessibility and maintaining proper source order when using these techniques. The talk explores various properties, functions, and examples to demonstrate how Flexbox and CSS Grid can be used to create responsive layouts in a semantic and accessible manner.
CSS Grid Layout - An Event Apart OrlandoRachel Andrew
My slides from An Event Apart Orlando. Also take a look at the code examples and resources at https://rachelandrew.co.uk/speaking/event/an-event-apart-orlando-special-edition-2016
This document summarizes Rachel Andrew's presentation on CSS Grid Layout. Some key points include:
- CSS Grid Layout provides a two-dimensional grid system for CSS layout, as an alternative to floats and positioning.
- Grid uses line-based placement rather than block/inline flows, allowing items to be placed precisely on the grid.
- Defining a grid involves setting grid-template-columns, grid-template-rows and other properties to establish the structure and tracks.
- Items can then be placed on the grid using grid-row and grid-column to position them across specific row and column lines.
This document provides an overview and examples of CSS Grids and Flexbox layout techniques. It discusses how Flexbox allows items to be laid out in a single direction row or column, and how CSS Grids enable two-dimensional page layouts using rows and columns. Examples are given for creating navigation menus, image galleries, and multi-column page designs using these new CSS properties. Media queries are also used to redefine grid layouts at different screen sizes.
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.
Frontend United: Start using CSS Grid Layout today!Rachel Andrew
Grid Layout is here! What is it? Why is it different to flexbox? How do I get started? What about old browsers? All these questions and more in a high speed tour of the spec.
Rachel Andrew presented on CSS Grid Layout and Flexbox at Smashing Conf SF. She began by explaining the differences between Grid and Flexbox - Grid is for two-dimensional layout while Flexbox is for one-dimensional. She demonstrated examples of layouts using Grid and why it may be preferable to Flexbox in certain cases. Rachel then covered using Grid in production, responsive design with Grid, fallback options for older browsers, and ways for developers to encourage browser vendors to support new features. She provided several resources for learning more about Grid.
This document introduces CSS Grid Layout and provides an overview of its key concepts and features, including:
- Defining a grid with display: grid and grid-template properties
- Placing grid items on the grid using line numbers, line names, and grid-area
- Automatic placement of grid items with grid-auto-flow
- Accessibility considerations for maintaining source order
- When to use Grid versus Flexbox for layout needs
- Animating grid properties and using feature queries for fallback support
Today we have CSS specifications for animation and transitions, complex layout, custom properties and much more. In addition to the breadth of modern CSS specifications, our evergreen, auto-updating browsers sneak in new features with every release.
In this talk, I’ll be taking a look at some of the things that CSS is capable of, some of which you might think you need a JavaScript framework or at least a pre-processor to achieve.
An Event Apart Nashville: CSS Grid LayoutRachel Andrew
The document summarizes Rachel Andrew's presentation on CSS Grid Layout. Some key points:
- CSS Grid Layout provides a new two-dimensional grid system for CSS layout, addressing limitations of floats and flexbox.
- Grid uses line-based placement, with grid tracks defined by grid-template-columns/rows and items placed using grid-column/row properties.
- Common layouts like Holy Grail can be easily created with Grid. Grid also allows rearranging layouts responsively.
- Grid introduces concepts like implicit and explicit grid lines, fr units, and named grid areas to semantically define layout structures.
The document discusses new CSS layout techniques including Flexbox and CSS Grid Layout. These allow for precise control of alignment both horizontally and vertically, separation of document structure from visual display, and responsive and flexible layouts by default. Examples are provided showing how Flexbox and Grid Layout can be used to create common layout patterns like equal height columns and reordering of content in a responsive way.
An Event Apart Seattle - New CSS Layout Meets the Real WorldRachel Andrew
The document discusses several new CSS layout techniques including the media object, magazine-style layouts, and fancy headers.
[1] The media object pattern is demonstrated using CSS Grid Layout, with an image and text wrapping around it. Flexbox is also used to make the object flexible. [2] Magazine-style multi-column layouts are created with grid areas, minmax rows, and object-fit for images. [3] Fancy headers are made with circles and curved text using border-radius, shape-outside, and flexbox alignment. Feature queries allow fallback styles for older browsers.
The document discusses new CSS layout techniques including Flexbox and CSS Grid Layout. Some key points:
- Flexbox is well supported for one-dimensional layouts while Grid Layout allows two-dimensional positioning of elements.
- Grid Layout introduces the concept of explicit and implicit grid lines to control element placement. Items can be placed using line-based positioning.
- Both techniques allow separation of visual layout from semantic source order and precise control of alignment both horizontally and vertically.
- Features like flex-grow, flex-shrink and fr units make layouts responsive and flexible by default.
CSS Grid Layout. Implementation status and roadmap (Webkit Contributors Meeti...Igalia
The document discusses CSS Grid Layout, which provides a mechanism for dividing space into rows and columns to define a grid-based layout. It allows precise placement of elements, reflowing optimally for different devices. The document covers grid concepts like lines, tracks, cells and areas. It also describes the syntax for defining track breadths and placing items in the grid. Implementation status is provided, with grid layout already shipped in IE and work ongoing in Blink and WebKit.
This document introduces CSS Grid Layout and provides examples of how to implement a grid using CSS Grid properties. Key points include:
- CSS Grid Layout allows positioning of elements within a grid system defined entirely through CSS. This avoids layout hacks and redundant markup needed with previous methods.
- Grid properties like grid-template-columns, grid-template-rows define the structure of the grid. grid-column, grid-row position elements within the grid.
- Named lines, grid areas, and media queries allow defining different grid layouts for different screen sizes without changing markup order.
- Repeating tracks, flexible track sizes (fr units), and line spanning provide powerful grid configuration options.
This document provides a summary of Rachel Andrew's presentation on modern CSS layout techniques at CSS Conf Budapest 2016. It discusses some of the limitations of traditional layout methods like floats and frameworks, and expresses hope for new CSS specifications like Flexbox, Grid Layout, and Box Alignment that provide true separation of document structure and visual layout with precise alignment control. Key concepts covered include items understanding themselves as part of a complete layout, flexibility and responsiveness being inherent to these new methods, and the need for responsibility when reordering content visually.
The document provides an overview and examples of various CSS features, including box alignment, Flexbox, CSS Grid Layout, CSS Shapes, Feature Queries, Initial Letter styling, Writing Modes, and CSS Custom Properties. Codepen examples are included to demonstrate the features discussed. The document covers the purpose and usage of each feature at a high level.
The document summarizes Rachel Andrew's presentation on modern CSS layout techniques including Flexbox and CSS Grid Layout. Some key points include:
- Flexbox and CSS Grid Layout provide improved tools for page layout compared to older methods like floats.
- These techniques separate logical structure from visual presentation, allow responsive design, and give more control over alignment.
- Features like grid-auto-flow can automatically position items but authors must be careful not to compromise accessibility or semantics.
- Flexbox is well-suited for one-dimensional layouts while Grid excels at two-dimensional layouts like pages with columns.
This document discusses CSS Grid Layout and provides examples of how to define grids and place items on grids. Some key points:
- CSS Grid Layout allows dividing available space into columns and rows to position elements.
- Grids are defined on parent elements using properties like grid-template-columns, grid-template-rows, and grid-template-areas.
- Child elements can be placed on the grid using line-based placement with properties like grid-column and grid-row, or by targeting named lines and areas.
- Grids can be redefined at different breakpoints to create responsive layouts without changing HTML structure.
Rachel Andrew gives a presentation on modern CSS layout techniques including Flexbox and CSS Grid Layout. She discusses how these techniques allow for flexible and responsive design that separates layout from the semantic structure of the content. Flexbox is well-suited for one-dimensional layouts while Grid Layout enables two-dimensional positioning. Feature queries can help support these new techniques for browsers that do not yet support them.
This document introduces CSS Grid Layout and provides examples of how to define a grid, place items on the grid using line numbers and names, create named grid areas, and redefine the grid at different breakpoints. Key aspects covered include defining grid columns and rows using fractional units and repeat functions, creating gaps between rows and columns, positioning items on the grid using line-based placement properties, and describing layouts using grid-template-areas.
Rachel Andrew discusses modern CSS layout techniques like Flexbox and CSS Grid Layout. She explains how these new specifications allow for responsive design that adapts to different screen sizes in a fluid, flexible way. Andrew also emphasizes the importance of accessibility and maintaining proper source order when using these techniques. The talk explores various properties, functions, and examples to demonstrate how Flexbox and CSS Grid can be used to create responsive layouts in a semantic and accessible manner.
CSS Grid Layout - An Event Apart OrlandoRachel Andrew
My slides from An Event Apart Orlando. Also take a look at the code examples and resources at https://rachelandrew.co.uk/speaking/event/an-event-apart-orlando-special-edition-2016
This document summarizes Rachel Andrew's presentation on CSS Grid Layout. Some key points include:
- CSS Grid Layout provides a two-dimensional grid system for CSS layout, as an alternative to floats and positioning.
- Grid uses line-based placement rather than block/inline flows, allowing items to be placed precisely on the grid.
- Defining a grid involves setting grid-template-columns, grid-template-rows and other properties to establish the structure and tracks.
- Items can then be placed on the grid using grid-row and grid-column to position them across specific row and column lines.
This document provides an overview and examples of CSS Grids and Flexbox layout techniques. It discusses how Flexbox allows items to be laid out in a single direction row or column, and how CSS Grids enable two-dimensional page layouts using rows and columns. Examples are given for creating navigation menus, image galleries, and multi-column page designs using these new CSS properties. Media queries are also used to redefine grid layouts at different screen sizes.
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.
Frontend United: Start using CSS Grid Layout today!Rachel Andrew
Grid Layout is here! What is it? Why is it different to flexbox? How do I get started? What about old browsers? All these questions and more in a high speed tour of the spec.
Rachel Andrew presented on CSS Grid Layout and Flexbox at Smashing Conf SF. She began by explaining the differences between Grid and Flexbox - Grid is for two-dimensional layout while Flexbox is for one-dimensional. She demonstrated examples of layouts using Grid and why it may be preferable to Flexbox in certain cases. Rachel then covered using Grid in production, responsive design with Grid, fallback options for older browsers, and ways for developers to encourage browser vendors to support new features. She provided several resources for learning more about Grid.
This document introduces CSS Grid Layout and provides an overview of its key concepts and features, including:
- Defining a grid with display: grid and grid-template properties
- Placing grid items on the grid using line numbers, line names, and grid-area
- Automatic placement of grid items with grid-auto-flow
- Accessibility considerations for maintaining source order
- When to use Grid versus Flexbox for layout needs
- Animating grid properties and using feature queries for fallback support
Today we have CSS specifications for animation and transitions, complex layout, custom properties and much more. In addition to the breadth of modern CSS specifications, our evergreen, auto-updating browsers sneak in new features with every release.
In this talk, I’ll be taking a look at some of the things that CSS is capable of, some of which you might think you need a JavaScript framework or at least a pre-processor to achieve.
An Event Apart Nashville: CSS Grid LayoutRachel Andrew
The document summarizes Rachel Andrew's presentation on CSS Grid Layout. Some key points:
- CSS Grid Layout provides a new two-dimensional grid system for CSS layout, addressing limitations of floats and flexbox.
- Grid uses line-based placement, with grid tracks defined by grid-template-columns/rows and items placed using grid-column/row properties.
- Common layouts like Holy Grail can be easily created with Grid. Grid also allows rearranging layouts responsively.
- Grid introduces concepts like implicit and explicit grid lines, fr units, and named grid areas to semantically define layout structures.
The document discusses new CSS layout techniques including Flexbox and CSS Grid Layout. These allow for precise control of alignment both horizontally and vertically, separation of document structure from visual display, and responsive and flexible layouts by default. Examples are provided showing how Flexbox and Grid Layout can be used to create common layout patterns like equal height columns and reordering of content in a responsive way.
An Event Apart Seattle - New CSS Layout Meets the Real WorldRachel Andrew
The document discusses several new CSS layout techniques including the media object, magazine-style layouts, and fancy headers.
[1] The media object pattern is demonstrated using CSS Grid Layout, with an image and text wrapping around it. Flexbox is also used to make the object flexible. [2] Magazine-style multi-column layouts are created with grid areas, minmax rows, and object-fit for images. [3] Fancy headers are made with circles and curved text using border-radius, shape-outside, and flexbox alignment. Feature queries allow fallback styles for older browsers.
The document discusses new CSS layout techniques including Flexbox and CSS Grid Layout. Some key points:
- Flexbox is well supported for one-dimensional layouts while Grid Layout allows two-dimensional positioning of elements.
- Grid Layout introduces the concept of explicit and implicit grid lines to control element placement. Items can be placed using line-based positioning.
- Both techniques allow separation of visual layout from semantic source order and precise control of alignment both horizontally and vertically.
- Features like flex-grow, flex-shrink and fr units make layouts responsive and flexible by default.
CSS Grid Layout. Implementation status and roadmap (Webkit Contributors Meeti...Igalia
The document discusses CSS Grid Layout, which provides a mechanism for dividing space into rows and columns to define a grid-based layout. It allows precise placement of elements, reflowing optimally for different devices. The document covers grid concepts like lines, tracks, cells and areas. It also describes the syntax for defining track breadths and placing items in the grid. Implementation status is provided, with grid layout already shipped in IE and work ongoing in Blink and WebKit.
This document introduces CSS Grid Layout and provides examples of how to implement a grid using CSS Grid properties. Key points include:
- CSS Grid Layout allows positioning of elements within a grid system defined entirely through CSS. This avoids layout hacks and redundant markup needed with previous methods.
- Grid properties like grid-template-columns, grid-template-rows define the structure of the grid. grid-column, grid-row position elements within the grid.
- Named lines, grid areas, and media queries allow defining different grid layouts for different screen sizes without changing markup order.
- Repeating tracks, flexible track sizes (fr units), and line spanning provide powerful grid configuration options.
This document provides a summary of Rachel Andrew's presentation on modern CSS layout techniques at CSS Conf Budapest 2016. It discusses some of the limitations of traditional layout methods like floats and frameworks, and expresses hope for new CSS specifications like Flexbox, Grid Layout, and Box Alignment that provide true separation of document structure and visual layout with precise alignment control. Key concepts covered include items understanding themselves as part of a complete layout, flexibility and responsiveness being inherent to these new methods, and the need for responsibility when reordering content visually.
ConFoo 2016: Making Sense of CSS LayoutRachel Andrew
This document summarizes Rachel Andrew's presentation on modern CSS layout techniques. It discusses some common layout methods like floats, inline-block, and frameworks. It then covers the introduction of Flexbox and CSS Grid Layout as ways to achieve responsive and flexible layouts by default. Key benefits include true separation of document structure from visual layout, precise control over alignment both horizontally and vertically, and items understanding themselves as part of an overall layout.
Fluent: Making Sense of the New CSS LayoutRachel Andrew
The document discusses the new CSS layout capabilities of Flexbox and CSS Grid Layout. It provides examples of how Flexbox can be used to create responsive and flexible layouts with precise control of alignment both horizontally and vertically. It also shows how CSS Grid Layout allows for true separation of document structure from visual layout, and enables full control over alignment and automatic placement of items. The document argues these new techniques provide a modern system for building layouts in a way that is responsive and flexible by default.
This document summarizes a talk given by Rachel Andrew on new CSS layout methods Flexbox and Grid Layout. It discusses some of the challenges with traditional layout techniques and how Flexbox and Grid Layout allow for more semantic, flexible and responsive layouts by treating items as parts of a complete layout. Key features covered include separation of document structure from visual presentation, precise control of horizontal and vertical alignment, and responsive design being built into the new specifications.
Start Using CSS Grid Layout Today - RuhrJSRachel Andrew
This document provides an introduction and overview of CSS Grid Layout. It explains the differences between Grid and other layout methods like Flexbox. It provides examples of how to implement common layout patterns using Grid and addresses concerns about browser support and fallbacks. Key topics covered include grid template areas, responsive design with Grid, and ways for developers to get involved in advancing browser support for new CSS features.
DevFest Nantes - Start Using CSS Grid Layout todayRachel Andrew
The document discusses using CSS Grid Layout for page layout. It provides examples of how to create a grid with multiple equal columns using grid-template-columns, position elements within the grid using grid-column and grid-row, and make the layout responsive by redefining grid placements in media queries. It also addresses backwards compatibility by providing flexbox fallbacks and using feature queries.
Evergreen websites for Evergreen browsersRachel Andrew
Grid is for two-dimensional layout, while flexbox is for one-dimensional layout. Grid allows control of layout from the parent container by defining column and row tracks on the container, rather than adding properties to child items. This allows child items to be positioned and overlap in the grid space without adding widths or heights to them directly. Feature queries can be used to provide an enhanced grid-based layout for supporting browsers while avoiding conflicts with non-supporting browsers.
View Source London: Solving Layout Problems with CSS Grid & FriendsRachel Andrew
This document provides an overview of solving layout problems with CSS Grid and related technologies. It discusses when to use Flexbox versus Grid, how Grid works from the container out compared to other frameworks, tracks sizing with fractions and minmax, nested grids, new sizing keywords, and dealing with older browsers. It also covers subgrids and potential future directions like masonry layouts.
Solving Layout Problems with CSS Grid & Friends - DevFest17Rachel Andrew
This document summarizes Rachel Andrew's presentation on solving layout problems with CSS Grid and friends. It discusses how CSS Grid creates an actual grid structure, unlike float-based or flexbox grids which only mimic a grid. Key features of CSS Grid like grid-template-columns, repeat, minmax, and fr units for column sizing are explained. The document also covers using features like float or flexbox as fallbacks for older browsers, and potential future additions to grid like subgrids and masonry layouts.
What I discovered about layout vis CSS GridRachel Andrew
The document summarizes key concepts the author learned about CSS Grid layout. Some key points include:
- CSS Grid handles box alignment and positioning in a logical way based on writing direction rather than physical positioning.
- The display property controls how elements generate boxes and formatting contexts for child elements. Grid items are always blockified.
- Features like subgrid, display: contents, and logical properties give more control over layout.
- Understanding how CSS Grid handles boxes and positioning provides tools to build flexible and accessible layouts.
Solving Layout Problems with CSS Grid & Friends - NordicJSRachel Andrew
I explain some of the common layout problems that CSS Grid and related specifications attempt to solve - while answering some of the common questions I am asked about Grid Layout.
404.ie: Solving Layout Problems with CSS Grid & FriendsRachel Andrew
Rachel Andrew presented on solving layout problems with CSS Grid and friends. CSS Grid allows for two-dimensional page layouts directly in the markup, without needing additional wrapper elements. Grid items can be placed into rows and columns precisely without needing to set widths. Older techniques like floats and flexbox can be used as fallbacks for browsers without Grid support. Subgrids and masonry layouts may be added to Grid in the future. Grid is a native part of CSS with good browser support.
The document summarizes Rachel Andrew's presentation on CSS Grid Layout. Some key points:
- CSS Grid Layout provides a new display value and properties to create grid-based layouts, addressing issues with floats, tables, flexbox.
- Grid uses line-based placement, with grid-template-columns/rows to define the grid, and grid-column/row to position.
- The fr unit distributes space proportionally. Implicit tracks are created when content is placed outside defined lines.
- Grid allows redefining layouts responsively by changing templates with media queries.
Solving Layout Problems With CSS Grid and FriendsFITC
Presented at Web Unleashed 2017. More info at www.fitc.ca/webu
Presented by Rachel Andrew, Perch CMS
Overview
CSS Grid Layout launched into the majority of our browsers in 2017. As designers and developers have started to use Grid Rachel has been answering a lot of questions about the specifications. In this talk she’ll answer some of the common questions about Grid Layout in production – from dealing with old browsers to what might come next in CSS for layout. There will be plenty of practical tips for you to use in your projects today.
Objective
To give attendees practical ways in which they can use new CSS to solve tricky problems
Target Audience
Front-end developers
Assumed Audience Knowledge
Some CSS knowledge
Five Things Audience Members Will Learn
CSS Grid
Flexbox
Box alignment
Feature queries
CSS tips and tricks
The document discusses CSS Grid Layout as a new method for controlling page layout with CSS. It provides examples of using Grid Layout properties like grid-template-columns, grid-template-rows, and grid-column to define a grid structure and position elements within that grid. Key benefits highlighted include describing the layout solely in CSS, ability to redefine the layout at different breakpoints, and eliminating the need for layout hacks or non-semantic markup used by older methods.
This document discusses CSS Grid Layout and how it provides a designed-for-purpose layout system. It describes how grid is defined using CSS properties like display: grid and grid-template-columns. Elements can then be precisely positioned on the grid using line-based placement with properties like grid-column and grid-row. The document provides examples of common layout patterns like the holy grail layout implemented with grid. It also covers topics like implicit and explicit grid lines, named lines and areas, and redefining the grid at different breakpoints.
This document summarizes Rachel Andrew's presentation on CSS Grid Layout. Some key points:
- CSS Grid Layout provides a new two-dimensional layout system for CSS that solves many of the problems of previous methods like floats and flexbox.
- Grid uses line-based placement, with grid lines that can be explicit or implicit, to position items on the page. Properties like grid-column and grid-row position items within the grid.
- The grid template establishes the structure of rows and columns. Items can span multiple tracks. Fraction units like fr distribute space proportionally.
- Common layouts like Holy Grail are easily achieved with Grid. The structure can also adapt at breakpoints by redefining
All Day Hey! Unlocking The Power of CSS Grid LayoutRachel Andrew
- The document provides an overview and examples of CSS Grid Layout features such as grid-template-columns, grid-template-rows, grid-gap, grid-column, grid-row, and more.
- It demonstrates how to size grid tracks using fixed, intrinsic, and flexible sizing functions like fr units, minmax(), auto, fit-content(), and others.
- Examples are given for aligning and aligning content within grids using properties like justify-content, align-content, justify-items, align-items and more.
SmashingConf SF: Unlocking the Power of CSS Grid LayoutRachel Andrew
UNLOCKING THE POWER OF CSS GRID LAYOUT
Once you have grasped the basics of CSS Grid, you quickly discover how it enables many existing design patterns in a streamlined, elegant way. However, we shouldn’t see Grid in isolation. Understanding how other parts of CSS work together with Grid is key, in order to get the most out of our new abilities.
In this talk Rachel will be concentrating on a couple of these areas, CSS Box Alignment and CSS Sizing. Rachel will show you practical ways in which a little bit of knowledge in these areas can unlock the full potential of the Grid Specification. You’ll learn how to create useful components and to start thinking of ways in which you can solve design and interface problems in more creative ways.
The document provides a summary of a WordPress Meetup on CSS Grid Layout. It discusses various grid sizing techniques like intrinsic sizing with auto, min-content, max-content, and fit-content. It also covers flexible sizing with fr units and minimum and maximum sizing with minmax(). Other topics include alignment of tracks with align-content and justify-content, alignment of items with align-items and justify-items, and writing modes. Throughout it provides code examples and links to further resources.
The document provides a summary of Rachel Andrew's presentation on CSS layout at Smashing Conf London. It includes links to various CSS specifications and code examples demonstrating different CSS layout techniques like grid sizing, intrinsic sizing, flexible lengths with fr units, minimum and maximum sizing, and responsive design patterns using media queries and feature queries.
Grid layout has now landed in all of the mainstream desktop browsers. It's exciting but how do we start to move to using grid layout, and why should we?
This document discusses the evolving nature of front-end development over time. It notes that in the past, skills like knowing HTML and CSS were highly marketable on their own. However, the field has grown increasingly complex with many new techniques and tools. The document encourages focusing on core fundamentals first before jumping to new tools, and stresses the importance of contributing to standards and open web platforms through techniques like filing issues to improve interoperability.
The document discusses using CSS grid layout to create magazine-style page layouts and fancy headers. It provides examples of creating a flexible "media object" with images and text that can stack on mobile. It also demonstrates making a "half-border box" and positioning elements in a "magazine-style layout" with multiple images and a caption. Finally, it shows how to style a run header with the distance in a circular shape and background image.
An Event Apart DC - New CSS Layout meets the Real WorldRachel Andrew
The document discusses using CSS Grid Layout and other modern CSS techniques to create magazine-style layouts and interfaces. Some key points:
- The Media Object pattern is demonstrated using CSS Grid Layout, with images and text arranged in columns and rows.
- Flexbox and minmax() are used to create flexible layouts with auto-sizing elements.
- Feature queries allow applying styles conditionally based on browser support for CSS features.
- Techniques like shape-outside and grid areas are used to create magazine-style layouts with images, captions, and floating elements. Fancy headers with circular elements are also demonstrated.
The document discusses the origins and development process of CSS specifications. It explains that specs originate from browser vendors, other software companies, and the CSS working group. New specs are developed through a multi-stage process involving drafts, implementations, feedback, and standardization. The community can influence this process by testing experimental implementations, providing feedback, and reporting issues.
Semantic Cultivators : The Critical Future Role to Enable AIartmondano
By 2026, AI agents will consume 10x more enterprise data than humans, but with none of the contextual understanding that prevents catastrophic misinterpretations.
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...Alan Dix
Talk at the final event of Data Fusion Dynamics: A Collaborative UK-Saudi Initiative in Cybersecurity and Artificial Intelligence funded by the British Council UK-Saudi Challenge Fund 2024, Cardiff Metropolitan University, 29th April 2025
https://alandix.com/academic/talks/CMet2025-AI-Changes-Everything/
Is AI just another technology, or does it fundamentally change the way we live and think?
Every technology has a direct impact with micro-ethical consequences, some good, some bad. However more profound are the ways in which some technologies reshape the very fabric of society with macro-ethical impacts. The invention of the stirrup revolutionised mounted combat, but as a side effect gave rise to the feudal system, which still shapes politics today. The internal combustion engine offers personal freedom and creates pollution, but has also transformed the nature of urban planning and international trade. When we look at AI the micro-ethical issues, such as bias, are most obvious, but the macro-ethical challenges may be greater.
At a micro-ethical level AI has the potential to deepen social, ethnic and gender bias, issues I have warned about since the early 1990s! It is also being used increasingly on the battlefield. However, it also offers amazing opportunities in health and educations, as the recent Nobel prizes for the developers of AlphaFold illustrate. More radically, the need to encode ethics acts as a mirror to surface essential ethical problems and conflicts.
At the macro-ethical level, by the early 2000s digital technology had already begun to undermine sovereignty (e.g. gambling), market economics (through network effects and emergent monopolies), and the very meaning of money. Modern AI is the child of big data, big computation and ultimately big business, intensifying the inherent tendency of digital technology to concentrate power. AI is already unravelling the fundamentals of the social, political and economic world around us, but this is a world that needs radical reimagining to overcome the global environmental and human challenges that confront us. Our challenge is whether to let the threads fall as they may, or to use them to weave a better future.
"Collab Space is an innovative collaboration platform designed to streamline teamwork, foster creativity, and enhance productivity. Whether you're working with colleagues, clients, or partners, Collab Space provides the tools you need to communicate effectively, manage projects effortlessly, and collaborate in real time—from anywhere in the world."
This is the keynote of the Into the Box conference, highlighting the release of the BoxLang JVM language, its key enhancements, and its vision for the future.
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.
Buckeye Dreamin 2024: Assessing and Resolving Technical DebtLynda Kane
Slide Deck from Buckeye Dreamin' 2024 presentation Assessing and Resolving Technical Debt. Focused on identifying technical debt in Salesforce and working towards resolving it.
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.
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc
Most consumers believe they’re making informed decisions about their personal data—adjusting privacy settings, blocking trackers, and opting out where they can. However, our new research reveals that while awareness is high, taking meaningful action is still lacking. On the corporate side, many organizations report strong policies for managing third-party data and consumer consent yet fall short when it comes to consistency, accountability and transparency.
This session will explore the research findings from TrustArc’s Privacy Pulse Survey, examining consumer attitudes toward personal data collection and practical suggestions for corporate practices around purchasing third-party data.
Attendees will learn:
- Consumer awareness around data brokers and what consumers are doing to limit data collection
- How businesses assess third-party vendors and their consent management operations
- Where business preparedness needs improvement
- What these trends mean for the future of privacy governance and public trust
This discussion is essential for privacy, risk, and compliance professionals who want to ground their strategies in current data and prepare for what’s next in the privacy landscape.
"Rebranding for Growth", Anna VelykoivanenkoFwdays
Since there is no single formula for rebranding, this presentation will explore best practices for aligning business strategy and communication to achieve business goals.
16. Flexbox
The flex-direction
property can take
a value of row to
display things as a
row or column to
display them as a
column.
nav ul{
display: flex;
justify-content: space-between;
flex-direction: row;
}
17. Flexbox
The visual order
can be switched
using row-reverse
or column-
reverse.
nav ul{
display: flex;
justify-content: space-between;
flex-direction: row-reverse;
}
18. Flexbox
Adding display:
flex to our
container element
causes the items
to display flexibly
in a row.
.wrapper {
display: flex;
}
19. Flexbox
The order
property means
we can change
the order of flex
items using CSS.
This does not
change their
source order.
li:nth-child(1) {
order: 3;
}
li:nth-child(2) {
order: 1;
}
li:nth-child(3) {
order: 4;
}
li:nth-child(4) {
order: 2;
}
20. Grid Layout
I have created a
grid on my
wrapper element.
The grid has 3
equal width
columns.
Rows will be
created as
required as we
position items
into them.
.wrapper {
display: grid;
grid-template-columns: 1fr 1fr
1fr;
}
21. Grid Layout
I am positioning
my elements
using CSS Grid
Layout line-based
positioning.
Setting a column
and a row line
using the grid-
column and grid-
row properties.
li:nth-child(1) {
grid-column: 3 ;
grid-row: 2 ;
}
li:nth-child(2) {
grid-column: 1 ;
grid-row: 2 ;
}
li:nth-child(3) {
grid-column: 1 ;
grid-row: 1 ;
}
li:nth-child(4) {
grid-column: 2 ;
grid-row: 1 ;
}
25. Grid Layout
When using
automatic
placement we
can create rules
for items in our
document - for
example
displaying
portrait and
landscape images
differently.
.wrapper {
display: grid;
grid-template-columns: 1fr 1fr
1fr 1fr;
grid-template-rows: auto;
}
.landscape {
grid-column-end: span 2;
}
26. grid-auto-
flow
The default value of grid-
auto-flow is sparse. Grid will
move forward planning
items skipping cells if items
do not fit .
27. Grid Layout
With a dense
packing mode
grid will move
items out of
source order to
backfill spaces.
.wrapper {
display: grid;
grid-template-columns: 1fr 1fr
1fr 1fr;
grid-template-rows: auto;
grid-auto-flow: dense;
}
.landscape {
grid-column-end: span 2;
}
30. Power and responsibility
• Good = creating the most accessible source
order and using Grid or Flexbox to get the
optimal display for each device.
• Bad = using Grid or Flexbox as an excuse to
forget about the source.
• Terrible - stripping out semantic elements to
make everything a grid or flex item.
34. CSS Box Alignment Module Level 3
“This module contains the features of CSS relating to the
alignment of boxes within their containers in the various CSS
box layout models: block layout, table layout, flex layout, and
grid layout.” - https://drafts.csswg.org/css-align/
37. Flexbox
The justify-
content property
is set to space-
between.
The items at each
end are placed
against the
container and the
remaining space
distributed evenly.
nav ul{
display: flex;
justify-content: space-between;
flex-direction: row;
}
38. Flexbox
The justify-
content property
is set to space-
around.
The items are
evenly distributed
in the container
with a half size
space at each end.
nav ul{
display: flex;
justify-content: space-around;
flex-direction: row;
}
39. Grid
If there is space in
the grid container
after all column
and row tracks
have been added.
Use space-around
and space-
between to space
the tracks.
.wrapper {
width: 500px;
height: 400px;
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(4,
80px);
grid-template-rows: repeat(3,100px);
align-content: space-around;
justify-content: space-between;
}
40. Flexbox
The value of align-
items is stretch
by default.
If I add extra text
in one navigation
point the others
all take the same
height.
nav ul{
display: flex;
justify-content: space-around;
flex-direction: row;
align-items: stretch;
}
41. Flexbox
If I set the value
of align-items to
center then we
get vertical
centring.
nav ul{
display: flex;
justify-content: space-around;
flex-direction: row;
align-items: center;
}
42. My grid has an
absolute width
and height. This is
larger than
required for the
tracks.
.wrapper {
width: 500px;
height: 400px;
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(4, 80px);
grid-template-rows: repeat(3,100px);
}
43. The align-content
property controls
the block axis.
This axis aligns
the grid rows.
.wrapper {
width: 500px;
height: 400px;
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(4, 80px);
grid-template-rows: repeat(3,100px);
align-content: end;
}
44. The justify-
content property
controls the inline
axis.
This axis aligns
the grid columns.
.wrapper {
width: 500px;
height: 400px;
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(4, 80px);
grid-template-rows: repeat(3,100px);
align-content: end;
justify-content: center;
}
45. I can create this
same layout with
flexbox or Grid.
With flexbox the
items are laid out
in a row.
.wrapper {
display: flex;
}
.wrapper li {
flex: 1 0 25%;
}
46. The first item is at
the default
stretch and as the
tallest item is
dictating the
height of the flex
container.
The second is
entered in the
container.
The third aligned
to the start.
The fourth aligned
to the end.
.wrapper li:nth-child(2) {
align-self: center;
}
.wrapper li:nth-child(3) {
align-self: flex-start;
}
.wrapper li:nth-child(4) {
align-self: flex-end;
}
47. For Grid I use a
single row, 4
column Grid.
.wrapper {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
}
48. Grid alignment
properties for the
three landscape
images.
.wrapper li:nth-child(2) {
align-self: center;
}
.wrapper li:nth-child(3) {
align-self: start;
}
.wrapper li:nth-child(4) {
align-self: end;
}
54. Setting align-
items to centre
lines the fields
and labels up on
their centre line.
.login > div {
display: grid;
grid-template-columns: 1fr 2fr;
align-items: center;
}
.login > div.actions {
grid-template-columns: 1fr 1fr 1fr;
}
58. Flexbox
The most simple
flexbox example
demonstrates the
inherent
flexibility.
The items will be
displayed as a
row, with equal
space between
each item.
nav ul{
display: flex;
justify-content: space-between;
}
59. The flex property
• flex-grow - add space
• flex-shrink - remove space
• flex-basis - the initial size before any growing
or shrinking
60. Flexbox
flex: 1 1 300px;
flex-grow: 1
flex-shrink: 1;
flex-basis:
300px;
The initial width
of our li is 300
pixels, however it
can grow larger
and shrink
smaller than 300
pixels.
.wrapper {
display: flex;
}
.wrapper li {
flex: 1 1 300px;
min-width: 1px;
}
62. Flexbox
flex: 1 1 300px;
flex-grow: 1
flex-shrink: 1;
flex-basis:
300px;
If we allow the
flex items to
wrap we can see
how flex-basis
works by
dragging the
window smaller.
.wrapper {
display: flex;
flex-flow: row wrap;
justify-content: space-around;
}
.wrapper li {
flex: 1 1 300px;
min-width: 1px;
}
66. Flexbox
If we set the 3rd
item to
flex-grow: 2
This item will be
assigned twice of
much of the
available free
space after we
have reached the
300 pixel initial
width.
.wrapper {
display: flex;
}
.wrapper li {
flex: 1 1 300px;
min-width: 1px;
}
.wrapper li:nth-child(3) {
flex: 2 1 300px;
}
70. Grid Layout
I am creating
three grid column
tracks, all 1fr in
width.
This gives me
three equally
sized column
tracks.
.wrapper {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
}
71. Grid Layout
If I create the first
column as 600
pixels and then
have two 1fr
columns the 600
pixel track is
removed from the
available space
and the remainder
is distributed
equally between
the two columns.
.wrapper {
display: grid;
grid-template-columns: 600px 1fr 1fr;
}
72. Grid Layout
With a 600 pixel
column, a 1fr and
a 3fr column. The
600 pixels is
removed from the
available space
then the
remaining space is
divided by 4.
The 1fr column
gets 25% and the
3fr column 75%.
.wrapper {
display: grid;
grid-template-columns: 600px 1fr 3fr;
}
74. Flexbox for 1 dimensional layout.
CSS Grid is for 2 dimensional
layout.
76. The value of the
grid-template-
columns property
says:
repeat this track
listing, auto-filing
as many columns
with a minimum
width of 300
pixels and a
maximum of 1fr.
.wrapper {
display: grid;
grid-template-columns:
repeat(auto-fill, minmax(300px,
1fr));
}
83. An item on the
grid can become a
grid or flex
container itself.
In this case I am
using flexbox and
auto margins to
push my content
to the bottom of
the box.
.special {
display: flex;
flex-direction: column;
}
.special h3{
margin-top: auto;
}
87. I have set three
classes to
display: none;
.has-flex,
.has-grid,
.has-grid-shapes {
display: none;
}
88. My @supports
rule tests for
support of the
display property
with a value of
flex.
If it is supported
we show the div.
@supports (display: flex) {
.has-flex {
display: block;
}
}
89. My @supports
rule tests for
support of the
display property
with a value of
grid.
If it is supported
we show the div.
@supports (display: grid) {
.has-grid {
display: block;
}
}
90. My @supports
rule tests for
support of the
display property
with a value of
grid AND shape-
outside:circle.
If it is supported
we show the div.
@supports (display: grid) and
(shape-outside:circle()) {
.has-grid-shapes {
display: block;
}
}
93. Defaults for all
browsers will be
loaded by even
really old
browsers.
body {
padding-top: 20%;
}
h1,
.login,
.account,
.contact{
width:80%;
margin: 0 auto;
}
95. Within a Feature
Query we add
some information
for flexbox
supporting
browsers.
@supports (display: flex) {
body {
padding:0;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
}
h1, .login, .account, .contact {
margin: 0;
width: 80%;
}
}
103. Get involved with developing specs!
• While a spec is being developed your feedback
is wanted and can be included in the spec.
• Wait until browsers ship and you lose that
chance.
• It just got easier. CSS Spec issues are now on
GitHub.
http://logs.csswg.org/irc.w3.org/css/2016-05-10/#e684439