{"id":22661,"date":"2020-07-15T13:37:56","date_gmt":"2020-07-15T13:37:56","guid":{"rendered":"https:\/\/www.heartinternet.uk\/blog\/?p=22661"},"modified":"2020-07-15T13:37:56","modified_gmt":"2020-07-15T13:37:56","slug":"better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox","status":"publish","type":"post","link":"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/","title":{"rendered":"Better Website Layouts: 35 Learning Resources to Master CSS Grid and Flexbox"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">CSS Grid and Flexbox have revolutionised what\u2019s possible in layout design on the web. Both offerings are far more powerful than any layout techniques that came before them. Each one enables you to create more inspiring and unusual site designs.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In this article, we\u2019ve rounded up some of the best resources \u2013 from blog articles to tutorials \u2013 on both Grid and Flexbox to help you get the most out of them.\u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Best for: overviews and insight<\/span><\/h2>\n<h3><a href=\"https:\/\/every-layout.dev\/\"><span style=\"font-weight: 400;\">Every Layout\u00a0<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">This resource, created by <\/span><a href=\"https:\/\/twitter.com\/heydonworks\"><span style=\"font-weight: 400;\">Heydon Pickering<\/span><\/a><span style=\"font-weight: 400;\"> and <\/span><a href=\"https:\/\/twitter.com\/hankchizljaw\"><span style=\"font-weight: 400;\">Andy Bell<\/span><\/a><span style=\"font-weight: 400;\">, teaches you how to better harness the built-in algorithms that power browsers and CSS. Tips on using Flexbox and Grid are threaded throughout the site.\u00a0<\/span><\/p>\n<h3><a href=\"https:\/\/css-irl.info\/exciting-things-on-the-horizon-for-css-layout\/\"><span style=\"font-weight: 400;\">Exciting Things on the Horizon For CSS Layout<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">In this blog, Michelle Barker presents an overview of some exciting things that could have a big impact on CSS layout in the very near future, including Masonry-style layouts in Firefox (see below) and Chrome support for the <\/span><em><span style=\"font-weight: 400;\">gap<\/span><\/em><span style=\"font-weight: 400;\"> CSS property in Flexbox.<\/span><\/p>\n<h3><a href=\"https:\/\/ishadeed.com\/article\/grid-layout-flexbox-components\/\"><span style=\"font-weight: 400;\">Grid for Layout, Flexbox for Components<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">In this article, Ahmad Shadeed, an independent product designer and front-end developer from Palestine, explains the differences between CSS Grid and Flexbox, looks into how to decide which to use and how to combine both modules, and presents use cases and examples.\u00a0<\/span><\/p>\n<h3><a href=\"https:\/\/ishadeed.com\/article\/learn-box-alignment\/\"><span style=\"font-weight: 400;\">Learn Box Alignment<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">Also by Ahmad Shadeed, this article \u2013 which comes with interactive demos \u2013 walks you through box alignment and how it works with both CSS Grid and Flexbox. The premise is that you have a table and four plates. You\u2019ll learn how to align the plates differently using both layout methods.\u00a0<\/span><\/p>\n<h3><a href=\"https:\/\/blog.prototypr.io\/a-guide-to-css-grids-for-designers-flexbox-css-grid-floats-clears-9487659aed92\"><span style=\"font-weight: 400;\">A Guide to CSS Grids for Designers: Flexbox, CSS Grid, Floats &amp; Clears<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">A nice little overview of the history of CSS layouts and what you can do with Flexbox and CSS Grid. Each grid option has its perks, and you don\u2019t have to be restricted to just one. In most cases, mixing and matching techniques will provide the best results.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">CSS Grid techniques<\/span><\/h2>\n<h3><a href=\"http:\/\/www.js-craft.io\/blog\/making-a-responsive-css-grid-layout-with-just-3-properties\/\"><span style=\"font-weight: 400;\">Making a Responsive CSS Grid Layout With Just 3 Properties<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">You only need to know three CSS properties to make a fully responsive template based on CSS Grid, as this article by software engineer Daniel Nastase proves.<\/span><\/p>\n<h3><a href=\"https:\/\/css-tricks.com\/4-css-grid-properties-and-one-value-for-most-of-your-layout-needs\/\"><span style=\"font-weight: 400;\">4 CSS Grid Properties (and One Value) for Most of Your Layout Needs<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">A good companion piece to the above article, this one covers the smallest possible set of grid properties you need to know to meet most of your layout needs. The properties discussed are <\/span><em><span style=\"font-weight: 400;\">display<\/span><\/em><span style=\"font-weight: 400;\"> (for the <\/span><span style=\"font-weight: 400;\">grid<\/span><span style=\"font-weight: 400;\"> value), <\/span><em><span style=\"font-weight: 400;\">grid-template-columns<\/span><\/em><span style=\"font-weight: 400;\">, <\/span><em><span style=\"font-weight: 400;\">grid-gap<\/span><\/em><span style=\"font-weight: 400;\">, <\/span><em><span style=\"font-weight: 400;\">grid-auto-flow<\/span><\/em><span style=\"font-weight: 400;\"> and <\/span><em><span style=\"font-weight: 400;\">grid-column<\/span><span style=\"font-weight: 400;\"> \/ <\/span><span style=\"font-weight: 400;\">grid-row<\/span><\/em><span style=\"font-weight: 400;\">.<\/span><\/p>\n<h3><a href=\"https:\/\/www.smashingmagazine.com\/2020\/01\/understanding-css-grid-container\/\"><span style=\"font-weight: 400;\">Understanding CSS Grid: Creating A Grid Container<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">This new series on Smashing Magazine, written by editor-in-chief Rachel Andrew, aims to take you from CSS Grid beginner to expert. The first part covers what happens when you create a grid container and the various properties that you can use on the parent element to control your grid.\u00a0<\/span><\/p>\n<h3><a href=\"https:\/\/www.smashingmagazine.com\/2020\/01\/understanding-css-grid-lines\/\"><span style=\"font-weight: 400;\">Understanding CSS Grid: Grid Lines<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">In part 2, Rachel Andrew explains how to place items against grid lines by adding properties to the direct children of the grid container. Among other things, she covers the placement properties, how to use <\/span><em><span style=\"font-weight: 400;\">grid-area<\/span><\/em><span style=\"font-weight: 400;\"> to place by line number, and how to place items according to line name.<\/span><\/p>\n<h3><a href=\"https:\/\/www.smashingmagazine.com\/understanding-css-grid-template-areas\/\"><span style=\"font-weight: 400;\">Understanding CSS Grid: Grid Template Areas<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">In the final part of her series on the CSS Grid Layout spec, Rachel Andrew explores how to use the <\/span><em><span style=\"font-weight: 400;\">grid-template-areas<\/span><\/em><span style=\"font-weight: 400;\"> property to define placement on the grid and find out how the property really works. Rachel says this method is a lovely way to experiment with layouts, and she often uses it when prototyping a layout.<\/span><\/p>\n<h3><a href=\"https:\/\/ishadeed.com\/article\/grid-area\/\"><span style=\"font-weight: 400;\">CSS Grid Template Areas In Action<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">Ahmad Shadeed explains how to put the <\/span><span style=\"font-weight: 400;\">grid-template-areas<\/span><span style=\"font-weight: 400;\"> property to use and shares his insights. He includes use cases and demos, reusability and design systems, progressive enhancement and more.\u00a0<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-22693 size-large\" src=\"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/image1-1-1024x507.png\" alt=\"\" width=\"850\" height=\"421\" \/><\/p>\n<p><i><span style=\"font-weight: 400;\">The Firefox DevTools have some great options for debugging CSS. For example, it shows the grid area names and a little representation of the <\/span><\/i><i><span style=\"font-weight: 400;\">grid-template-areas<\/span><\/i><i><span style=\"font-weight: 400;\"> value in the bottom right corner.<\/span><\/i><\/p>\n<h3><a href=\"https:\/\/blog.logrocket.com\/flexible-layouts-without-media-queries\/\"><span style=\"font-weight: 400;\">Flexible Layouts Without Media Queries<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">This article looks into how we can create flexible layout components with CSS Grid and math functions to gain more control over the hypothetical instructions we inscribe into our components.<\/span><\/p>\n<h3><a href=\"https:\/\/ethanmarcotte.com\/wrote\/css-grid-without-max-width\/\"><span style=\"font-weight: 400;\">Constrained CSS Grids Without <\/span><span style=\"font-weight: 400;\">max-width<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">Ethan Marcotte, who coined the term \u2018responsive web design\u2019, shares a little layout technique he\u2019s using in <\/span><a href=\"https:\/\/ethanmarcotte.com\/wrote\/let-a-website-be-a-worry-stone\/\"><span style=\"font-weight: 400;\">this latest version of his site<\/span><\/a><span style=\"font-weight: 400;\">. He explains how he uses CSS Grid \u2013 and in particular the empty space around his design \u2013 to create a layout that has a maximum width but can also conveniently be extended into a full-bleed layout when needed.<\/span><\/p>\n<h3><a href=\"https:\/\/ishadeed.com\/article\/intrinsic-sizing-in-css\/\"><span style=\"font-weight: 400;\">Intrinsic Sizing In CSS<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">Ahmad Shadeed explores intrinsic sizing in CSS \u2013 including extrinsic sizing, min, max and fit content, browser support as well as use cases and examples \u2013 and explains how to use those values in combination with CSS Grid and other properties.<\/span><\/p>\n<h3><a href=\"https:\/\/css-tricks.com\/books\/greatest-css-tricks\/flexible-grids\/\"><span style=\"font-weight: 400;\">Flexible Grids<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">This article is part of CSS Tricks\u2019 in-progress book of the best CSS tricks (to access it, you need to purchase <\/span><a href=\"https:\/\/css-tricks.com\/product\/mvp-supporter\/\"><span style=\"font-weight: 400;\">MVP Supporter<\/span><\/a><span style=\"font-weight: 400;\">, or <\/span><a href=\"https:\/\/css-tricks.com\/my-account\/?wcm_redirect_to=chapters&amp;wcm_redirect_id=306989\"><span style=\"font-weight: 400;\">log in<\/span><\/a><span style=\"font-weight: 400;\"> if you are a member). Chris Coyier explains how to make a column layout that doesn\u2019t declare the number of columns or rows, but automatically instead. Chris calls it \u201cthe most famous and useful code in all of CSS Grid\u201d.<\/span><\/p>\n<h3><a href=\"https:\/\/www.bram.us\/2020\/05\/04\/css-grid-layout-module-level-2-masonry-layout\/\"><span style=\"font-weight: 400;\">CSS Grid Layout Module Level 2: Masonry Layout<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">This tutorial explains how you can enable a Masonry layout \u2013 a grid layout based on columns, as popularized by Pinterest \u2013 in Firefox Nightly and also contains a CodePen that demonstrates how it works. For more information, see <\/span><a href=\"https:\/\/rachelandrew.co.uk\/archives\/2020\/05\/05\/does-masonry-belong-in-the-css-grid-specification\/\"><span style=\"font-weight: 400;\">Rachel Andrew\u2019s thoughts on the proposal<\/span><\/a><span style=\"font-weight: 400;\"> to add Masonry into the Grid specification, along with a demo and a request for readers to add their own comments on the CSS WG thread.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">CSS Grid Projects<\/span><\/h2>\n<h3><a href=\"https:\/\/dev.to\/codyhouse\/flash-grid-learn-css-grid-by-building-a-grid-system-2c4f\"><span style=\"font-weight: 400;\">Flash Grid: Learn CSS Grid by Building a Grid System<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">Join Sebastiano Guerriero in building a lightweight grid system and deepen your understanding of CSS Grid. The article touches on the main CSS Grid properties, and includes some practical tricks to get the most out of this powerful layout system.<\/span><\/p>\n<h3><a href=\"https:\/\/css-tricks.com\/new-year-new-job-lets-make-a-grid-powered-resume\/\"><span style=\"font-weight: 400;\">New Year, New Job? Let\u2019s Make a Grid-Powered Resume!<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">Developer Ali Churcher explores how to use CSS Grid to create a layout for a CV that looks great when printed out at different screen sizes, just in case an employer or client needs a physical copy, too.<\/span><\/p>\n<h3><a href=\"https:\/\/blog.stephaniestimac.com\/posts\/12-29-2019-bullet-journal\/\"><span style=\"font-weight: 400;\">Building My Bullet Journal Layout With CSS Grid &amp; Subgrid &amp; Flexbox<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">Visual designer and front-end developer Stephanie Stimac explains how she built her <\/span><a href=\"https:\/\/stephaniestimac.com\/css-grid-experiments\/project6\/\"><span style=\"font-weight: 400;\">bullet journal demo<\/span><\/a><span style=\"font-weight: 400;\">, which she uses to track a few monthly goals, bills, her weekly tasks and her schedule. As subgrid isn\u2019t supported in all browsers yet, she redefines the template columns from the parent grid.<\/span><\/p>\n<h3><a href=\"https:\/\/tympanus.net\/codrops\/2020\/02\/05\/crafting-a-cutout-collage-layout-with-css-grid-and-clip-path\/\"><span style=\"font-weight: 400;\">Crafting a Cutout Collage Layout with CSS Grid and Clip-path<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">This article explains how you can use CSS Grid, Flexbox and clip-path to code up an accessible and responsive layout featuring a subtle parallax scroll effect (made possible with just one line of JavaScript!).\u00a0<\/span><\/p>\n<h3><a href=\"https:\/\/www.shopify.com\/partners\/blog\/css-grid-framework\"><span style=\"font-weight: 400;\">A CSS Grid Framework for Shopify Collection Pages<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">All of the pages of a Shopify store can adopt CSS Grid, but one that can benefit the most from a robust and clean grid layout is the collection page. This article goes over how to set up a grid layout for products on your collection pages, and how to use Shopify&#8217;s section settings to create customizable options in the online store editor.\u00a0<\/span><\/p>\n<h3><a href=\"https:\/\/css-tricks.com\/how-to-stack-elements-in-css\/\"><span style=\"font-weight: 400;\">How to Stack Elements in CSS<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">Sarah Drasner explains that you can use <\/span><span style=\"font-weight: 400;\"><em>display: grid<\/em>;<\/span><span style=\"font-weight: 400;\"> to stack elements without setting any absolute positioning. She demonstrates two different ways \u2013 one with the position property and one with CSS Grid \u2013 you can use if you need two elements to overlap or exist in the same place, or may even just need them to be positioned near or next to each other.\u00a0<\/span><\/p>\n<h3><a href=\"https:\/\/snook.ca\/archives\/html_and_css\/overlapping-header-with-css-grid\"><span style=\"font-weight: 400;\">Overlapping Header with CSS Grid<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">In this article, Jonathan Snook, who\u2019s been <\/span><a href=\"https:\/\/snook.ca\/archives\/html_and_css\/playing-with-css-grid\"><span style=\"font-weight: 400;\">playing with CSS Grid<\/span><\/a><span style=\"font-weight: 400;\"> (check out his clever use of nth-child), explains how he made the header in his design overlap the content with CSS Grid. No need to use negative margins anymore, you can now achieve this effect with CSS Grid.\u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Flexbox<\/span><\/h2>\n<h3><a href=\"https:\/\/polypane.app\/blog\/4-css-layouts-without-using-media-queries\/\"><span style=\"font-weight: 400;\">4 CSS Layouts Without Using Media Queries<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">Inspired by a tweet that showed how just 13 lines of CSS can give you four separate layouts, this post demonstrates that thanks to Flexbox it\u2019s possible to make responsive layouts without having to define fixed breakpoints with media queries.\u00a0<\/span><\/p>\n<h3><a href=\"https:\/\/scotch.io\/tutorials\/centering-things-with-css-flexbox\"><span style=\"font-weight: 400;\">Centering Things with CSS Flexbox<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">Especially useful for beginners, this article (with accompanying screencast), covers centering horizontally and vertically with Flexbox as well as spacing to the left and right.\u00a0<\/span><\/p>\n<p>https:\/\/youtu.be\/KMvB08yNqlI<\/p>\n<h3><a href=\"https:\/\/chenhuijing.com\/blog\/flexbox-and-absolute-positioning\/\"><span style=\"font-weight: 400;\">Flexbox and Absolute Positioning<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">Chen Hui Jing looks at what happens when you absolutely position a flex item and talks about a related bug in Firefox\u2019s developer tools.\u00a0<\/span><\/p>\n<h3><a href=\"https:\/\/www.stefanjudis.com\/today-i-learned\/safe-unsafe-alignment-in-css-flexbox\/\"><span style=\"font-weight: 400;\">Safe\/Unsafe Alignment in CSS Flexbox<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">Learn how safe alignment can prevent data loss in CSS Flexbox layouts.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Demos<\/span><\/h2>\n<h3><a href=\"https:\/\/codepen.io\/andybarefoot\/full\/oNjxYYG\"><span style=\"font-weight: 400;\">Responsive CSS Grid \u2013 Books<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">A &#8220;product grid&#8221; demo by Andy Barefoot using CSS Grid, clip-path, Conic Gradient, Lea Verou&#8217;s <\/span><a href=\"https:\/\/leaverou.github.io\/conic-gradient\/conic-gradient.js\"><span style=\"font-weight: 400;\">CSS conic-gradient() polyfill<\/span><\/a><span style=\"font-weight: 400;\"> and a <\/span><a href=\"https:\/\/dribbble.com\/shots\/6509733-Bibelot-pt-II\"><span style=\"font-weight: 400;\">colour palette taken from Jay Fletcher&#8217;s work on Dribbble<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<h3><a href=\"https:\/\/codepen.io\/oliviale\/pen\/RwNdeeQ\"><span style=\"font-weight: 400;\">CSS Grid: Cross Stitch<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">Olivia Ng used 1060 divs to create a stunning, grid-based illustration. Recommended if you like to test your patience.<\/span><\/p>\n<h3><a href=\"https:\/\/codepen.io\/argyleink\/pen\/LYEegOO\"><span style=\"font-weight: 400;\">Flexbox Responsive Form<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">Adam Argyle created this responsive form with four potential layouts that is powered by Flexbox.<\/span><\/p>\n<h3><a href=\"https:\/\/cssmondrian.com\/\"><span style=\"font-weight: 400;\">CSS Mondrian<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">Piet Mondrian-style art using CSS Grid made by Adam Fuhrer.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-22691 size-large\" src=\"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/image2-1-1024x576.png\" alt=\"\" width=\"850\" height=\"478\" \/><\/p>\n<h2><span style=\"font-weight: 400;\">Video tutorials<\/span><\/h2>\n<h3><a href=\"https:\/\/www.youtube.com\/watch?v=8bhKjoowr4c\"><span style=\"font-weight: 400;\">A Grid of Squares<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">In this video (and <\/span><a href=\"https:\/\/css-tricks.com\/a-grid-of-logos-in-squares\/\"><span style=\"font-weight: 400;\">tutorial<\/span><\/a><span style=\"font-weight: 400;\">), Chris Coyier of CSS-Tricks and CodePen fame, uses CSS Grid to build a literal grid of squares with some logos centred inside each square. You\u2019ll learn a nifty trick to ensure the grid items maintain an aspect ratio, as well as how to use <\/span><i><span style=\"font-weight: 400;\">object-fit<\/span><\/i><span style=\"font-weight: 400;\"> and absolute positioning.<\/span><\/p>\n<p><iframe loading=\"lazy\" title=\"A Grid of Squares\" width=\"1080\" height=\"608\" src=\"https:\/\/www.youtube.com\/embed\/8bhKjoowr4c?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<h3><a href=\"https:\/\/www.youtube.com\/playlist?list=PLgjjGlfBflIQG5Oef4Y1BEr5EDNRUFwqC\"><span style=\"font-weight: 400;\">Layout with CSS Grid &amp; Subgrid<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">These videos presented by Mozilla Developer, Miriam Suzanne explain how to <\/span><a href=\"https:\/\/youtu.be\/KOvGeFUHAC0\"><span style=\"font-weight: 400;\">build some previously-complex layouts in under 10 minutes<\/span><\/a><span style=\"font-weight: 400;\">, why <\/span><a href=\"https:\/\/youtu.be\/lLnFtK1LNu4\"><span style=\"font-weight: 400;\">you don&#8217;t need to wait to use subgrid for better card layouts<\/span><\/a><span style=\"font-weight: 400;\"> and <\/span><a href=\"https:\/\/youtu.be\/gmQlK3kRft4\"><span style=\"font-weight: 400;\">how to align form labels and inputs in a grid-like layout<\/span><\/a><span style=\"font-weight: 400;\"> with CSS subgrid, and several quick fallbacks.<\/span><\/p>\n<p><iframe loading=\"lazy\" title=\"Build a Classic Layout FAST in CSS Grid\" width=\"1080\" height=\"608\" src=\"https:\/\/www.youtube.com\/embed\/KOvGeFUHAC0?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<h3><a href=\"https:\/\/www.youtube.com\/watch?v=wfXz8rW_fUs\"><span style=\"font-weight: 400;\">CSS Grid \u2013 10 Examples<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">James Q Quick spent two weeks learning about CSS Grid and in this video shows you how to use it by creating 10 examples with CSS Grid.<\/span><\/p>\n<p><iframe loading=\"lazy\" title=\"10 Examples of CSS Grid - Getting Started\" width=\"1080\" height=\"608\" src=\"https:\/\/www.youtube.com\/embed\/wfXz8rW_fUs?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<h3><a href=\"https:\/\/thegymnasium.com\/take5\/prototyping-in-the-browser-with-css-grid-layout\"><span style=\"font-weight: 400;\">Prototyping in the Browser with CSS Grid Layout<\/span><\/a><\/h3>\n<p><span style=\"font-weight: 400;\">Learn the benefits of prototyping web page layouts using CSS Grid Layout in this hands-on tutorial with Jeremy Osborn. He does a great job of explaining why prototyping in the browser with CSS Grid is so powerful.<\/span><\/p>\n<p><iframe loading=\"lazy\" title=\"Prototyping in the Browser with CSS Grid Layout\" width=\"1080\" height=\"608\" src=\"https:\/\/www.youtube.com\/embed\/IqAizKPCC9U?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p><i><span style=\"font-weight: 400;\">For more information about CSS Grid and Flexbox, also check out Mozilla\u2019s MDN web docs on <\/span><\/i><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/CSS\/CSS_Grid_Layout\"><i><span style=\"font-weight: 400;\">CSS Grid Layout<\/span><\/i><\/a><i><span style=\"font-weight: 400;\">, <\/span><\/i><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/CSS\/CSS_Flexible_Box_Layout\"><i><span style=\"font-weight: 400;\">CSS Flexible Box Layout<\/span><\/i><\/a><i><span style=\"font-weight: 400;\">, and the relationship of <\/span><\/i><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/CSS\/CSS_Grid_Layout\/Relationship_of_Grid_Layout\"><i><span style=\"font-weight: 400;\">grid layout<\/span><\/i><\/a><i><span style=\"font-weight: 400;\"> and <\/span><\/i><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/CSS\/CSS_Flexible_Box_Layout\/Relationship_of_Flexbox_to_Other_Layout_Methods\"><i><span style=\"font-weight: 400;\">flexbox<\/span><\/i><\/a><i><span style=\"font-weight: 400;\"> to other layout methods.<\/span><\/i><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A round up of some of the best resources \u2013 from blog articles to tutorials \u2013 on both Grid and Flexbox to help you get the most out of them. <\/p>\n","protected":false},"author":2,"featured_media":22697,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,22,24,29],"tags":[],"class_list":{"0":"post-22661","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-guest-posts","8":"category-ui-ux","9":"category-web-design","10":"category-your-website"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Better Website Layouts: 35 Learning Resources to Master CSS Grid and Flexbox - Heart Internet<\/title>\n<meta name=\"description\" content=\"Better Website Layouts: 35 Learning Resources to Master CSS Grid and Flexbox - Written by the team at Heart Internet.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Better Website Layouts: 35 Learning Resources to Master CSS Grid and Flexbox - Heart Internet\" \/>\n<meta property=\"og:description\" content=\"Better Website Layouts: 35 Learning Resources to Master CSS Grid and Flexbox - Written by the team at Heart Internet.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/\" \/>\n<meta property=\"og:site_name\" content=\"Heart Internet\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/heartinternet\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-07-15T13:37:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/2020\/07\/UX.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1265\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Eliot Chambers-Ostler\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@heartinternet\" \/>\n<meta name=\"twitter:site\" content=\"@heartinternet\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Eliot Chambers-Ostler\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/\"},\"author\":{\"name\":\"Eliot Chambers-Ostler\",\"@id\":\"https:\/\/heartblog.victory.digital\/#\/schema\/person\/58ed7f27cc0f3ab6e69135742a5eee28\"},\"headline\":\"Better Website Layouts: 35 Learning Resources to Master CSS Grid and Flexbox\",\"datePublished\":\"2020-07-15T13:37:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/\"},\"wordCount\":1825,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/heartblog.victory.digital\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/2020\/07\/UX.jpg\",\"articleSection\":[\"Guest Posts\",\"UI\/UX\",\"Web Design\",\"Your Website\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/\",\"url\":\"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/\",\"name\":\"Better Website Layouts: 35 Learning Resources to Master CSS Grid and Flexbox - Heart Internet\",\"isPartOf\":{\"@id\":\"https:\/\/heartblog.victory.digital\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/2020\/07\/UX.jpg\",\"datePublished\":\"2020-07-15T13:37:56+00:00\",\"description\":\"Better Website Layouts: 35 Learning Resources to Master CSS Grid and Flexbox - Written by the team at Heart Internet.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/#primaryimage\",\"url\":\"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/2020\/07\/UX.jpg\",\"contentUrl\":\"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/2020\/07\/UX.jpg\",\"width\":1265,\"height\":500},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.heartinternet.uk\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Better Website Layouts: 35 Learning Resources to Master CSS Grid and Flexbox\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/heartblog.victory.digital\/#website\",\"url\":\"https:\/\/heartblog.victory.digital\/\",\"name\":\"Heart Internet\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/heartblog.victory.digital\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/heartblog.victory.digital\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/heartblog.victory.digital\/#organization\",\"name\":\"Heart Internet\",\"url\":\"https:\/\/heartblog.victory.digital\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/heartblog.victory.digital\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/2025\/02\/HeartInternet_Logo_Colour.webp\",\"contentUrl\":\"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/2025\/02\/HeartInternet_Logo_Colour.webp\",\"width\":992,\"height\":252,\"caption\":\"Heart Internet\"},\"image\":{\"@id\":\"https:\/\/heartblog.victory.digital\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/heartinternet\/\",\"https:\/\/x.com\/heartinternet\",\"https:\/\/www.linkedin.com\/company\/heart-internet-ltd\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/heartblog.victory.digital\/#\/schema\/person\/58ed7f27cc0f3ab6e69135742a5eee28\",\"name\":\"Eliot Chambers-Ostler\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/heartblog.victory.digital\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/2025\/08\/cropped-Eliot-96x96.jpg\",\"contentUrl\":\"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/2025\/08\/cropped-Eliot-96x96.jpg\",\"caption\":\"Eliot Chambers-Ostler\"},\"url\":\"https:\/\/www.heartinternet.uk\/blog\/author\/eliot-chambers-ostler\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Better Website Layouts: 35 Learning Resources to Master CSS Grid and Flexbox - Heart Internet","description":"Better Website Layouts: 35 Learning Resources to Master CSS Grid and Flexbox - Written by the team at Heart Internet.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/","og_locale":"en_GB","og_type":"article","og_title":"Better Website Layouts: 35 Learning Resources to Master CSS Grid and Flexbox - Heart Internet","og_description":"Better Website Layouts: 35 Learning Resources to Master CSS Grid and Flexbox - Written by the team at Heart Internet.","og_url":"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/","og_site_name":"Heart Internet","article_publisher":"https:\/\/www.facebook.com\/heartinternet\/","article_published_time":"2020-07-15T13:37:56+00:00","og_image":[{"width":1265,"height":500,"url":"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/2020\/07\/UX.jpg","type":"image\/jpeg"}],"author":"Eliot Chambers-Ostler","twitter_card":"summary_large_image","twitter_creator":"@heartinternet","twitter_site":"@heartinternet","twitter_misc":{"Written by":"Eliot Chambers-Ostler","Estimated reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/#article","isPartOf":{"@id":"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/"},"author":{"name":"Eliot Chambers-Ostler","@id":"https:\/\/heartblog.victory.digital\/#\/schema\/person\/58ed7f27cc0f3ab6e69135742a5eee28"},"headline":"Better Website Layouts: 35 Learning Resources to Master CSS Grid and Flexbox","datePublished":"2020-07-15T13:37:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/"},"wordCount":1825,"commentCount":0,"publisher":{"@id":"https:\/\/heartblog.victory.digital\/#organization"},"image":{"@id":"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/#primaryimage"},"thumbnailUrl":"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/2020\/07\/UX.jpg","articleSection":["Guest Posts","UI\/UX","Web Design","Your Website"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/","url":"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/","name":"Better Website Layouts: 35 Learning Resources to Master CSS Grid and Flexbox - Heart Internet","isPartOf":{"@id":"https:\/\/heartblog.victory.digital\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/#primaryimage"},"image":{"@id":"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/#primaryimage"},"thumbnailUrl":"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/2020\/07\/UX.jpg","datePublished":"2020-07-15T13:37:56+00:00","description":"Better Website Layouts: 35 Learning Resources to Master CSS Grid and Flexbox - Written by the team at Heart Internet.","breadcrumb":{"@id":"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/#primaryimage","url":"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/2020\/07\/UX.jpg","contentUrl":"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/2020\/07\/UX.jpg","width":1265,"height":500},{"@type":"BreadcrumbList","@id":"https:\/\/www.heartinternet.uk\/blog\/better-website-layouts-35-learning-resources-to-master-css-grid-and-flexbox\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.heartinternet.uk\/blog\/"},{"@type":"ListItem","position":2,"name":"Better Website Layouts: 35 Learning Resources to Master CSS Grid and Flexbox"}]},{"@type":"WebSite","@id":"https:\/\/heartblog.victory.digital\/#website","url":"https:\/\/heartblog.victory.digital\/","name":"Heart Internet","description":"","publisher":{"@id":"https:\/\/heartblog.victory.digital\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/heartblog.victory.digital\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/heartblog.victory.digital\/#organization","name":"Heart Internet","url":"https:\/\/heartblog.victory.digital\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/heartblog.victory.digital\/#\/schema\/logo\/image\/","url":"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/2025\/02\/HeartInternet_Logo_Colour.webp","contentUrl":"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/2025\/02\/HeartInternet_Logo_Colour.webp","width":992,"height":252,"caption":"Heart Internet"},"image":{"@id":"https:\/\/heartblog.victory.digital\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/heartinternet\/","https:\/\/x.com\/heartinternet","https:\/\/www.linkedin.com\/company\/heart-internet-ltd"]},{"@type":"Person","@id":"https:\/\/heartblog.victory.digital\/#\/schema\/person\/58ed7f27cc0f3ab6e69135742a5eee28","name":"Eliot Chambers-Ostler","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/heartblog.victory.digital\/#\/schema\/person\/image\/","url":"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/2025\/08\/cropped-Eliot-96x96.jpg","contentUrl":"https:\/\/www.heartinternet.uk\/blog\/wp-content\/uploads\/2025\/08\/cropped-Eliot-96x96.jpg","caption":"Eliot Chambers-Ostler"},"url":"https:\/\/www.heartinternet.uk\/blog\/author\/eliot-chambers-ostler\/"}]}},"_links":{"self":[{"href":"https:\/\/www.heartinternet.uk\/blog\/wp-json\/wp\/v2\/posts\/22661","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.heartinternet.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.heartinternet.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.heartinternet.uk\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.heartinternet.uk\/blog\/wp-json\/wp\/v2\/comments?post=22661"}],"version-history":[{"count":0,"href":"https:\/\/www.heartinternet.uk\/blog\/wp-json\/wp\/v2\/posts\/22661\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.heartinternet.uk\/blog\/wp-json\/wp\/v2\/media\/22697"}],"wp:attachment":[{"href":"https:\/\/www.heartinternet.uk\/blog\/wp-json\/wp\/v2\/media?parent=22661"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.heartinternet.uk\/blog\/wp-json\/wp\/v2\/categories?post=22661"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.heartinternet.uk\/blog\/wp-json\/wp\/v2\/tags?post=22661"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}