[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site-config":3,"blog-categories":6,"topic:css-gap":35,"course-tree":162},{"data":4},{"google_site_verification":5,"ga4_measurement_id":5,"site_name":5,"default_og_image":5,"twitter_handle":5},null,{"data":7},[8,14,19,25,30],{"name":9,"slug":10,"description":11,"post_count":12,"subcategories":13},"CSS","css","Learn CSS with practical tutorials and examples covering layouts, Flexbox, Grid, responsive design, typography, positioning, animations, and more.",2,[],{"name":15,"slug":16,"description":17,"post_count":12,"subcategories":18},"HTML","html","Learn HTML with practical tutorials and examples for beginners. Explore HTML tags, elements, attributes, links, images, forms, semantic HTML, and more with clear explanations and real code examples.",[],{"name":20,"slug":21,"description":22,"post_count":23,"subcategories":24},"WPF","wpf","Learn WPF with practical tutorials and examples covering XAML, windows, controls, layouts, data binding, MVVM, commands, styles, templates, debugging, and modern WPF UI development.",1,[],{"name":26,"slug":27,"description":28,"post_count":23,"subcategories":29},"Python","python","Learn Python with practical tutorials covering strings, lists, functions, exceptions, files, packages, virtual environments, modules, classes, and beginner programming concepts.",[],{"name":31,"slug":32,"description":33,"post_count":23,"subcategories":34},"Java","java","Learn Java with practical tutorials and examples for beginners. Explore Java syntax, variables, data types, classes, objects, methods, inheritance, exceptions, collections, and more with clear explanations and real code examples.",[],{"data":36},{"id":37,"title":38,"slug":39,"content":40,"course":41,"subcategory":42,"author":45,"reading_time_minutes":51,"cornerstone":52,"schema_type":53,"faq_json":5,"video_url":5,"canonical_url":54,"meta_title":55,"meta_description":56,"og_image":5,"toc_json":57,"code_examples":126,"quiz":140,"exercises":145,"published_at":5,"updated_at":153,"prev":154,"next":158},181,"CSS gap, row-gap and column-gap in Flexbox and Grid","css-gap","\u003Ch2 id=\"what-is-the-css-gap-property\">What is the CSS gap property?\u003C\u002Fh2>\u003Cp>The \u003Cstrong>CSS gap\u003C\u002Fstrong> property sets the space between flex or grid items. It is a shorthand for \u003Ccode>row-gap\u003C\u002Fcode> and \u003Ccode>column-gap\u003C\u002Fcode>. Unlike margin, gap adds space only \u003Cstrong>between\u003C\u002Fstrong> items and never on the outer edges, which makes spacing clean, predictable and easy to maintain. It is supported in all modern browsers for both \u003Cstrong>Flexbox\u003C\u002Fstrong> and \u003Cstrong>CSS Grid\u003C\u002Fstrong>.\u003C\u002Fp>\u003Ch3 id=\"syntax\">Syntax\u003C\u002Fh3>\u003Cpre>\u003Ccode>.container {\n  display: flex;\n  gap: 16px;              \u002F* row and column *\u002F\n  gap: 20px 10px;         \u002F* row-gap column-gap *\u002F\n  row-gap: 20px;\n  column-gap: 10px;\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3 id=\"properties-explained\">Properties explained\u003C\u002Fh3>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Property\u003C\u002Fth>\u003Cth>Controls\u003C\u002Fth>\u003Cth>Example\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>gap\u003C\u002Ftd>\u003Ctd>Shorthand for both directions\u003C\u002Ftd>\u003Ctd>gap: 16px 24px;\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>row-gap\u003C\u002Ftd>\u003Ctd>Space between rows (vertical in a row layout)\u003C\u002Ftd>\u003Ctd>row-gap: 20px;\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>column-gap\u003C\u002Ftd>\u003Ctd>Space between columns (horizontal in a row layout)\u003C\u002Ftd>\u003Ctd>column-gap: 10px;\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch3 id=\"how-the-shorthand-works\">How the shorthand works\u003C\u002Fh3>\u003Cp>With one value, it applies to both row and column gaps. With two values, the first is row-gap and the second is column-gap. Remember the order: \u003Cstrong>row first, column second\u003C\u002Fstrong>.\u003C\u002Fp>\u003Ch3 id=\"allowed-units\">Allowed units\u003C\u002Fh3>\u003Cul>\u003Cli>Absolute: px\u003C\u002Fli>\u003Cli>Relative: rem, em, vw, vh\u003C\u002Fli>\u003Cli>Percentages (resolve against the container size, mostly useful in Grid)\u003C\u002Fli>\u003Cli>Functions: calc(), clamp(), min(), max()\u003C\u002Fli>\u003Cli>CSS variables: gap: var(--space-4);\u003C\u002Fli>\u003C\u002Ful>\u003Ch3 id=\"gap-with-flex-wrap\">gap with flex-wrap\u003C\u002Fh3>\u003Cp>When flex items wrap, row-gap adds vertical space between lines and column-gap adds horizontal space between items. This replaces the old margin hacks with negative margins and gives perfect spacing on every line.\u003C\u002Fp>\u003Ch3 id=\"gap-vs-margin\">gap vs margin\u003C\u002Fh3>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Feature\u003C\u002Fth>\u003Cth>gap\u003C\u002Fth>\u003Cth>margin\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>Edge spacing\u003C\u002Ftd>\u003Ctd>None, only between items\u003C\u002Ftd>\u003Ctd>Added on every side\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Last-item fix needed\u003C\u002Ftd>\u003Ctd>No\u003C\u002Ftd>\u003Ctd>Yes (:last-child hacks)\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Set on\u003C\u002Ftd>\u003Ctd>Parent container\u003C\u002Ftd>\u003Ctd>Each child\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Wrapping layouts\u003C\u002Ftd>\u003Ctd>Clean\u003C\u002Ftd>\u003Ctd>Needs negative margin trick\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Collapsing\u003C\u002Ftd>\u003Ctd>No\u003C\u002Ftd>\u003Ctd>Vertical margins can collapse (not in flex)\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch3 id=\"fluid-and-responsive-gap\">Fluid and responsive gap\u003C\u002Fh3>\u003Cp>Use \u003Ccode>clamp()\u003C\u002Fcode> to scale spacing smoothly with the viewport:\u003C\u002Fp>\u003Cpre>\u003Ccode>.grid {\n  display: flex;\n  flex-wrap: wrap;\n  gap: clamp(12px, 2vw, 32px);\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3 id=\"using-gap-in-css-grid\">Using gap in CSS Grid\u003C\u002Fh3>\u003Cp>The same property works for Grid: \u003Ccode>display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;\u003C\u002Fcode>. Older names grid-gap, grid-row-gap and grid-column-gap are legacy aliases; use the unprefixed gap in new code.\u003C\u002Fp>\u003Ch3 id=\"browser-support\">Browser support\u003C\u002Fh3>\u003Cp>Grid gap has been supported for years. Flexbox gap is supported in Chrome 84+, Firefox 63+, Edge 84+ and Safari 14.1+, so it is safe for modern production projects.\u003C\u002Fp>\u003Ch3 id=\"real-world-use-cases\">Real-world use cases\u003C\u002Fh3>\u003Cul>\u003Cli>Card grids and product lists.\u003C\u002Fli>\u003Cli>Navbar link spacing.\u003C\u002Fli>\u003Cli>Form fields stacked in a column.\u003C\u002Fli>\u003Cli>Button groups and icon toolbars.\u003C\u002Fli>\u003Cli>Tag and badge clouds with wrapping.\u003C\u002Fli>\u003C\u002Ful>\u003Ch3 id=\"common-mistakes\">Common mistakes\u003C\u002Fh3>\u003Cul>\u003Cli>Expecting gap to add outer padding. It never does; use padding for that.\u003C\u002Fli>\u003Cli>Mixing up the order of the two-value shorthand (row then column).\u003C\u002Fli>\u003Cli>Using gap on a container that is not flex or grid.\u003C\u002Fli>\u003Cli>Adding both gap and margin on children and getting double spacing.\u003C\u002Fli>\u003Cli>Using percentage gaps in flex layouts and getting unexpected results with undefined container size.\u003C\u002Fli>\u003C\u002Ful>\u003Ch3 id=\"best-practices\">Best practices\u003C\u002Fh3>\u003Cul>\u003Cli>Prefer gap over margin for sibling spacing.\u003C\u002Fli>\u003Cli>Define a spacing scale with CSS variables and reuse it.\u003C\u002Fli>\u003Cli>Use clamp() for fluid spacing on responsive layouts.\u003C\u002Fli>\u003Cli>Use rem units so spacing respects user font-size settings.\u003C\u002Fli>\u003C\u002Ful>\u003Ch3 id=\"tailwind-css-equivalents\">Tailwind CSS equivalents\u003C\u002Fh3>\u003Cp>gap-4, gap-x-6, gap-y-2, gap-0. Example: \u003Ccode>flex flex-wrap gap-x-4 gap-y-2\u003C\u002Fcode>.\u003C\u002Fp>\u003Ch3 id=\"trending-keywords-related-to-this-topic\">Trending keywords related to this topic\u003C\u002Fh3>\u003Cp>CSS gap property, flexbox gap, row-gap column-gap, CSS grid gap, gap vs margin, responsive spacing clamp, Tailwind gap-4, modern CSS spacing 2026, CSS flex gap browser support, design tokens spacing.\u003C\u002Fp>\u003Ch3 id=\"frequently-asked-questions\">Frequently Asked Questions\u003C\u002Fh3>\u003Ch4 id=\"does-gap-work-with-flexbox\">Does gap work with Flexbox?\u003C\u002Fh4>\u003Cp>Yes, in all modern browsers including Safari 14.1 and above.\u003C\u002Fp>\u003Ch4 id=\"what-is-the-order-of-values-in-gap-10px-20px\">What is the order of values in gap: 10px 20px?\u003C\u002Fh4>\u003Cp>10px is row-gap and 20px is column-gap.\u003C\u002Fp>\u003Ch4 id=\"is-gap-better-than-margin\">Is gap better than margin?\u003C\u002Fh4>\u003Cp>For spacing between siblings, yes. It is cleaner and needs no last-child fixes.\u003C\u002Fp>\u003Ch4 id=\"does-gap-add-space-at-the-container-edges\">Does gap add space at the container edges?\u003C\u002Fh4>\u003Cp>No. Use padding on the container for edge spacing.\u003C\u002Fp>\u003Ch3 id=\"one-click-copy\">One-click copy\u003C\u002Fh3>\u003Cp>Code blocks ke Copy button se code copy karein. Cheat Sheet mein gap ke sab patterns ready hain.\u003C\u002Fp>\u003Cdiv class=\"try-it-yourself language-html\">\u003Cpre>\u003Ccode>&lt;style&gt;\n.demo{margin-bottom:14px;font-family:sans-serif}\n.demo h4{margin:0 0 6px;font-size:14px}\n.box{display:flex;flex-wrap:wrap;background:#f1f5f9;padding:10px;border-radius:8px;width:300px}\n.box div{background:#2980b9;color:#fff;padding:10px 0;width:80px;text-align:center;border-radius:6px}\n.g1{gap:6px}\n.g2{gap:20px}\n.g3{row-gap:24px;column-gap:6px}\n&lt;\u002Fstyle&gt;\n&lt;div class='demo'&gt;&lt;h4&gt;gap: 6px&lt;\u002Fh4&gt;&lt;div class='box g1'&gt;&lt;div&gt;1&lt;\u002Fdiv&gt;&lt;div&gt;2&lt;\u002Fdiv&gt;&lt;div&gt;3&lt;\u002Fdiv&gt;&lt;div&gt;4&lt;\u002Fdiv&gt;&lt;div&gt;5&lt;\u002Fdiv&gt;&lt;\u002Fdiv&gt;&lt;\u002Fdiv&gt;\n&lt;div class='demo'&gt;&lt;h4&gt;gap: 20px&lt;\u002Fh4&gt;&lt;div class='box g2'&gt;&lt;div&gt;1&lt;\u002Fdiv&gt;&lt;div&gt;2&lt;\u002Fdiv&gt;&lt;div&gt;3&lt;\u002Fdiv&gt;&lt;div&gt;4&lt;\u002Fdiv&gt;&lt;div&gt;5&lt;\u002Fdiv&gt;&lt;\u002Fdiv&gt;&lt;\u002Fdiv&gt;\n&lt;div class='demo'&gt;&lt;h4&gt;row-gap: 24px; column-gap: 6px&lt;\u002Fh4&gt;&lt;div class='box g3'&gt;&lt;div&gt;1&lt;\u002Fdiv&gt;&lt;div&gt;2&lt;\u002Fdiv&gt;&lt;div&gt;3&lt;\u002Fdiv&gt;&lt;div&gt;4&lt;\u002Fdiv&gt;&lt;div&gt;5&lt;\u002Fdiv&gt;&lt;\u002Fdiv&gt;&lt;\u002Fdiv&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\u003Cdiv class=\"try-it-yourself language-html\">\u003Cpre>\u003Ccode>&lt;style&gt;\n.fluid{display:flex;flex-wrap:wrap;gap:clamp(8px,3vw,32px);font-family:sans-serif}\n.fluid div{flex:1 1 140px;background:#10b981;color:#fff;padding:20px;border-radius:8px;text-align:center}\n&lt;\u002Fstyle&gt;\n&lt;div class='fluid'&gt;&lt;div&gt;One&lt;\u002Fdiv&gt;&lt;div&gt;Two&lt;\u002Fdiv&gt;&lt;div&gt;Three&lt;\u002Fdiv&gt;&lt;div&gt;Four&lt;\u002Fdiv&gt;&lt;\u002Fdiv&gt;\n&lt;p style='font-family:sans-serif'&gt;Resize the preview: the gap scales with the screen width.&lt;\u002Fp&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\u003Cdiv class=\"try-it-yourself language-html\">\u003Cpre>\u003Ccode>&lt;style&gt;\n:root{--space:16px}\n.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space);font-family:sans-serif}\n.grid div{background:#f59e0b;color:#fff;padding:24px;text-align:center;border-radius:8px}\n&lt;\u002Fstyle&gt;\n&lt;div class='grid'&gt;&lt;div&gt;1&lt;\u002Fdiv&gt;&lt;div&gt;2&lt;\u002Fdiv&gt;&lt;div&gt;3&lt;\u002Fdiv&gt;&lt;div&gt;4&lt;\u002Fdiv&gt;&lt;div&gt;5&lt;\u002Fdiv&gt;&lt;div&gt;6&lt;\u002Fdiv&gt;&lt;\u002Fdiv&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\u003Cdiv class=\"try-it-yourself language-css\">\u003Cpre>\u003Ccode>\u002F* gap Cheat Sheet *\u002F\n.uniform { display: flex; gap: 16px; }\n.two-values { display: flex; flex-wrap: wrap; gap: 24px 12px; } \u002F* row column *\u002F\n.rows { display: flex; flex-direction: column; row-gap: 20px; }\n.cols { display: flex; column-gap: 10px; }\n\n\u002F* Fluid gap *\u002F\n.fluid {\n  display: flex;\n  flex-wrap: wrap;\n  gap: clamp(12px, 2vw, 32px);\n}\n\n\u002F* With CSS variables *\u002F\n:root { --space-4: 1rem; }\n.tokens { display: flex; gap: var(--space-4); }\n\n\u002F* Works in Grid too *\u002F\n.grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n  gap: 24px;\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>",{"name":9,"slug":10},{"name":43,"slug":44},"Item Properties","item-properties",{"slug":46,"display_name":47,"job_title":5,"short_bio":5,"expertise_tags":48,"headshot":5,"long_bio":5,"credentials":5,"twitter_url":5,"linkedin_url":5,"github_url":5,"personal_website_url":5,"other_sameas_urls":5,"topics":49,"posts":50},"badar-khalil","Badar Khalil",[],[],[],3,false,"Article","https:\u002F\u002Fwpfsharp.com\u002Ftopics\u002Fcss-gap","CSS gap Property: row-gap & column-gap Explained (2026)","Learn the CSS gap property for Flexbox and Grid: row-gap, column-gap, shorthand, responsive gap with clamp(), gap vs margin and Tailwind gap classes.",[58],{"id":59,"text":60,"level":12,"children":61},"what-is-the-css-gap-property","What is the CSS gap property?",[62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122],{"id":63,"text":64,"level":51,"children":65},"syntax","Syntax",[],{"id":67,"text":68,"level":51,"children":69},"properties-explained","Properties explained",[],{"id":71,"text":72,"level":51,"children":73},"how-the-shorthand-works","How the shorthand works",[],{"id":75,"text":76,"level":51,"children":77},"allowed-units","Allowed units",[],{"id":79,"text":80,"level":51,"children":81},"gap-with-flex-wrap","gap with flex-wrap",[],{"id":83,"text":84,"level":51,"children":85},"gap-vs-margin","gap vs margin",[],{"id":87,"text":88,"level":51,"children":89},"fluid-and-responsive-gap","Fluid and responsive gap",[],{"id":91,"text":92,"level":51,"children":93},"using-gap-in-css-grid","Using gap in CSS Grid",[],{"id":95,"text":96,"level":51,"children":97},"browser-support","Browser support",[],{"id":99,"text":100,"level":51,"children":101},"real-world-use-cases","Real-world use cases",[],{"id":103,"text":104,"level":51,"children":105},"common-mistakes","Common mistakes",[],{"id":107,"text":108,"level":51,"children":109},"best-practices","Best practices",[],{"id":111,"text":112,"level":51,"children":113},"tailwind-css-equivalents","Tailwind CSS equivalents",[],{"id":115,"text":116,"level":51,"children":117},"trending-keywords-related-to-this-topic","Trending keywords related to this topic",[],{"id":119,"text":120,"level":51,"children":121},"frequently-asked-questions","Frequently Asked Questions",[],{"id":123,"text":124,"level":51,"children":125},"one-click-copy","One-click copy",[],[127,131,134,137],{"id":128,"language":16,"code":129,"is_editable":130},742,"\u003Cstyle>\n.demo{margin-bottom:14px;font-family:sans-serif}\n.demo h4{margin:0 0 6px;font-size:14px}\n.box{display:flex;flex-wrap:wrap;background:#f1f5f9;padding:10px;border-radius:8px;width:300px}\n.box div{background:#2980b9;color:#fff;padding:10px 0;width:80px;text-align:center;border-radius:6px}\n.g1{gap:6px}\n.g2{gap:20px}\n.g3{row-gap:24px;column-gap:6px}\n\u003C\u002Fstyle>\n\u003Cdiv class='demo'>\u003Ch4>gap: 6px\u003C\u002Fh4>\u003Cdiv class='box g1'>\u003Cdiv>1\u003C\u002Fdiv>\u003Cdiv>2\u003C\u002Fdiv>\u003Cdiv>3\u003C\u002Fdiv>\u003Cdiv>4\u003C\u002Fdiv>\u003Cdiv>5\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Cdiv class='demo'>\u003Ch4>gap: 20px\u003C\u002Fh4>\u003Cdiv class='box g2'>\u003Cdiv>1\u003C\u002Fdiv>\u003Cdiv>2\u003C\u002Fdiv>\u003Cdiv>3\u003C\u002Fdiv>\u003Cdiv>4\u003C\u002Fdiv>\u003Cdiv>5\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Cdiv class='demo'>\u003Ch4>row-gap: 24px; column-gap: 6px\u003C\u002Fh4>\u003Cdiv class='box g3'>\u003Cdiv>1\u003C\u002Fdiv>\u003Cdiv>2\u003C\u002Fdiv>\u003Cdiv>3\u003C\u002Fdiv>\u003Cdiv>4\u003C\u002Fdiv>\u003Cdiv>5\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>",true,{"id":132,"language":16,"code":133,"is_editable":130},743,"\u003Cstyle>\n.fluid{display:flex;flex-wrap:wrap;gap:clamp(8px,3vw,32px);font-family:sans-serif}\n.fluid div{flex:1 1 140px;background:#10b981;color:#fff;padding:20px;border-radius:8px;text-align:center}\n\u003C\u002Fstyle>\n\u003Cdiv class='fluid'>\u003Cdiv>One\u003C\u002Fdiv>\u003Cdiv>Two\u003C\u002Fdiv>\u003Cdiv>Three\u003C\u002Fdiv>\u003Cdiv>Four\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Cp style='font-family:sans-serif'>Resize the preview: the gap scales with the screen width.\u003C\u002Fp>",{"id":135,"language":16,"code":136,"is_editable":130},744,"\u003Cstyle>\n:root{--space:16px}\n.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space);font-family:sans-serif}\n.grid div{background:#f59e0b;color:#fff;padding:24px;text-align:center;border-radius:8px}\n\u003C\u002Fstyle>\n\u003Cdiv class='grid'>\u003Cdiv>1\u003C\u002Fdiv>\u003Cdiv>2\u003C\u002Fdiv>\u003Cdiv>3\u003C\u002Fdiv>\u003Cdiv>4\u003C\u002Fdiv>\u003Cdiv>5\u003C\u002Fdiv>\u003Cdiv>6\u003C\u002Fdiv>\u003C\u002Fdiv>",{"id":138,"language":10,"code":139,"is_editable":130},745,"\u002F* gap Cheat Sheet *\u002F\n.uniform { display: flex; gap: 16px; }\n.two-values { display: flex; flex-wrap: wrap; gap: 24px 12px; } \u002F* row column *\u002F\n.rows { display: flex; flex-direction: column; row-gap: 20px; }\n.cols { display: flex; column-gap: 10px; }\n\n\u002F* Fluid gap *\u002F\n.fluid {\n  display: flex;\n  flex-wrap: wrap;\n  gap: clamp(12px, 2vw, 32px);\n}\n\n\u002F* With CSS variables *\u002F\n:root { --space-4: 1rem; }\n.tokens { display: flex; gap: var(--space-4); }\n\n\u002F* Works in Grid too *\u002F\n.grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n  gap: 24px;\n}",{"id":141,"slug":142,"title":143,"time_limit_seconds":5,"pass_percentage":144,"question_count":51},59,"css-gap-quiz","CSS gap Quiz",70,[146],{"id":147,"title":148,"slug":149,"prompt":150,"starter_code":151,"expected_output":152,"language":16,"order_index":23},248,"Replace Margins with gap","gap-replace-margin-exercise","The buttons use margin for spacing. Remove the margin and use the gap property on the container so there are 12px between buttons horizontally and 20px between wrapped lines vertically.","\u003Cstyle>\n.btns{display:flex;flex-wrap:wrap;width:240px}\n.btns button{margin:6px;padding:10px 16px;background:#6366f1;color:#fff;border:0;border-radius:6px}\n\u003C\u002Fstyle>\n\u003Cdiv class='btns'>\u003Cbutton>One\u003C\u002Fbutton>\u003Cbutton>Two\u003C\u002Fbutton>\u003Cbutton>Three\u003C\u002Fbutton>\u003Cbutton>Four\u003C\u002Fbutton>\u003C\u002Fdiv>","No margin on buttons; container uses gap: 20px 12px so lines have 20px row spacing and 12px column spacing.","2026-10-01T16:44:13+00:00",{"id":155,"slug":156,"title":157},175,"css-flexbox-gap","CSS gap, row-gap & column-gap in Flexbox: Modern Spacing",{"id":159,"slug":160,"title":161},87,"css-basic-selectors","CSS Basic Selectors: Type, Class, ID, Universal & Grouping",{"data":163},[164,483],{"id":23,"name":15,"slug":165,"icon":5,"icon_url":5,"short_description":166,"meta_title":167,"meta_description":168,"og_image":169,"locale":170,"subcategories":171},"html-tutorial","Welcome to our HTML Tutorial for Beginners, a complete guide designed to help you learn HTML from the ground up.\n\nHTML, which stands for HyperText Markup Language, is the standard language used to structure content on the web. Whether you want to become a web developer, build your own website, or continue learning CSS and JavaScript, understanding HTML is an essential first step.\n\nThis HTML course takes you through the fundamentals step by step, using simple explanations and practical examples. ","HTML Tutorial for Beginners - Learn HTML Step by Step","Learn HTML from scratch with our beginner-friendly HTML tutorial. Understand HTML tags, elements, forms, tables, links, images, semantic HTML and more with practical examples.","https:\u002F\u002Fwpfsharp.com\u002Fstorage\u002Fcourses\u002Fog\u002F01M2GK0XN45C0B937NF9XFAD4S.webp","en",[172,197,233,257,333,367,381,408,432,448],{"id":23,"name":173,"slug":174,"order_index":23,"topics":175},"HTML Fundamentals & Setup","html-fundamentals-setup",[176,179,182,185,189,193],{"id":23,"title":177,"slug":178,"order_index":23,"cornerstone":52,"reading_time_minutes":23},"HTML Introduction & History","html-introduction-and-history",{"id":12,"title":180,"slug":181,"order_index":23,"cornerstone":52,"reading_time_minutes":12},"HTML Editors & Environment Setup","html-editors-and-environment-setup",{"id":51,"title":183,"slug":184,"order_index":51,"cornerstone":52,"reading_time_minutes":12},"HTML Basic Syntax & Document Structure","html-basic-syntax-document-structure",{"id":186,"title":187,"slug":188,"order_index":186,"cornerstone":52,"reading_time_minutes":12},4,"HTML Elements & Tags Explained","html-elements-tags-explained",{"id":190,"title":191,"slug":192,"order_index":190,"cornerstone":52,"reading_time_minutes":12},5,"HTML Attributes (Global & Standard)","html-attributes-global-standard",{"id":194,"title":195,"slug":196,"order_index":194,"cornerstone":52,"reading_time_minutes":12},6,"Understanding the DOCTYPE & HTML5 Boilerplate","understanding-doctype-html5-boilerplate",{"id":12,"name":198,"slug":199,"order_index":12,"topics":200},"Text & Content Basics","text-content-basics",[201,205,209,213,217,221,225,229],{"id":202,"title":203,"slug":204,"order_index":202,"cornerstone":52,"reading_time_minutes":12},7,"HTML Headings (H1–H6) & SEO Best Practices","html-headings-h1-h6-seo-best-practices",{"id":206,"title":207,"slug":208,"order_index":206,"cornerstone":52,"reading_time_minutes":12},8,"HTML Paragraphs & Line Breaks","html-paragraphs-line-breaks",{"id":210,"title":211,"slug":212,"order_index":210,"cornerstone":52,"reading_time_minutes":23},9,"HTML Text Formatting (Bold, Italic, Mark, etc.)","html-text-formatting-bold-italic-mark",{"id":214,"title":215,"slug":216,"order_index":214,"cornerstone":52,"reading_time_minutes":12},10,"HTML Styles (Inline CSS Basics)","html-styles-inline-css-basics",{"id":218,"title":219,"slug":220,"order_index":218,"cornerstone":52,"reading_time_minutes":12},11,"HTML Quotations & Citations (blockquote, q, cite)","html-quotations-citations-blockquote-q-cite",{"id":222,"title":223,"slug":224,"order_index":222,"cornerstone":52,"reading_time_minutes":12},12,"HTML Comments (Best Practices)","html-comments-best-practices",{"id":226,"title":227,"slug":228,"order_index":226,"cornerstone":52,"reading_time_minutes":12},13,"HTML Colors (Names, HEX, RGB, HSL)","html-colors-names-hex-rgb-hsl",{"id":230,"title":231,"slug":232,"order_index":230,"cornerstone":52,"reading_time_minutes":12},14,"HTML & CSS Integration (Inline, Internal, External)","html-css-integration-inline-internal-external",{"id":51,"name":234,"slug":235,"order_index":51,"topics":236},"Links, Media & Navigation","links-media-navigation",[237,241,245,249,253],{"id":238,"title":239,"slug":240,"order_index":238,"cornerstone":52,"reading_time_minutes":12},15,"HTML Links (Anchor Tags & Hyperlinks)","html-links-anchor-tags-hyperlinks",{"id":242,"title":243,"slug":244,"order_index":242,"cornerstone":52,"reading_time_minutes":12},16,"HTML Images (Alt Text, Lazy Loading, Formats)","html-images-alt-text-lazy-loading-formats",{"id":246,"title":247,"slug":248,"order_index":246,"cornerstone":52,"reading_time_minutes":23},17,"HTML Favicon Setup","html-favicon-setup",{"id":250,"title":251,"slug":252,"order_index":250,"cornerstone":52,"reading_time_minutes":12},18,"HTML Page Title & Meta Tags (SEO Essentials)","html-page-title-meta-tags-seo-essentials",{"id":254,"title":255,"slug":256,"order_index":254,"cornerstone":52,"reading_time_minutes":12},19,"HTML File Paths (Absolute vs Relative)","html-file-paths-absolute-vs-relative",{"id":186,"name":258,"slug":259,"order_index":186,"topics":260},"Structuring Content","structuring-content",[261,266,271,276,281,285,289,293,297,301,305,309,313,317,321,325,329],{"id":262,"title":263,"slug":264,"order_index":265,"cornerstone":52,"reading_time_minutes":12},24,"HTML Tables Explained: Rows, Columns & Merging Cells","html-tables-rows-columns-merging-cells",20,{"id":267,"title":268,"slug":269,"order_index":270,"cornerstone":52,"reading_time_minutes":12},25,"HTML Lists: Ordered, Unordered & Description Lists","html-lists-ordered-unordered-description",21,{"id":272,"title":273,"slug":274,"order_index":275,"cornerstone":52,"reading_time_minutes":12},26,"HTML Block vs Inline Elements Explained","html-block-vs-inline-elements",22,{"id":277,"title":278,"slug":279,"order_index":280,"cornerstone":52,"reading_time_minutes":23},27,"HTML Div & Span: Generic Containers Explained","html-div-and-span-containers",23,{"id":282,"title":283,"slug":284,"order_index":262,"cornerstone":52,"reading_time_minutes":12},28,"HTML Classes vs ID: Selectors Explained","html-classes-vs-id-selectors-explained",{"id":286,"title":287,"slug":288,"order_index":267,"cornerstone":52,"reading_time_minutes":23},29,"HTML Iframes: Embedding External Content","html-iframes-embedding-content",{"id":290,"title":291,"slug":292,"order_index":272,"cornerstone":52,"reading_time_minutes":12},30,"HTML Head Element Deep Dive","html-head-element-deep-dive",{"id":294,"title":295,"slug":296,"order_index":277,"cornerstone":52,"reading_time_minutes":12},31,"HTML Layout Techniques: Header, Nav & Footer","html-layout-techniques-header-nav-footer",{"id":298,"title":299,"slug":300,"order_index":282,"cornerstone":52,"reading_time_minutes":12},32,"Responsive HTML Design: Mobile-First Approach","responsive-html-design-mobile-first-approach",{"id":302,"title":303,"slug":304,"order_index":286,"cornerstone":52,"reading_time_minutes":51},74,"HTML Semantic Elements (article, section, aside, nav)","html-semantic-elements-article-section-aside-nav",{"id":306,"title":307,"slug":308,"order_index":290,"cornerstone":52,"reading_time_minutes":12},75,"HTML Style Guide & Coding Conventions","html-style-guide-coding-conventions",{"id":310,"title":311,"slug":312,"order_index":294,"cornerstone":52,"reading_time_minutes":12},76,"HTML Entities & Special Characters","html-entities-special-characters",{"id":314,"title":315,"slug":316,"order_index":298,"cornerstone":52,"reading_time_minutes":23},77,"HTML Symbols","html-symbols",{"id":318,"title":319,"slug":320,"order_index":318,"cornerstone":52,"reading_time_minutes":23},33,"HTML Emojis 😀: How to Use Them in Web Pages","html-emojis-trending-guide",{"id":322,"title":323,"slug":324,"order_index":322,"cornerstone":52,"reading_time_minutes":12},34,"HTML Character Sets: UTF-8 & Encoding Explained","html-character-sets-utf-8-encoding",{"id":326,"title":327,"slug":328,"order_index":326,"cornerstone":52,"reading_time_minutes":23},35,"HTML URL Encoding Explained","html-url-encoding-explained",{"id":330,"title":331,"slug":332,"order_index":330,"cornerstone":52,"reading_time_minutes":23},36,"HTML vs XHTML: Key Differences","html-vs-xhtml-key-differences",{"id":202,"name":334,"slug":335,"order_index":190,"topics":336},"Forms & User Input","forms-user-input",[337,342,347,352,357,362],{"id":338,"title":339,"slug":340,"order_index":341,"cornerstone":52,"reading_time_minutes":12},49,"HTML Forms Introduction","html-forms-introduction",37,{"id":343,"title":344,"slug":345,"order_index":346,"cornerstone":52,"reading_time_minutes":23},50,"HTML Form Attributes (action, method, etc.)","html-form-attributes-action-method",38,{"id":348,"title":349,"slug":350,"order_index":351,"cornerstone":52,"reading_time_minutes":23},51,"HTML Form Elements (input, select, textarea, button)","html-form-elements-input-select-textarea-button",39,{"id":353,"title":354,"slug":355,"order_index":356,"cornerstone":52,"reading_time_minutes":12},52,"HTML Input Types (Modern Types: email, date, color, range)","html-input-types-modern-email-date-color-range",40,{"id":358,"title":359,"slug":360,"order_index":361,"cornerstone":52,"reading_time_minutes":12},53,"HTML Input Attributes (required, placeholder, pattern)","html-input-attributes-required-placeholder-pattern",41,{"id":363,"title":364,"slug":365,"order_index":366,"cornerstone":52,"reading_time_minutes":12},54,"HTML Form Validation (Client-Side)","html-form-validation-client-side",42,{"id":206,"name":368,"slug":369,"order_index":194,"topics":370},"Graphics & Visuals","graphics-visuals",[371,376],{"id":372,"title":373,"slug":374,"order_index":375,"cornerstone":52,"reading_time_minutes":51},55,"HTML Canvas (2D Drawing API) 🔥","html-canvas-2d-drawing-api",43,{"id":377,"title":378,"slug":379,"order_index":380,"cornerstone":52,"reading_time_minutes":51},56,"HTML SVG (Scalable Vector Graphics)","html-svg-scalable-vector-graphics",44,{"id":210,"name":382,"slug":383,"order_index":202,"topics":384},"Multimedia","multimedia",[385,390,395,399,404],{"id":386,"title":387,"slug":388,"order_index":389,"cornerstone":52,"reading_time_minutes":12},57,"HTML Media Overview","html-media-overview",45,{"id":391,"title":392,"slug":393,"order_index":394,"cornerstone":52,"reading_time_minutes":12},58,"HTML Video Embedding (Native Player)","html-video-embedding-native-player",46,{"id":141,"title":396,"slug":397,"order_index":398,"cornerstone":52,"reading_time_minutes":12},"HTML Audio Embedding","html-audio-embedding",47,{"id":400,"title":401,"slug":402,"order_index":403,"cornerstone":52,"reading_time_minutes":12},60,"HTML Plug-ins (Object & Embed Tags)","html-plugins-object-embed-tags",48,{"id":405,"title":406,"slug":407,"order_index":338,"cornerstone":52,"reading_time_minutes":12},61,"Embedding YouTube Videos in HTML","embedding-youtube-videos-in-html",{"id":214,"name":409,"slug":410,"order_index":206,"topics":411},"HTML5 Web APIs (Advanced\u002FTrending)","html5-web-apis-advancedtrending",[412,416,420,424,428],{"id":413,"title":414,"slug":415,"order_index":343,"cornerstone":52,"reading_time_minutes":12},62,"HTML Geolocation API","html-geolocation-api",{"id":417,"title":418,"slug":419,"order_index":348,"cornerstone":52,"reading_time_minutes":12},63,"HTML Drag & Drop API","html-drag-and-drop-api",{"id":421,"title":422,"slug":423,"order_index":353,"cornerstone":52,"reading_time_minutes":12},64,"HTML Web Storage (localStorage & sessionStorage)","html-web-storage-localstorage-sessionstorage",{"id":425,"title":426,"slug":427,"order_index":358,"cornerstone":52,"reading_time_minutes":12},65,"HTML Web Workers (Background Processing)","html-web-workers-background-processing",{"id":429,"title":430,"slug":431,"order_index":363,"cornerstone":52,"reading_time_minutes":12},66,"HTML Server-Sent Events (SSE)","html-server-sent-events-sse",{"id":218,"name":433,"slug":434,"order_index":210,"topics":435},"Accessibility & Best Practices (High-Demand  Skill) �","accessibility-best-practices-high-demand-skill",[436,440,444],{"id":437,"title":438,"slug":439,"order_index":372,"cornerstone":52,"reading_time_minutes":12},67,"HTML Accessibility (ARIA, Screen Readers)","html-accessibility-aria-screen-readers",{"id":441,"title":442,"slug":443,"order_index":377,"cornerstone":52,"reading_time_minutes":12},68,"Writing Semantic & SEO-Friendly HTML","writing-semantic-and-seo-friendly-html",{"id":445,"title":446,"slug":447,"order_index":386,"cornerstone":52,"reading_time_minutes":12},69,"HTML Performance Optimization Basics","html-performance-optimization-basics",{"id":222,"name":449,"slug":450,"order_index":214,"topics":451},"Reference & Practice","reference-practice",[452,455,459,463,467,471,475,479],{"id":144,"title":453,"slug":454,"order_index":23,"cornerstone":52,"reading_time_minutes":12},"HTML Tag List (Full Reference)","html-tag-list-full-reference",{"id":456,"title":457,"slug":458,"order_index":12,"cornerstone":52,"reading_time_minutes":12},71,"HTML Global Attributes Reference","html-global-attributes-reference",{"id":460,"title":461,"slug":462,"order_index":51,"cornerstone":52,"reading_time_minutes":12},72,"HTML Events Reference","html-events-reference",{"id":464,"title":465,"slug":466,"order_index":186,"cornerstone":52,"reading_time_minutes":12},73,"HTML Browser Support & Compatibility","html-browser-support-compatibility",{"id":468,"title":469,"slug":470,"order_index":190,"cornerstone":52,"reading_time_minutes":12},78,"HTML Doctypes Reference","html-doctypes-reference",{"id":472,"title":473,"slug":474,"order_index":194,"cornerstone":52,"reading_time_minutes":12},79,"HTTP Methods & Messages (Basics for Forms\u002FAPIs)","http-methods-messages-basics",{"id":476,"title":477,"slug":478,"order_index":202,"cornerstone":52,"reading_time_minutes":51},80,"HTML Interview Preparation (Top Q&A)","html-interview-preparation-top-qa",{"id":480,"title":481,"slug":482,"order_index":206,"cornerstone":52,"reading_time_minutes":23},81,"HTML Quiz & Practice Exercises","html-quiz-practice-exercises",{"id":12,"name":9,"slug":10,"icon":5,"icon_url":5,"short_description":484,"meta_title":485,"meta_description":486,"og_image":5,"locale":170,"subcategories":487},"Master CSS from basics to advanced. Learn styling, layouts, Flexbox, Grid, and responsive design with practical examples.","CSS Course - Learn CSS from Scratch to Advanced","Learn CSS (Cascading Style Sheets) step by step. Master selectors, layouts, Flexbox, Grid, animations, and responsive web design with hands-on examples.",[488,513,536,559,579,612,644,676,708,740,768,796,828,856],{"id":226,"name":489,"slug":490,"order_index":491,"topics":492},"CSS Fundamentals & Setup","css-fundamentals-setup",0,[493,497,501,505,509],{"id":494,"title":495,"slug":496,"order_index":23,"cornerstone":52,"reading_time_minutes":186},82,"CSS Introduction & History: What Is CSS and Why It Matters","css-introduction-and-history",{"id":498,"title":499,"slug":500,"order_index":12,"cornerstone":52,"reading_time_minutes":186},83,"CSS Syntax & How Browsers Apply Styles","css-syntax-how-browsers-apply-styles",{"id":502,"title":503,"slug":504,"order_index":51,"cornerstone":52,"reading_time_minutes":51},84,"Setting Up Your CSS Workspace: Linking Files & Live Server","setting-up-css-workspace-linking-files-live-server",{"id":506,"title":507,"slug":508,"order_index":186,"cornerstone":52,"reading_time_minutes":51},85,"CSS Comments & Code Formatting Best Practices","css-comments-and-code-formatting",{"id":510,"title":511,"slug":512,"order_index":190,"cornerstone":52,"reading_time_minutes":190},86,"Browser DevTools for CSS: Inspect, Debug & Edit Styles Live","browser-devtools-for-css",{"id":277,"name":43,"slug":44,"order_index":491,"topics":514},[515,519,523,527,531,535],{"id":516,"title":517,"slug":518,"order_index":190,"cornerstone":52,"reading_time_minutes":186},176,"CSS flex-direction: Row, Column, Reverse Explained with Examples","css-flex-direction-qYSHRj",{"id":520,"title":521,"slug":522,"order_index":194,"cornerstone":52,"reading_time_minutes":186},177,"CSS flex-wrap and flex-flow: Complete Guide with Examples","css-flex-wrap-and-flex-flow-iZaSUa",{"id":524,"title":525,"slug":526,"order_index":202,"cornerstone":52,"reading_time_minutes":186},178,"CSS justify-content: Align Flex Items on the Main Axis","css-justify-content-VlB71x",{"id":528,"title":529,"slug":530,"order_index":206,"cornerstone":52,"reading_time_minutes":186},179,"CSS align-items: Align Flex Items on the Cross Axis","css-align-items-H3MFZg",{"id":532,"title":533,"slug":534,"order_index":210,"cornerstone":52,"reading_time_minutes":51},180,"CSS align-content: Align Multiple Flex Lines Explained","css-align-content-6815Ey",{"id":37,"title":38,"slug":39,"order_index":214,"cornerstone":52,"reading_time_minutes":51},{"id":272,"name":537,"slug":538,"order_index":491,"topics":539},"Container Properties","container-properties",[540,544,548,551,554,558],{"id":541,"title":542,"slug":543,"order_index":190,"cornerstone":52,"reading_time_minutes":186},170,"CSS flex-direction: row, row-reverse, column & column-reverse Explained","css-flex-direction",{"id":545,"title":546,"slug":547,"order_index":194,"cornerstone":52,"reading_time_minutes":186},171,"CSS flex-wrap & flex-flow: Wrap Flex Items the Right Way","css-flex-wrap-and-flex-flow",{"id":549,"title":525,"slug":550,"order_index":202,"cornerstone":52,"reading_time_minutes":186},172,"css-justify-content",{"id":552,"title":529,"slug":553,"order_index":206,"cornerstone":52,"reading_time_minutes":51},173,"css-align-items",{"id":555,"title":556,"slug":557,"order_index":210,"cornerstone":52,"reading_time_minutes":51},174,"CSS align-content: Space and Align Multiple Flex Lines","css-align-content",{"id":155,"title":157,"slug":156,"order_index":214,"cornerstone":52,"reading_time_minutes":186},{"id":267,"name":560,"slug":561,"order_index":491,"topics":562},"Flexbox Foundations","flexbox-foundations",[563,567,571,575],{"id":564,"title":565,"slug":566,"order_index":23,"cornerstone":52,"reading_time_minutes":206},166,"Why Layout Evolved: Tables, Floats, Flexbox and Grid","why-layout-evolved-tables-floats-flexbox-grid",{"id":568,"title":569,"slug":570,"order_index":12,"cornerstone":52,"reading_time_minutes":194},167,"Flexbox Introduction and Mental Model","flexbox-introduction-and-mental-model",{"id":572,"title":573,"slug":574,"order_index":51,"cornerstone":52,"reading_time_minutes":194},168,"Flex Container and Flex Items","flex-container-and-flex-items",{"id":576,"title":577,"slug":578,"order_index":186,"cornerstone":52,"reading_time_minutes":202},169,"Main Axis vs Cross Axis and the DevTools Flex Inspector","main-axis-vs-cross-axis-devtools-flex-inspector",{"id":230,"name":580,"slug":581,"order_index":23,"topics":582},"Selectors & the Cascade","selectors-the-cascade",[583,584,588,592,596,600,604,608],{"id":159,"title":161,"slug":160,"order_index":194,"cornerstone":52,"reading_time_minutes":186},{"id":585,"title":586,"slug":587,"order_index":202,"cornerstone":52,"reading_time_minutes":186},88,"CSS Combinators: Descendant, Child, Adjacent & General Sibling","css-combinators",{"id":589,"title":590,"slug":591,"order_index":206,"cornerstone":52,"reading_time_minutes":186},89,"CSS Attribute Selectors: [attr], ^=, $=, *= and More","css-attribute-selectors",{"id":593,"title":594,"slug":595,"order_index":210,"cornerstone":52,"reading_time_minutes":194},90,"CSS Pseudo-classes: :hover, :focus, :nth-child & Modern Selectors","css-pseudo-classes",{"id":597,"title":598,"slug":599,"order_index":214,"cornerstone":52,"reading_time_minutes":190},91,"CSS Pseudo-elements (::before, ::after)","css-pseudo-elements-before-after",{"id":601,"title":602,"slug":603,"order_index":218,"cornerstone":52,"reading_time_minutes":190},92,"Modern CSS Selectors: :is(), :where(), :has()","modern-css-selectors-is-where-has",{"id":605,"title":606,"slug":607,"order_index":222,"cornerstone":52,"reading_time_minutes":186},93,"CSS Specificity Explained","css-specificity-explained",{"id":609,"title":610,"slug":611,"order_index":226,"cornerstone":52,"reading_time_minutes":190},94,"Cascade, Inheritance & !important","css-cascade-inheritance-important",{"id":238,"name":613,"slug":614,"order_index":12,"topics":615},"Colors, Backgrounds & Effects","colors-backgrounds-effects",[616,620,624,628,632,636,640],{"id":617,"title":618,"slug":619,"order_index":230,"cornerstone":52,"reading_time_minutes":190},95,"CSS Colors (HEX, RGB, HSL, OKLCH)","css-colors-hex-rgb-hsl-oklch",{"id":621,"title":622,"slug":623,"order_index":238,"cornerstone":52,"reading_time_minutes":186},96,"CSS Backgrounds","css-backgrounds",{"id":625,"title":626,"slug":627,"order_index":242,"cornerstone":52,"reading_time_minutes":190},97,"CSS Gradients (Linear, Radial, Conic)","css-gradients-linear-radial-conic",{"id":629,"title":630,"slug":631,"order_index":246,"cornerstone":52,"reading_time_minutes":190},98,"CSS Borders, Outlines & Rounded Corners","css-borders-outlines-rounded-corners",{"id":633,"title":634,"slug":635,"order_index":250,"cornerstone":52,"reading_time_minutes":194},99,"CSS Box Shadow & Text Shadow","css-box-shadow-text-shadow",{"id":637,"title":638,"slug":639,"order_index":254,"cornerstone":52,"reading_time_minutes":190},100,"CSS Opacity & Blend Modes","css-opacity-blend-modes",{"id":641,"title":642,"slug":643,"order_index":265,"cornerstone":52,"reading_time_minutes":194},101,"CSS Filters & backdrop-filter (Glassmorphism)","css-filters-backdrop-filter-glassmorphism",{"id":242,"name":645,"slug":646,"order_index":51,"topics":647},"Box Model & Spacing","box-model-spacing",[648,652,656,660,664,668,672],{"id":649,"title":650,"slug":651,"order_index":270,"cornerstone":52,"reading_time_minutes":202},102,"The CSS Box Model: Content, Padding, Border and Margin","css-box-model",{"id":653,"title":654,"slug":655,"order_index":275,"cornerstone":52,"reading_time_minutes":202},103,"CSS Margin and Margin Collapse","css-margin-and-margin-collapse",{"id":657,"title":658,"slug":659,"order_index":280,"cornerstone":52,"reading_time_minutes":194},104,"CSS Padding: Shorthand, Percentages and Best Practices","css-padding",{"id":661,"title":662,"slug":663,"order_index":262,"cornerstone":52,"reading_time_minutes":210},105,"CSS Width, Height, Min-Width, Max-Width, Min-Height & Max-Height","css-width-height-min-max",{"id":665,"title":666,"slug":667,"order_index":267,"cornerstone":52,"reading_time_minutes":190},106,"CSS box-sizing: content-box vs border-box","css-box-sizing",{"id":669,"title":670,"slug":671,"order_index":272,"cornerstone":52,"reading_time_minutes":202},107,"CSS Overflow: hidden, scroll, auto, clip and Text Truncation","css-overflow",{"id":673,"title":674,"slug":675,"order_index":277,"cornerstone":52,"reading_time_minutes":202},108,"CSS Units: px, rem, em, %, vw, vh and dvh","css-units",{"id":246,"name":677,"slug":678,"order_index":186,"topics":679},"Typography & Text","typography-text",[680,684,688,692,696,700,704],{"id":681,"title":682,"slug":683,"order_index":282,"cornerstone":52,"reading_time_minutes":202},109,"CSS Text Properties: Alignment, Spacing, Decoration and Wrapping","css-text-properties",{"id":685,"title":686,"slug":687,"order_index":286,"cornerstone":52,"reading_time_minutes":202},110,"CSS Fonts and font-family: Font Stacks, Weights and System Fonts","css-fonts-font-family",{"id":689,"title":690,"slug":691,"order_index":290,"cornerstone":52,"reading_time_minutes":202},111,"Web Fonts: Google Fonts, @font-face and Variable Fonts","web-fonts",{"id":693,"title":694,"slug":695,"order_index":294,"cornerstone":52,"reading_time_minutes":202},112,"CSS Text Effects: text-wrap balance, line-clamp, Ellipsis and More","css-text-effects",{"id":697,"title":698,"slug":699,"order_index":298,"cornerstone":52,"reading_time_minutes":206},113,"Styling Links","styling-links-css",{"id":701,"title":702,"slug":703,"order_index":318,"cornerstone":52,"reading_time_minutes":202},114,"Styling Lists & Tables","styling-lists-and-tables-css",{"id":705,"title":706,"slug":707,"order_index":322,"cornerstone":52,"reading_time_minutes":214},115,"Icons (SVG & Icon Fonts)","icons-svg-and-icon-fonts",{"id":250,"name":709,"slug":710,"order_index":190,"topics":711},"Display, Position & Layout Basics","display-position-layout-basics",[712,716,720,724,728,732,736],{"id":713,"title":714,"slug":715,"order_index":326,"cornerstone":52,"reading_time_minutes":202},116,"Display & Inline-block","display-and-inline-block",{"id":717,"title":718,"slug":719,"order_index":330,"cornerstone":52,"reading_time_minutes":194},117,"Position (relative, absolute, fixed, sticky)","position-relative-absolute-fixed-sticky",{"id":721,"title":722,"slug":723,"order_index":341,"cornerstone":52,"reading_time_minutes":194},118,"Z-index & Stacking Contexts","z-index-and-stacking-contexts",{"id":725,"title":726,"slug":727,"order_index":346,"cornerstone":52,"reading_time_minutes":190},119,"Float & Clear (Legacy, and Why to Avoid It)","float-and-clear",{"id":729,"title":730,"slug":731,"order_index":351,"cornerstone":52,"reading_time_minutes":194},120,"Centering Techniques","centering-techniques",{"id":733,"title":734,"slug":735,"order_index":356,"cornerstone":52,"reading_time_minutes":202},121,"aspect-ratio & object-fit","aspect-ratio-and-object-fit",{"id":737,"title":738,"slug":739,"order_index":361,"cornerstone":52,"reading_time_minutes":206},122,"Website Layout Basics","website-layout-basics",{"id":265,"name":741,"slug":742,"order_index":194,"topics":743},"The Modern CSS Toolkit","the-modern-css-toolkit",[744,748,752,756,760,764],{"id":745,"title":746,"slug":747,"order_index":366,"cornerstone":52,"reading_time_minutes":206},129,"CSS Variables (Custom Properties)","css-variables-custom-properties",{"id":749,"title":750,"slug":751,"order_index":375,"cornerstone":52,"reading_time_minutes":206},130,"Math Functions (calc, min, max, clamp)","math-functions-calc-min-max-clamp",{"id":753,"title":754,"slug":755,"order_index":380,"cornerstone":52,"reading_time_minutes":202},131,"Native CSS Nesting","native-css-nesting",{"id":757,"title":758,"slug":759,"order_index":389,"cornerstone":52,"reading_time_minutes":202},132,"Cascade Layers (@layer)","cascade-layers-at-layer",{"id":761,"title":762,"slug":763,"order_index":394,"cornerstone":52,"reading_time_minutes":210},133,"Dark Mode (prefers-color-scheme, light-dark())","dark-mode-prefers-color-scheme-light-dark",{"id":765,"title":766,"slug":767,"order_index":398,"cornerstone":52,"reading_time_minutes":206},134,"CSS Reset & Normalize","css-reset-and-normalize",{"id":270,"name":769,"slug":770,"order_index":202,"topics":771},"Responsive Design","responsive-design",[772,776,780,784,788,792],{"id":773,"title":774,"slug":775,"order_index":403,"cornerstone":52,"reading_time_minutes":210},135,"Mobile-First & the Viewport","mobile-first-and-the-viewport",{"id":777,"title":778,"slug":779,"order_index":338,"cornerstone":52,"reading_time_minutes":206},136,"Media Queries","media-queries",{"id":781,"title":782,"slug":783,"order_index":343,"cornerstone":52,"reading_time_minutes":206},137,"Responsive Images & Video","responsive-images-and-video",{"id":785,"title":786,"slug":787,"order_index":348,"cornerstone":52,"reading_time_minutes":210},138,"Fluid Typography with clamp()","fluid-typography-with-clamp",{"id":789,"title":790,"slug":791,"order_index":353,"cornerstone":52,"reading_time_minutes":210},139,"Container Queries","container-queries",{"id":793,"title":794,"slug":795,"order_index":358,"cornerstone":52,"reading_time_minutes":222},140,"Responsive Navigation Pattern","responsive-navigation-pattern",{"id":275,"name":797,"slug":798,"order_index":206,"topics":799},"Transitions & Animation","transitions-animation",[800,804,808,812,816,820,824],{"id":801,"title":802,"slug":803,"order_index":363,"cornerstone":52,"reading_time_minutes":190},141,"CSS Transitions: Smooth State Changes with transition, @starting-style and allow-discrete","css-transitions",{"id":805,"title":806,"slug":807,"order_index":372,"cornerstone":52,"reading_time_minutes":186},142,"CSS 2D Transforms: translate, rotate, scale, skew and transform-origin","css-2d-transforms",{"id":809,"title":810,"slug":811,"order_index":377,"cornerstone":52,"reading_time_minutes":190},143,"CSS 3D Transforms: perspective, preserve-3d, rotateX\u002FY and backface-visibility","css-3d-transforms",{"id":813,"title":814,"slug":815,"order_index":386,"cornerstone":52,"reading_time_minutes":190},144,"CSS Keyframe Animations: @keyframes, animation shorthand, fill-mode and @property","css-keyframe-animations",{"id":817,"title":818,"slug":819,"order_index":391,"cornerstone":52,"reading_time_minutes":190},145,"CSS Scroll-Driven Animations: animation-timeline, scroll() and view()","css-scroll-driven-animations",{"id":821,"title":822,"slug":823,"order_index":141,"cornerstone":52,"reading_time_minutes":190},146,"CSS View Transitions API: Progressive Enhancement for Page and State Animations","css-view-transitions",{"id":825,"title":826,"slug":827,"order_index":400,"cornerstone":52,"reading_time_minutes":194},147,"Motion Accessibility and Performance: prefers-reduced-motion, will-change and Smooth 60fps Animations","motion-accessibility-prefers-reduced-motion-performance",{"id":280,"name":829,"slug":830,"order_index":210,"topics":831},"UI Components","ui-components",[832,836,840,844,848,852],{"id":833,"title":834,"slug":835,"order_index":405,"cornerstone":52,"reading_time_minutes":194},148,"CSS Buttons: Variants, States, Sizes and Accessible Button Design","css-buttons",{"id":837,"title":838,"slug":839,"order_index":413,"cornerstone":52,"reading_time_minutes":194},149,"CSS Card Component: Layouts with Flexbox, Grid, Container Queries and Subgrid","css-cards",{"id":841,"title":842,"slug":843,"order_index":417,"cornerstone":52,"reading_time_minutes":202},150,"CSS Navbar and Dropdown Menus: Responsive, Sticky and Accessible Navigation","css-navbar-dropdowns",{"id":845,"title":846,"slug":847,"order_index":421,"cornerstone":52,"reading_time_minutes":194},151,"HTML and CSS Forms and Inputs: Styled, Accessible and Validated Form Controls","css-forms-inputs",{"id":849,"title":850,"slug":851,"order_index":425,"cornerstone":52,"reading_time_minutes":194},152,"CSS Tooltips and Popovers: Popover API, Anchor Positioning and Accessible Overlays","css-tooltips-popovers",{"id":853,"title":854,"slug":855,"order_index":429,"cornerstone":52,"reading_time_minutes":194},153,"Pagination and Breadcrumbs: Accessible Navigation Patterns with HTML, CSS and Schema","pagination-breadcrumbs",{"id":262,"name":857,"slug":858,"order_index":214,"topics":859},"Pro Practices & Wrap-up","pro-practices-wrap-up",[860,864,868,872,876,880],{"id":861,"title":862,"slug":863,"order_index":437,"cornerstone":52,"reading_time_minutes":12},160,"CSS Architecture & BEM","css-architecture-bem-ZRlwjD",{"id":865,"title":866,"slug":867,"order_index":441,"cornerstone":52,"reading_time_minutes":12},161,"CSS Performance","css-performance-TAnsqs",{"id":869,"title":870,"slug":871,"order_index":445,"cornerstone":52,"reading_time_minutes":12},162,"CSS Accessibility (focus, contrast)","css-accessibility-focus-contrast-pgFUSF",{"id":873,"title":874,"slug":875,"order_index":144,"cornerstone":52,"reading_time_minutes":12},163,"Debugging Common CSS Bugs","debugging-common-css-bugs-iHzOV3",{"id":877,"title":878,"slug":879,"order_index":456,"cornerstone":52,"reading_time_minutes":12},164,"Sass vs Native CSS","sass-vs-native-css-lV2nqW",{"id":881,"title":882,"slug":883,"order_index":460,"cornerstone":52,"reading_time_minutes":12},165,"CSS Interview Q&A & Cheat Sheet","css-interview-qa-cheat-sheet-JslzGp"]