[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site-config":3,"blog-categories":6,"topic:css-flex-direction":35,"course-tree":173},{"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":131,"quiz":151,"exercises":156,"published_at":5,"updated_at":164,"prev":165,"next":169},170,"CSS flex-direction: row, row-reverse, column & column-reverse Explained","css-flex-direction","\u003Ch2 id=\"what-is-flex-direction-in-css\">What Is flex-direction in CSS?\u003C\u002Fh2>\u003Cp>The \u003Cstrong>flex-direction\u003C\u002Fstrong> property tells a flex container which way to lay out its items. It sets the \u003Cstrong>main axis\u003C\u002Fstrong>, and every other flexbox property, such as justify-content and align-items, works relative to that axis. If you are following a CSS flexbox tutorial, flex-direction is the first container property you must understand, because it changes how the whole flexbox layout behaves.\u003C\u002Fp>\u003Ch3 id=\"syntax\">Syntax\u003C\u002Fh3>\u003Cpre>\u003Ccode>.container {\n  display: flex;\n  flex-direction: row | row-reverse | column | column-reverse;\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>The default value is \u003Ccode>row\u003C\u002Fcode>. The property only has an effect when the parent element has \u003Ccode>display: flex\u003C\u002Fcode> or \u003Ccode>display: inline-flex\u003C\u002Fcode>.\u003C\u002Fp>\u003Ch2 id=\"main-axis-vs-cross-axis\">Main Axis vs Cross Axis\u003C\u002Fh2>\u003Cp>Flexbox is a one-dimensional layout system, which means it arranges items along a single line (the main axis) at a time. The direction perpendicular to it is the \u003Cstrong>cross axis\u003C\u002Fstrong>.\u003C\u002Fp>\u003Cul>\u003Cli>With \u003Ccode>flex-direction: row\u003C\u002Fcode>, the main axis is horizontal and the cross axis is vertical.\u003C\u002Fli>\u003Cli>With \u003Ccode>flex-direction: column\u003C\u002Fcode>, the main axis is vertical and the cross axis is horizontal.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>This is why justify-content (main axis) suddenly appears to work vertically after you switch to column. The properties did not change. The axes did.\u003C\u002Fp>\u003Ch2 id=\"flex-direction-values-explained\">flex-direction Values Explained\u003C\u002Fh2>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Value\u003C\u002Fth>\u003Cth>Main axis runs\u003C\u002Fth>\u003Cth>Item order\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Ccode>row\u003C\u002Fcode> (default)\u003C\u002Ftd>\u003Ctd>Left to right (in LTR languages)\u003C\u002Ftd>\u003Ctd>First item at the start\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>\u003Ccode>row-reverse\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Right to left\u003C\u002Ftd>\u003Ctd>First item at the end\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>\u003Ccode>column\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Top to bottom\u003C\u002Ftd>\u003Ctd>First item at the top\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>\u003Ccode>column-reverse\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Bottom to top\u003C\u002Ftd>\u003Ctd>First item at the bottom\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch3 id=\"flex-direction-row\">flex-direction: row\u003C\u002Fh3>\u003Cp>Items sit side by side in the same order as the HTML. This is the default flexbox layout and the most common choice for navigation bars, toolbars and card rows.\u003C\u002Fp>\u003Ch3 id=\"flex-direction-row-reverse\">flex-direction: row-reverse\u003C\u002Fh3>\u003Cp>Items still sit side by side, but the order is flipped visually. The first item in HTML appears at the right edge. Start and end are also swapped, so justify-content: flex-start now packs items to the right.\u003C\u002Fp>\u003Ch3 id=\"flex-direction-column\">flex-direction: column\u003C\u002Fh3>\u003Cp>Items stack vertically, like normal block elements, but with all the power of flexbox alignment. Use flex-direction column for sidebars, forms, mobile menus and card content where the title, text and button must stack.\u003C\u002Fp>\u003Ch3 id=\"flex-direction-column-reverse\">flex-direction: column-reverse\u003C\u002Fh3>\u003Cp>Items stack from the bottom upward. A classic use case is a chat window where the newest message stays at the bottom.\u003C\u002Fp>\u003Ch2 id=\"reverse-values-and-accessibility\">Reverse Values and Accessibility\u003C\u002Fh2>\u003Cp>Row-reverse and column-reverse change only the \u003Cstrong>visual\u003C\u002Fstrong> order. The DOM order, tab order and screen reader order stay the same. If the visual order and the source order do not match, keyboard users will see focus jump around the page, which can fail WCAG 2.4.3 (Focus Order). Prefer to fix the order in your HTML whenever possible and use reverse values only when the content order truly does not matter for navigation.\u003C\u002Fp>\u003Ch2 id=\"flex-direction-and-writing-direction\">flex-direction and Writing Direction\u003C\u002Fh2>\u003Cp>The row direction follows the document's inline direction. In a right-to-left page (dir='rtl'), flex-direction: row starts at the right side automatically. This makes flexbox ideal for multilingual and RTL layouts without extra CSS.\u003C\u002Fp>\u003Ch2 id=\"responsive-flex-direction-column-on-mobile-row-on-desktop\">Responsive flex-direction: Column on Mobile, Row on Desktop\u003C\u002Fh2>\u003Cp>The most popular responsive flexbox layout pattern is mobile-first: stack items in a column on small screens, then switch to a row on wider screens.\u003C\u002Fp>\u003Cpre>\u003Ccode>.cards {\n  display: flex;\n  flex-direction: column;\n  gap: 16px;\n}\n\n@media (min-width: 768px) {\n  .cards {\n    flex-direction: row;\n  }\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2 id=\"common-mistakes-with-flex-direction\">Common Mistakes with flex-direction\u003C\u002Fh2>\u003Cul>\u003Cli>\u003Cstrong>Forgetting display: flex.\u003C\u002Fstrong> flex-direction is ignored on non-flex elements.\u003C\u002Fli>\u003Cli>\u003Cstrong>Applying it to the items instead of the container.\u003C\u002Fstrong> It is a container property.\u003C\u002Fli>\u003Cli>\u003Cstrong>Expecting justify-content to stay horizontal in column mode.\u003C\u002Fstrong> It follows the main axis, which becomes vertical.\u003C\u002Fli>\u003Cli>\u003Cstrong>Using column without a height.\u003C\u002Fstrong> The container height is auto, so there is no free space to distribute vertically.\u003C\u002Fli>\u003Cli>\u003Cstrong>Overusing reverse values.\u003C\u002Fstrong> They create a mismatch between visual and keyboard order.\u003C\u002Fli>\u003C\u002Ful>\u003Ch2 id=\"best-practices\">Best Practices\u003C\u002Fh2>\u003Cul>\u003Cli>Design mobile-first with column, then upgrade to row using min-width media queries or container queries.\u003C\u002Fli>\u003Cli>Combine flex-direction with the gap property instead of margins for clean spacing.\u003C\u002Fli>\u003Cli>Use the flex-flow shorthand when you also need wrapping.\u003C\u002Fli>\u003Cli>Keep DOM order logical for accessibility and SEO.\u003C\u002Fli>\u003C\u002Ful>\u003Ch2 id=\"faq\">FAQ\u003C\u002Fh2>\u003Ch3 id=\"what-is-the-default-value-of-flex-direction\">What is the default value of flex-direction?\u003C\u002Fh3>\u003Cp>The default is row.\u003C\u002Fp>\u003Ch3 id=\"what-is-the-difference-between-flex-direction-column-and-display-block\">What is the difference between flex-direction column and display block?\u003C\u002Fh3>\u003Cp>Block elements stack by default, but a column flex container lets you control alignment, spacing, growth and shrinking of the stacked items with flexbox properties.\u003C\u002Fp>\u003Ch3 id=\"can-i-change-flex-direction-with-javascript\">Can I change flex-direction with JavaScript?\u003C\u002Fh3>\u003Cp>Yes. Set element.style.flexDirection or toggle a CSS class. Try the live playground below.\u003C\u002Fp>\u003Ch2 id=\"key-takeaways\">Key Takeaways\u003C\u002Fh2>\u003Cul>\u003Cli>flex-direction defines the main axis of a flex container.\u003C\u002Fli>\u003Cli>Four values: row, row-reverse, column, column-reverse.\u003C\u002Fli>\u003Cli>Changing it swaps what justify-content and align-items control.\u003C\u002Fli>\u003Cli>Reverse values change visual order only, not DOM order.\u003C\u002Fli>\u003C\u002Ful>\u003Cdiv class=\"try-it-yourself language-html\">\u003Cpre>\u003Ccode>&lt;style&gt;\n.container{display:flex;flex-direction:row;gap:10px;padding:12px;background:#ecf0f1;border-radius:8px;}\n.item{background:#3498db;color:#fff;padding:16px 22px;border-radius:6px;font-family:sans-serif;font-weight:bold;}\n&lt;\u002Fstyle&gt;\n&lt;div class='container'&gt;\n&lt;div class='item'&gt;1&lt;\u002Fdiv&gt;\n&lt;div class='item'&gt;2&lt;\u002Fdiv&gt;\n&lt;div class='item'&gt;3&lt;\u002Fdiv&gt;\n&lt;\u002Fdiv&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\u003Cdiv class=\"try-it-yourself language-html\">\u003Cpre>\u003Ccode>&lt;style&gt;\n.container{display:flex;flex-direction:row-reverse;gap:10px;padding:12px;background:#ecf0f1;border-radius:8px;}\n.item{background:#e67e22;color:#fff;padding:16px 22px;border-radius:6px;font-family:sans-serif;font-weight:bold;}\n&lt;\u002Fstyle&gt;\n&lt;div class='container'&gt;\n&lt;div class='item'&gt;1&lt;\u002Fdiv&gt;\n&lt;div class='item'&gt;2&lt;\u002Fdiv&gt;\n&lt;div class='item'&gt;3&lt;\u002Fdiv&gt;\n&lt;\u002Fdiv&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\u003Cdiv class=\"try-it-yourself language-html\">\u003Cpre>\u003Ccode>&lt;style&gt;\n.container{display:flex;flex-direction:column;gap:10px;padding:12px;background:#ecf0f1;border-radius:8px;width:220px;}\n.item{background:#27ae60;color:#fff;padding:14px;border-radius:6px;font-family:sans-serif;font-weight:bold;text-align:center;}\n&lt;\u002Fstyle&gt;\n&lt;div class='container'&gt;\n&lt;div class='item'&gt;Home&lt;\u002Fdiv&gt;\n&lt;div class='item'&gt;About&lt;\u002Fdiv&gt;\n&lt;div class='item'&gt;Contact&lt;\u002Fdiv&gt;\n&lt;\u002Fdiv&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\u003Cdiv class=\"try-it-yourself language-html\">\u003Cpre>\u003Ccode>&lt;style&gt;\n.chat{display:flex;flex-direction:column-reverse;gap:8px;height:200px;padding:12px;background:#ecf0f1;border-radius:8px;font-family:sans-serif;}\n.msg{background:#2980b9;color:#fff;padding:8px 12px;border-radius:14px;max-width:70%;}\n&lt;\u002Fstyle&gt;\n&lt;div class='chat'&gt;\n&lt;div class='msg'&gt;Newest message (first in HTML, shown at the bottom)&lt;\u002Fdiv&gt;\n&lt;div class='msg'&gt;Older message&lt;\u002Fdiv&gt;\n&lt;div class='msg'&gt;Oldest message&lt;\u002Fdiv&gt;\n&lt;\u002Fdiv&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\u003Cdiv class=\"try-it-yourself language-html\">\u003Cpre>\u003Ccode>&lt;style&gt;\n.cards{display:flex;flex-direction:column;gap:12px;font-family:sans-serif;}\n.card{background:#8e44ad;color:#fff;padding:20px;border-radius:8px;flex:1;text-align:center;}\n@media (min-width:600px){.cards{flex-direction:row;}}\n&lt;\u002Fstyle&gt;\n&lt;div class='cards'&gt;\n&lt;div class='card'&gt;Card 1&lt;\u002Fdiv&gt;\n&lt;div class='card'&gt;Card 2&lt;\u002Fdiv&gt;\n&lt;div class='card'&gt;Card 3&lt;\u002Fdiv&gt;\n&lt;\u002Fdiv&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\u003Cdiv class=\"try-it-yourself language-html\">\u003Cpre>\u003Ccode>&lt;style&gt;\n.box{display:flex;gap:10px;padding:12px;background:#ecf0f1;border-radius:8px;min-height:150px;}\n.item{background:#8e44ad;color:#fff;padding:14px 20px;border-radius:6px;font-family:sans-serif;font-weight:bold;}\n&lt;\u002Fstyle&gt;\n&lt;select onchange='document.getElementById(`demo`).style.flexDirection=this.value'&gt;\n&lt;option&gt;row&lt;\u002Foption&gt;\n&lt;option&gt;row-reverse&lt;\u002Foption&gt;\n&lt;option&gt;column&lt;\u002Foption&gt;\n&lt;option&gt;column-reverse&lt;\u002Foption&gt;\n&lt;\u002Fselect&gt;\n&lt;div class='box' id='demo'&gt;\n&lt;div class='item'&gt;A&lt;\u002Fdiv&gt;\n&lt;div class='item'&gt;B&lt;\u002Fdiv&gt;\n&lt;div class='item'&gt;C&lt;\u002Fdiv&gt;\n&lt;\u002Fdiv&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>",{"name":9,"slug":10},{"name":43,"slug":44},"Container Properties","container-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",[],[],[],4,false,"Article","https:\u002F\u002Fwpfsharp.com\u002Ftopics\u002Fcss-flex-direction","CSS flex-direction Explained: row, column & reverse","Learn CSS flex-direction with row, row-reverse, column and column-reverse values, live examples, accessibility tips and responsive flexbox patterns.",[58,67,71,91,95,99,103,107,111,127],{"id":59,"text":60,"level":12,"children":61},"what-is-flex-direction-in-css","What Is flex-direction in CSS?",[62],{"id":63,"text":64,"level":65,"children":66},"syntax","Syntax",3,[],{"id":68,"text":69,"level":12,"children":70},"main-axis-vs-cross-axis","Main Axis vs Cross Axis",[],{"id":72,"text":73,"level":12,"children":74},"flex-direction-values-explained","flex-direction Values Explained",[75,79,83,87],{"id":76,"text":77,"level":65,"children":78},"flex-direction-row","flex-direction: row",[],{"id":80,"text":81,"level":65,"children":82},"flex-direction-row-reverse","flex-direction: row-reverse",[],{"id":84,"text":85,"level":65,"children":86},"flex-direction-column","flex-direction: column",[],{"id":88,"text":89,"level":65,"children":90},"flex-direction-column-reverse","flex-direction: column-reverse",[],{"id":92,"text":93,"level":12,"children":94},"reverse-values-and-accessibility","Reverse Values and Accessibility",[],{"id":96,"text":97,"level":12,"children":98},"flex-direction-and-writing-direction","flex-direction and Writing Direction",[],{"id":100,"text":101,"level":12,"children":102},"responsive-flex-direction-column-on-mobile-row-on-desktop","Responsive flex-direction: Column on Mobile, Row on Desktop",[],{"id":104,"text":105,"level":12,"children":106},"common-mistakes-with-flex-direction","Common Mistakes with flex-direction",[],{"id":108,"text":109,"level":12,"children":110},"best-practices","Best Practices",[],{"id":112,"text":113,"level":12,"children":114},"faq","FAQ",[115,119,123],{"id":116,"text":117,"level":65,"children":118},"what-is-the-default-value-of-flex-direction","What is the default value of flex-direction?",[],{"id":120,"text":121,"level":65,"children":122},"what-is-the-difference-between-flex-direction-column-and-display-block","What is the difference between flex-direction column and display block?",[],{"id":124,"text":125,"level":65,"children":126},"can-i-change-flex-direction-with-javascript","Can I change flex-direction with JavaScript?",[],{"id":128,"text":129,"level":12,"children":130},"key-takeaways","Key Takeaways",[],[132,136,139,142,145,148],{"id":133,"language":16,"code":134,"is_editable":135},688,"\u003Cstyle>\n.container{display:flex;flex-direction:row;gap:10px;padding:12px;background:#ecf0f1;border-radius:8px;}\n.item{background:#3498db;color:#fff;padding:16px 22px;border-radius:6px;font-family:sans-serif;font-weight:bold;}\n\u003C\u002Fstyle>\n\u003Cdiv class='container'>\n\u003Cdiv class='item'>1\u003C\u002Fdiv>\n\u003Cdiv class='item'>2\u003C\u002Fdiv>\n\u003Cdiv class='item'>3\u003C\u002Fdiv>\n\u003C\u002Fdiv>",true,{"id":137,"language":16,"code":138,"is_editable":135},689,"\u003Cstyle>\n.container{display:flex;flex-direction:row-reverse;gap:10px;padding:12px;background:#ecf0f1;border-radius:8px;}\n.item{background:#e67e22;color:#fff;padding:16px 22px;border-radius:6px;font-family:sans-serif;font-weight:bold;}\n\u003C\u002Fstyle>\n\u003Cdiv class='container'>\n\u003Cdiv class='item'>1\u003C\u002Fdiv>\n\u003Cdiv class='item'>2\u003C\u002Fdiv>\n\u003Cdiv class='item'>3\u003C\u002Fdiv>\n\u003C\u002Fdiv>",{"id":140,"language":16,"code":141,"is_editable":135},690,"\u003Cstyle>\n.container{display:flex;flex-direction:column;gap:10px;padding:12px;background:#ecf0f1;border-radius:8px;width:220px;}\n.item{background:#27ae60;color:#fff;padding:14px;border-radius:6px;font-family:sans-serif;font-weight:bold;text-align:center;}\n\u003C\u002Fstyle>\n\u003Cdiv class='container'>\n\u003Cdiv class='item'>Home\u003C\u002Fdiv>\n\u003Cdiv class='item'>About\u003C\u002Fdiv>\n\u003Cdiv class='item'>Contact\u003C\u002Fdiv>\n\u003C\u002Fdiv>",{"id":143,"language":16,"code":144,"is_editable":135},691,"\u003Cstyle>\n.chat{display:flex;flex-direction:column-reverse;gap:8px;height:200px;padding:12px;background:#ecf0f1;border-radius:8px;font-family:sans-serif;}\n.msg{background:#2980b9;color:#fff;padding:8px 12px;border-radius:14px;max-width:70%;}\n\u003C\u002Fstyle>\n\u003Cdiv class='chat'>\n\u003Cdiv class='msg'>Newest message (first in HTML, shown at the bottom)\u003C\u002Fdiv>\n\u003Cdiv class='msg'>Older message\u003C\u002Fdiv>\n\u003Cdiv class='msg'>Oldest message\u003C\u002Fdiv>\n\u003C\u002Fdiv>",{"id":146,"language":16,"code":147,"is_editable":135},692,"\u003Cstyle>\n.cards{display:flex;flex-direction:column;gap:12px;font-family:sans-serif;}\n.card{background:#8e44ad;color:#fff;padding:20px;border-radius:8px;flex:1;text-align:center;}\n@media (min-width:600px){.cards{flex-direction:row;}}\n\u003C\u002Fstyle>\n\u003Cdiv class='cards'>\n\u003Cdiv class='card'>Card 1\u003C\u002Fdiv>\n\u003Cdiv class='card'>Card 2\u003C\u002Fdiv>\n\u003Cdiv class='card'>Card 3\u003C\u002Fdiv>\n\u003C\u002Fdiv>",{"id":149,"language":16,"code":150,"is_editable":135},693,"\u003Cstyle>\n.box{display:flex;gap:10px;padding:12px;background:#ecf0f1;border-radius:8px;min-height:150px;}\n.item{background:#8e44ad;color:#fff;padding:14px 20px;border-radius:6px;font-family:sans-serif;font-weight:bold;}\n\u003C\u002Fstyle>\n\u003Cselect onchange='document.getElementById(`demo`).style.flexDirection=this.value'>\n\u003Coption>row\u003C\u002Foption>\n\u003Coption>row-reverse\u003C\u002Foption>\n\u003Coption>column\u003C\u002Foption>\n\u003Coption>column-reverse\u003C\u002Foption>\n\u003C\u002Fselect>\n\u003Cdiv class='box' id='demo'>\n\u003Cdiv class='item'>A\u003C\u002Fdiv>\n\u003Cdiv class='item'>B\u003C\u002Fdiv>\n\u003Cdiv class='item'>C\u003C\u002Fdiv>\n\u003C\u002Fdiv>",{"id":152,"slug":153,"title":154,"time_limit_seconds":5,"pass_percentage":155,"question_count":65},54,"flex-direction-quiz","flex-direction Quiz",70,[157],{"id":158,"title":159,"slug":160,"prompt":161,"starter_code":162,"expected_output":163,"language":16,"order_index":23},237,"Build a Vertical Menu with flex-direction","flex-direction-vertical-menu","Turn the three links into a vertical menu using flexbox. Make the container a flex container, stack the links in a column, and add a 10px gap between them. Then add a media query so the menu becomes a horizontal row on screens that are 600px wide or more.","\u003Cstyle>\n.menu{\n  \u002F* TODO: make this a flex container *\u002F\n  \u002F* TODO: stack items in a column *\u002F\n  \u002F* TODO: add a 10px gap *\u002F\n}\n.menu a{background:#3498db;color:#fff;padding:10px 16px;border-radius:6px;font-family:sans-serif;text-decoration:none;}\n\u002F* TODO: add a media query for min-width: 600px that switches to row *\u002F\n\u003C\u002Fstyle>\n\u003Cdiv class='menu'>\n\u003Ca href='#'>Home\u003C\u002Fa>\n\u003Ca href='#'>Blog\u003C\u002Fa>\n\u003Ca href='#'>Contact\u003C\u002Fa>\n\u003C\u002Fdiv>","Links are stacked vertically with a 10px gap on small screens and displayed in a horizontal row on screens 600px wide or more.","2026-10-01T16:32:07+00:00",{"id":166,"slug":167,"title":168},86,"browser-devtools-for-css","Browser DevTools for CSS: Inspect, Debug & Edit Styles Live",{"id":170,"slug":171,"title":172},177,"css-flex-wrap-and-flex-flow-iZaSUa","CSS flex-wrap and flex-flow: Complete Guide with Examples",{"data":174},[175,493],{"id":23,"name":15,"slug":176,"icon":5,"icon_url":5,"short_description":177,"meta_title":178,"meta_description":179,"og_image":180,"locale":181,"subcategories":182},"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",[183,207,243,267,343,376,390,418,442,458],{"id":23,"name":184,"slug":185,"order_index":23,"topics":186},"HTML Fundamentals & Setup","html-fundamentals-setup",[187,190,193,196,199,203],{"id":23,"title":188,"slug":189,"order_index":23,"cornerstone":52,"reading_time_minutes":23},"HTML Introduction & History","html-introduction-and-history",{"id":12,"title":191,"slug":192,"order_index":23,"cornerstone":52,"reading_time_minutes":12},"HTML Editors & Environment Setup","html-editors-and-environment-setup",{"id":65,"title":194,"slug":195,"order_index":65,"cornerstone":52,"reading_time_minutes":12},"HTML Basic Syntax & Document Structure","html-basic-syntax-document-structure",{"id":51,"title":197,"slug":198,"order_index":51,"cornerstone":52,"reading_time_minutes":12},"HTML Elements & Tags Explained","html-elements-tags-explained",{"id":200,"title":201,"slug":202,"order_index":200,"cornerstone":52,"reading_time_minutes":12},5,"HTML Attributes (Global & Standard)","html-attributes-global-standard",{"id":204,"title":205,"slug":206,"order_index":204,"cornerstone":52,"reading_time_minutes":12},6,"Understanding the DOCTYPE & HTML5 Boilerplate","understanding-doctype-html5-boilerplate",{"id":12,"name":208,"slug":209,"order_index":12,"topics":210},"Text & Content Basics","text-content-basics",[211,215,219,223,227,231,235,239],{"id":212,"title":213,"slug":214,"order_index":212,"cornerstone":52,"reading_time_minutes":12},7,"HTML Headings (H1–H6) & SEO Best Practices","html-headings-h1-h6-seo-best-practices",{"id":216,"title":217,"slug":218,"order_index":216,"cornerstone":52,"reading_time_minutes":12},8,"HTML Paragraphs & Line Breaks","html-paragraphs-line-breaks",{"id":220,"title":221,"slug":222,"order_index":220,"cornerstone":52,"reading_time_minutes":23},9,"HTML Text Formatting (Bold, Italic, Mark, etc.)","html-text-formatting-bold-italic-mark",{"id":224,"title":225,"slug":226,"order_index":224,"cornerstone":52,"reading_time_minutes":12},10,"HTML Styles (Inline CSS Basics)","html-styles-inline-css-basics",{"id":228,"title":229,"slug":230,"order_index":228,"cornerstone":52,"reading_time_minutes":12},11,"HTML Quotations & Citations (blockquote, q, cite)","html-quotations-citations-blockquote-q-cite",{"id":232,"title":233,"slug":234,"order_index":232,"cornerstone":52,"reading_time_minutes":12},12,"HTML Comments (Best Practices)","html-comments-best-practices",{"id":236,"title":237,"slug":238,"order_index":236,"cornerstone":52,"reading_time_minutes":12},13,"HTML Colors (Names, HEX, RGB, HSL)","html-colors-names-hex-rgb-hsl",{"id":240,"title":241,"slug":242,"order_index":240,"cornerstone":52,"reading_time_minutes":12},14,"HTML & CSS Integration (Inline, Internal, External)","html-css-integration-inline-internal-external",{"id":65,"name":244,"slug":245,"order_index":65,"topics":246},"Links, Media & Navigation","links-media-navigation",[247,251,255,259,263],{"id":248,"title":249,"slug":250,"order_index":248,"cornerstone":52,"reading_time_minutes":12},15,"HTML Links (Anchor Tags & Hyperlinks)","html-links-anchor-tags-hyperlinks",{"id":252,"title":253,"slug":254,"order_index":252,"cornerstone":52,"reading_time_minutes":12},16,"HTML Images (Alt Text, Lazy Loading, Formats)","html-images-alt-text-lazy-loading-formats",{"id":256,"title":257,"slug":258,"order_index":256,"cornerstone":52,"reading_time_minutes":23},17,"HTML Favicon Setup","html-favicon-setup",{"id":260,"title":261,"slug":262,"order_index":260,"cornerstone":52,"reading_time_minutes":12},18,"HTML Page Title & Meta Tags (SEO Essentials)","html-page-title-meta-tags-seo-essentials",{"id":264,"title":265,"slug":266,"order_index":264,"cornerstone":52,"reading_time_minutes":12},19,"HTML File Paths (Absolute vs Relative)","html-file-paths-absolute-vs-relative",{"id":51,"name":268,"slug":269,"order_index":51,"topics":270},"Structuring Content","structuring-content",[271,276,281,286,291,295,299,303,307,311,315,319,323,327,331,335,339],{"id":272,"title":273,"slug":274,"order_index":275,"cornerstone":52,"reading_time_minutes":12},24,"HTML Tables Explained: Rows, Columns & Merging Cells","html-tables-rows-columns-merging-cells",20,{"id":277,"title":278,"slug":279,"order_index":280,"cornerstone":52,"reading_time_minutes":12},25,"HTML Lists: Ordered, Unordered & Description Lists","html-lists-ordered-unordered-description",21,{"id":282,"title":283,"slug":284,"order_index":285,"cornerstone":52,"reading_time_minutes":12},26,"HTML Block vs Inline Elements Explained","html-block-vs-inline-elements",22,{"id":287,"title":288,"slug":289,"order_index":290,"cornerstone":52,"reading_time_minutes":23},27,"HTML Div & Span: Generic Containers Explained","html-div-and-span-containers",23,{"id":292,"title":293,"slug":294,"order_index":272,"cornerstone":52,"reading_time_minutes":12},28,"HTML Classes vs ID: Selectors Explained","html-classes-vs-id-selectors-explained",{"id":296,"title":297,"slug":298,"order_index":277,"cornerstone":52,"reading_time_minutes":23},29,"HTML Iframes: Embedding External Content","html-iframes-embedding-content",{"id":300,"title":301,"slug":302,"order_index":282,"cornerstone":52,"reading_time_minutes":12},30,"HTML Head Element Deep Dive","html-head-element-deep-dive",{"id":304,"title":305,"slug":306,"order_index":287,"cornerstone":52,"reading_time_minutes":12},31,"HTML Layout Techniques: Header, Nav & Footer","html-layout-techniques-header-nav-footer",{"id":308,"title":309,"slug":310,"order_index":292,"cornerstone":52,"reading_time_minutes":12},32,"Responsive HTML Design: Mobile-First Approach","responsive-html-design-mobile-first-approach",{"id":312,"title":313,"slug":314,"order_index":296,"cornerstone":52,"reading_time_minutes":65},74,"HTML Semantic Elements (article, section, aside, nav)","html-semantic-elements-article-section-aside-nav",{"id":316,"title":317,"slug":318,"order_index":300,"cornerstone":52,"reading_time_minutes":12},75,"HTML Style Guide & Coding Conventions","html-style-guide-coding-conventions",{"id":320,"title":321,"slug":322,"order_index":304,"cornerstone":52,"reading_time_minutes":12},76,"HTML Entities & Special Characters","html-entities-special-characters",{"id":324,"title":325,"slug":326,"order_index":308,"cornerstone":52,"reading_time_minutes":23},77,"HTML Symbols","html-symbols",{"id":328,"title":329,"slug":330,"order_index":328,"cornerstone":52,"reading_time_minutes":23},33,"HTML Emojis 😀: How to Use Them in Web Pages","html-emojis-trending-guide",{"id":332,"title":333,"slug":334,"order_index":332,"cornerstone":52,"reading_time_minutes":12},34,"HTML Character Sets: UTF-8 & Encoding Explained","html-character-sets-utf-8-encoding",{"id":336,"title":337,"slug":338,"order_index":336,"cornerstone":52,"reading_time_minutes":23},35,"HTML URL Encoding Explained","html-url-encoding-explained",{"id":340,"title":341,"slug":342,"order_index":340,"cornerstone":52,"reading_time_minutes":23},36,"HTML vs XHTML: Key Differences","html-vs-xhtml-key-differences",{"id":212,"name":344,"slug":345,"order_index":200,"topics":346},"Forms & User Input","forms-user-input",[347,352,357,362,367,372],{"id":348,"title":349,"slug":350,"order_index":351,"cornerstone":52,"reading_time_minutes":12},49,"HTML Forms Introduction","html-forms-introduction",37,{"id":353,"title":354,"slug":355,"order_index":356,"cornerstone":52,"reading_time_minutes":23},50,"HTML Form Attributes (action, method, etc.)","html-form-attributes-action-method",38,{"id":358,"title":359,"slug":360,"order_index":361,"cornerstone":52,"reading_time_minutes":23},51,"HTML Form Elements (input, select, textarea, button)","html-form-elements-input-select-textarea-button",39,{"id":363,"title":364,"slug":365,"order_index":366,"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":368,"title":369,"slug":370,"order_index":371,"cornerstone":52,"reading_time_minutes":12},53,"HTML Input Attributes (required, placeholder, pattern)","html-input-attributes-required-placeholder-pattern",41,{"id":152,"title":373,"slug":374,"order_index":375,"cornerstone":52,"reading_time_minutes":12},"HTML Form Validation (Client-Side)","html-form-validation-client-side",42,{"id":216,"name":377,"slug":378,"order_index":204,"topics":379},"Graphics & Visuals","graphics-visuals",[380,385],{"id":381,"title":382,"slug":383,"order_index":384,"cornerstone":52,"reading_time_minutes":65},55,"HTML Canvas (2D Drawing API) 🔥","html-canvas-2d-drawing-api",43,{"id":386,"title":387,"slug":388,"order_index":389,"cornerstone":52,"reading_time_minutes":65},56,"HTML SVG (Scalable Vector Graphics)","html-svg-scalable-vector-graphics",44,{"id":220,"name":391,"slug":392,"order_index":212,"topics":393},"Multimedia","multimedia",[394,399,404,409,414],{"id":395,"title":396,"slug":397,"order_index":398,"cornerstone":52,"reading_time_minutes":12},57,"HTML Media Overview","html-media-overview",45,{"id":400,"title":401,"slug":402,"order_index":403,"cornerstone":52,"reading_time_minutes":12},58,"HTML Video Embedding (Native Player)","html-video-embedding-native-player",46,{"id":405,"title":406,"slug":407,"order_index":408,"cornerstone":52,"reading_time_minutes":12},59,"HTML Audio Embedding","html-audio-embedding",47,{"id":410,"title":411,"slug":412,"order_index":413,"cornerstone":52,"reading_time_minutes":12},60,"HTML Plug-ins (Object & Embed Tags)","html-plugins-object-embed-tags",48,{"id":415,"title":416,"slug":417,"order_index":348,"cornerstone":52,"reading_time_minutes":12},61,"Embedding YouTube Videos in HTML","embedding-youtube-videos-in-html",{"id":224,"name":419,"slug":420,"order_index":216,"topics":421},"HTML5 Web APIs (Advanced\u002FTrending)","html5-web-apis-advancedtrending",[422,426,430,434,438],{"id":423,"title":424,"slug":425,"order_index":353,"cornerstone":52,"reading_time_minutes":12},62,"HTML Geolocation API","html-geolocation-api",{"id":427,"title":428,"slug":429,"order_index":358,"cornerstone":52,"reading_time_minutes":12},63,"HTML Drag & Drop API","html-drag-and-drop-api",{"id":431,"title":432,"slug":433,"order_index":363,"cornerstone":52,"reading_time_minutes":12},64,"HTML Web Storage (localStorage & sessionStorage)","html-web-storage-localstorage-sessionstorage",{"id":435,"title":436,"slug":437,"order_index":368,"cornerstone":52,"reading_time_minutes":12},65,"HTML Web Workers (Background Processing)","html-web-workers-background-processing",{"id":439,"title":440,"slug":441,"order_index":152,"cornerstone":52,"reading_time_minutes":12},66,"HTML Server-Sent Events (SSE)","html-server-sent-events-sse",{"id":228,"name":443,"slug":444,"order_index":220,"topics":445},"Accessibility & Best Practices (High-Demand  Skill) �","accessibility-best-practices-high-demand-skill",[446,450,454],{"id":447,"title":448,"slug":449,"order_index":381,"cornerstone":52,"reading_time_minutes":12},67,"HTML Accessibility (ARIA, Screen Readers)","html-accessibility-aria-screen-readers",{"id":451,"title":452,"slug":453,"order_index":386,"cornerstone":52,"reading_time_minutes":12},68,"Writing Semantic & SEO-Friendly HTML","writing-semantic-and-seo-friendly-html",{"id":455,"title":456,"slug":457,"order_index":395,"cornerstone":52,"reading_time_minutes":12},69,"HTML Performance Optimization Basics","html-performance-optimization-basics",{"id":232,"name":459,"slug":460,"order_index":224,"topics":461},"Reference & Practice","reference-practice",[462,465,469,473,477,481,485,489],{"id":155,"title":463,"slug":464,"order_index":23,"cornerstone":52,"reading_time_minutes":12},"HTML Tag List (Full Reference)","html-tag-list-full-reference",{"id":466,"title":467,"slug":468,"order_index":12,"cornerstone":52,"reading_time_minutes":12},71,"HTML Global Attributes Reference","html-global-attributes-reference",{"id":470,"title":471,"slug":472,"order_index":65,"cornerstone":52,"reading_time_minutes":12},72,"HTML Events Reference","html-events-reference",{"id":474,"title":475,"slug":476,"order_index":51,"cornerstone":52,"reading_time_minutes":12},73,"HTML Browser Support & Compatibility","html-browser-support-compatibility",{"id":478,"title":479,"slug":480,"order_index":200,"cornerstone":52,"reading_time_minutes":12},78,"HTML Doctypes Reference","html-doctypes-reference",{"id":482,"title":483,"slug":484,"order_index":204,"cornerstone":52,"reading_time_minutes":12},79,"HTTP Methods & Messages (Basics for Forms\u002FAPIs)","http-methods-messages-basics",{"id":486,"title":487,"slug":488,"order_index":212,"cornerstone":52,"reading_time_minutes":65},80,"HTML Interview Preparation (Top Q&A)","html-interview-preparation-top-qa",{"id":490,"title":491,"slug":492,"order_index":216,"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":494,"meta_title":495,"meta_description":496,"og_image":5,"locale":181,"subcategories":497},"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.",[498,520,545,566,586,622,654,686,718,750,778,806,838,866],{"id":236,"name":499,"slug":500,"order_index":501,"topics":502},"CSS Fundamentals & Setup","css-fundamentals-setup",0,[503,507,511,515,519],{"id":504,"title":505,"slug":506,"order_index":23,"cornerstone":52,"reading_time_minutes":51},82,"CSS Introduction & History: What Is CSS and Why It Matters","css-introduction-and-history",{"id":508,"title":509,"slug":510,"order_index":12,"cornerstone":52,"reading_time_minutes":51},83,"CSS Syntax & How Browsers Apply Styles","css-syntax-how-browsers-apply-styles",{"id":512,"title":513,"slug":514,"order_index":65,"cornerstone":52,"reading_time_minutes":65},84,"Setting Up Your CSS Workspace: Linking Files & Live Server","setting-up-css-workspace-linking-files-live-server",{"id":516,"title":517,"slug":518,"order_index":51,"cornerstone":52,"reading_time_minutes":65},85,"CSS Comments & Code Formatting Best Practices","css-comments-and-code-formatting",{"id":166,"title":168,"slug":167,"order_index":200,"cornerstone":52,"reading_time_minutes":200},{"id":287,"name":521,"slug":522,"order_index":501,"topics":523},"Item Properties","item-properties",[524,528,529,533,537,541],{"id":525,"title":526,"slug":527,"order_index":200,"cornerstone":52,"reading_time_minutes":51},176,"CSS flex-direction: Row, Column, Reverse Explained with Examples","css-flex-direction-qYSHRj",{"id":170,"title":172,"slug":171,"order_index":204,"cornerstone":52,"reading_time_minutes":51},{"id":530,"title":531,"slug":532,"order_index":212,"cornerstone":52,"reading_time_minutes":51},178,"CSS justify-content: Align Flex Items on the Main Axis","css-justify-content-VlB71x",{"id":534,"title":535,"slug":536,"order_index":216,"cornerstone":52,"reading_time_minutes":51},179,"CSS align-items: Align Flex Items on the Cross Axis","css-align-items-H3MFZg",{"id":538,"title":539,"slug":540,"order_index":220,"cornerstone":52,"reading_time_minutes":65},180,"CSS align-content: Align Multiple Flex Lines Explained","css-align-content-6815Ey",{"id":542,"title":543,"slug":544,"order_index":224,"cornerstone":52,"reading_time_minutes":65},181,"CSS gap, row-gap and column-gap in Flexbox and Grid","css-gap",{"id":282,"name":43,"slug":44,"order_index":501,"topics":546},[547,548,552,555,558,562],{"id":37,"title":38,"slug":39,"order_index":200,"cornerstone":52,"reading_time_minutes":51},{"id":549,"title":550,"slug":551,"order_index":204,"cornerstone":52,"reading_time_minutes":51},171,"CSS flex-wrap & flex-flow: Wrap Flex Items the Right Way","css-flex-wrap-and-flex-flow",{"id":553,"title":531,"slug":554,"order_index":212,"cornerstone":52,"reading_time_minutes":51},172,"css-justify-content",{"id":556,"title":535,"slug":557,"order_index":216,"cornerstone":52,"reading_time_minutes":65},173,"css-align-items",{"id":559,"title":560,"slug":561,"order_index":220,"cornerstone":52,"reading_time_minutes":65},174,"CSS align-content: Space and Align Multiple Flex Lines","css-align-content",{"id":563,"title":564,"slug":565,"order_index":224,"cornerstone":52,"reading_time_minutes":51},175,"CSS gap, row-gap & column-gap in Flexbox: Modern Spacing","css-flexbox-gap",{"id":277,"name":567,"slug":568,"order_index":501,"topics":569},"Flexbox Foundations","flexbox-foundations",[570,574,578,582],{"id":571,"title":572,"slug":573,"order_index":23,"cornerstone":52,"reading_time_minutes":216},166,"Why Layout Evolved: Tables, Floats, Flexbox and Grid","why-layout-evolved-tables-floats-flexbox-grid",{"id":575,"title":576,"slug":577,"order_index":12,"cornerstone":52,"reading_time_minutes":204},167,"Flexbox Introduction and Mental Model","flexbox-introduction-and-mental-model",{"id":579,"title":580,"slug":581,"order_index":65,"cornerstone":52,"reading_time_minutes":204},168,"Flex Container and Flex Items","flex-container-and-flex-items",{"id":583,"title":584,"slug":585,"order_index":51,"cornerstone":52,"reading_time_minutes":212},169,"Main Axis vs Cross Axis and the DevTools Flex Inspector","main-axis-vs-cross-axis-devtools-flex-inspector",{"id":240,"name":587,"slug":588,"order_index":23,"topics":589},"Selectors & the Cascade","selectors-the-cascade",[590,594,598,602,606,610,614,618],{"id":591,"title":592,"slug":593,"order_index":204,"cornerstone":52,"reading_time_minutes":51},87,"CSS Basic Selectors: Type, Class, ID, Universal & Grouping","css-basic-selectors",{"id":595,"title":596,"slug":597,"order_index":212,"cornerstone":52,"reading_time_minutes":51},88,"CSS Combinators: Descendant, Child, Adjacent & General Sibling","css-combinators",{"id":599,"title":600,"slug":601,"order_index":216,"cornerstone":52,"reading_time_minutes":51},89,"CSS Attribute Selectors: [attr], ^=, $=, *= and More","css-attribute-selectors",{"id":603,"title":604,"slug":605,"order_index":220,"cornerstone":52,"reading_time_minutes":204},90,"CSS Pseudo-classes: :hover, :focus, :nth-child & Modern Selectors","css-pseudo-classes",{"id":607,"title":608,"slug":609,"order_index":224,"cornerstone":52,"reading_time_minutes":200},91,"CSS Pseudo-elements (::before, ::after)","css-pseudo-elements-before-after",{"id":611,"title":612,"slug":613,"order_index":228,"cornerstone":52,"reading_time_minutes":200},92,"Modern CSS Selectors: :is(), :where(), :has()","modern-css-selectors-is-where-has",{"id":615,"title":616,"slug":617,"order_index":232,"cornerstone":52,"reading_time_minutes":51},93,"CSS Specificity Explained","css-specificity-explained",{"id":619,"title":620,"slug":621,"order_index":236,"cornerstone":52,"reading_time_minutes":200},94,"Cascade, Inheritance & !important","css-cascade-inheritance-important",{"id":248,"name":623,"slug":624,"order_index":12,"topics":625},"Colors, Backgrounds & Effects","colors-backgrounds-effects",[626,630,634,638,642,646,650],{"id":627,"title":628,"slug":629,"order_index":240,"cornerstone":52,"reading_time_minutes":200},95,"CSS Colors (HEX, RGB, HSL, OKLCH)","css-colors-hex-rgb-hsl-oklch",{"id":631,"title":632,"slug":633,"order_index":248,"cornerstone":52,"reading_time_minutes":51},96,"CSS Backgrounds","css-backgrounds",{"id":635,"title":636,"slug":637,"order_index":252,"cornerstone":52,"reading_time_minutes":200},97,"CSS Gradients (Linear, Radial, Conic)","css-gradients-linear-radial-conic",{"id":639,"title":640,"slug":641,"order_index":256,"cornerstone":52,"reading_time_minutes":200},98,"CSS Borders, Outlines & Rounded Corners","css-borders-outlines-rounded-corners",{"id":643,"title":644,"slug":645,"order_index":260,"cornerstone":52,"reading_time_minutes":204},99,"CSS Box Shadow & Text Shadow","css-box-shadow-text-shadow",{"id":647,"title":648,"slug":649,"order_index":264,"cornerstone":52,"reading_time_minutes":200},100,"CSS Opacity & Blend Modes","css-opacity-blend-modes",{"id":651,"title":652,"slug":653,"order_index":275,"cornerstone":52,"reading_time_minutes":204},101,"CSS Filters & backdrop-filter (Glassmorphism)","css-filters-backdrop-filter-glassmorphism",{"id":252,"name":655,"slug":656,"order_index":65,"topics":657},"Box Model & Spacing","box-model-spacing",[658,662,666,670,674,678,682],{"id":659,"title":660,"slug":661,"order_index":280,"cornerstone":52,"reading_time_minutes":212},102,"The CSS Box Model: Content, Padding, Border and Margin","css-box-model",{"id":663,"title":664,"slug":665,"order_index":285,"cornerstone":52,"reading_time_minutes":212},103,"CSS Margin and Margin Collapse","css-margin-and-margin-collapse",{"id":667,"title":668,"slug":669,"order_index":290,"cornerstone":52,"reading_time_minutes":204},104,"CSS Padding: Shorthand, Percentages and Best Practices","css-padding",{"id":671,"title":672,"slug":673,"order_index":272,"cornerstone":52,"reading_time_minutes":220},105,"CSS Width, Height, Min-Width, Max-Width, Min-Height & Max-Height","css-width-height-min-max",{"id":675,"title":676,"slug":677,"order_index":277,"cornerstone":52,"reading_time_minutes":200},106,"CSS box-sizing: content-box vs border-box","css-box-sizing",{"id":679,"title":680,"slug":681,"order_index":282,"cornerstone":52,"reading_time_minutes":212},107,"CSS Overflow: hidden, scroll, auto, clip and Text Truncation","css-overflow",{"id":683,"title":684,"slug":685,"order_index":287,"cornerstone":52,"reading_time_minutes":212},108,"CSS Units: px, rem, em, %, vw, vh and dvh","css-units",{"id":256,"name":687,"slug":688,"order_index":51,"topics":689},"Typography & Text","typography-text",[690,694,698,702,706,710,714],{"id":691,"title":692,"slug":693,"order_index":292,"cornerstone":52,"reading_time_minutes":212},109,"CSS Text Properties: Alignment, Spacing, Decoration and Wrapping","css-text-properties",{"id":695,"title":696,"slug":697,"order_index":296,"cornerstone":52,"reading_time_minutes":212},110,"CSS Fonts and font-family: Font Stacks, Weights and System Fonts","css-fonts-font-family",{"id":699,"title":700,"slug":701,"order_index":300,"cornerstone":52,"reading_time_minutes":212},111,"Web Fonts: Google Fonts, @font-face and Variable Fonts","web-fonts",{"id":703,"title":704,"slug":705,"order_index":304,"cornerstone":52,"reading_time_minutes":212},112,"CSS Text Effects: text-wrap balance, line-clamp, Ellipsis and More","css-text-effects",{"id":707,"title":708,"slug":709,"order_index":308,"cornerstone":52,"reading_time_minutes":216},113,"Styling Links","styling-links-css",{"id":711,"title":712,"slug":713,"order_index":328,"cornerstone":52,"reading_time_minutes":212},114,"Styling Lists & Tables","styling-lists-and-tables-css",{"id":715,"title":716,"slug":717,"order_index":332,"cornerstone":52,"reading_time_minutes":224},115,"Icons (SVG & Icon Fonts)","icons-svg-and-icon-fonts",{"id":260,"name":719,"slug":720,"order_index":200,"topics":721},"Display, Position & Layout Basics","display-position-layout-basics",[722,726,730,734,738,742,746],{"id":723,"title":724,"slug":725,"order_index":336,"cornerstone":52,"reading_time_minutes":212},116,"Display & Inline-block","display-and-inline-block",{"id":727,"title":728,"slug":729,"order_index":340,"cornerstone":52,"reading_time_minutes":204},117,"Position (relative, absolute, fixed, sticky)","position-relative-absolute-fixed-sticky",{"id":731,"title":732,"slug":733,"order_index":351,"cornerstone":52,"reading_time_minutes":204},118,"Z-index & Stacking Contexts","z-index-and-stacking-contexts",{"id":735,"title":736,"slug":737,"order_index":356,"cornerstone":52,"reading_time_minutes":200},119,"Float & Clear (Legacy, and Why to Avoid It)","float-and-clear",{"id":739,"title":740,"slug":741,"order_index":361,"cornerstone":52,"reading_time_minutes":204},120,"Centering Techniques","centering-techniques",{"id":743,"title":744,"slug":745,"order_index":366,"cornerstone":52,"reading_time_minutes":212},121,"aspect-ratio & object-fit","aspect-ratio-and-object-fit",{"id":747,"title":748,"slug":749,"order_index":371,"cornerstone":52,"reading_time_minutes":216},122,"Website Layout Basics","website-layout-basics",{"id":275,"name":751,"slug":752,"order_index":204,"topics":753},"The Modern CSS Toolkit","the-modern-css-toolkit",[754,758,762,766,770,774],{"id":755,"title":756,"slug":757,"order_index":375,"cornerstone":52,"reading_time_minutes":216},129,"CSS Variables (Custom Properties)","css-variables-custom-properties",{"id":759,"title":760,"slug":761,"order_index":384,"cornerstone":52,"reading_time_minutes":216},130,"Math Functions (calc, min, max, clamp)","math-functions-calc-min-max-clamp",{"id":763,"title":764,"slug":765,"order_index":389,"cornerstone":52,"reading_time_minutes":212},131,"Native CSS Nesting","native-css-nesting",{"id":767,"title":768,"slug":769,"order_index":398,"cornerstone":52,"reading_time_minutes":212},132,"Cascade Layers (@layer)","cascade-layers-at-layer",{"id":771,"title":772,"slug":773,"order_index":403,"cornerstone":52,"reading_time_minutes":220},133,"Dark Mode (prefers-color-scheme, light-dark())","dark-mode-prefers-color-scheme-light-dark",{"id":775,"title":776,"slug":777,"order_index":408,"cornerstone":52,"reading_time_minutes":216},134,"CSS Reset & Normalize","css-reset-and-normalize",{"id":280,"name":779,"slug":780,"order_index":212,"topics":781},"Responsive Design","responsive-design",[782,786,790,794,798,802],{"id":783,"title":784,"slug":785,"order_index":413,"cornerstone":52,"reading_time_minutes":220},135,"Mobile-First & the Viewport","mobile-first-and-the-viewport",{"id":787,"title":788,"slug":789,"order_index":348,"cornerstone":52,"reading_time_minutes":216},136,"Media Queries","media-queries",{"id":791,"title":792,"slug":793,"order_index":353,"cornerstone":52,"reading_time_minutes":216},137,"Responsive Images & Video","responsive-images-and-video",{"id":795,"title":796,"slug":797,"order_index":358,"cornerstone":52,"reading_time_minutes":220},138,"Fluid Typography with clamp()","fluid-typography-with-clamp",{"id":799,"title":800,"slug":801,"order_index":363,"cornerstone":52,"reading_time_minutes":220},139,"Container Queries","container-queries",{"id":803,"title":804,"slug":805,"order_index":368,"cornerstone":52,"reading_time_minutes":232},140,"Responsive Navigation Pattern","responsive-navigation-pattern",{"id":285,"name":807,"slug":808,"order_index":216,"topics":809},"Transitions & Animation","transitions-animation",[810,814,818,822,826,830,834],{"id":811,"title":812,"slug":813,"order_index":152,"cornerstone":52,"reading_time_minutes":200},141,"CSS Transitions: Smooth State Changes with transition, @starting-style and allow-discrete","css-transitions",{"id":815,"title":816,"slug":817,"order_index":381,"cornerstone":52,"reading_time_minutes":51},142,"CSS 2D Transforms: translate, rotate, scale, skew and transform-origin","css-2d-transforms",{"id":819,"title":820,"slug":821,"order_index":386,"cornerstone":52,"reading_time_minutes":200},143,"CSS 3D Transforms: perspective, preserve-3d, rotateX\u002FY and backface-visibility","css-3d-transforms",{"id":823,"title":824,"slug":825,"order_index":395,"cornerstone":52,"reading_time_minutes":200},144,"CSS Keyframe Animations: @keyframes, animation shorthand, fill-mode and @property","css-keyframe-animations",{"id":827,"title":828,"slug":829,"order_index":400,"cornerstone":52,"reading_time_minutes":200},145,"CSS Scroll-Driven Animations: animation-timeline, scroll() and view()","css-scroll-driven-animations",{"id":831,"title":832,"slug":833,"order_index":405,"cornerstone":52,"reading_time_minutes":200},146,"CSS View Transitions API: Progressive Enhancement for Page and State Animations","css-view-transitions",{"id":835,"title":836,"slug":837,"order_index":410,"cornerstone":52,"reading_time_minutes":204},147,"Motion Accessibility and Performance: prefers-reduced-motion, will-change and Smooth 60fps Animations","motion-accessibility-prefers-reduced-motion-performance",{"id":290,"name":839,"slug":840,"order_index":220,"topics":841},"UI Components","ui-components",[842,846,850,854,858,862],{"id":843,"title":844,"slug":845,"order_index":415,"cornerstone":52,"reading_time_minutes":204},148,"CSS Buttons: Variants, States, Sizes and Accessible Button Design","css-buttons",{"id":847,"title":848,"slug":849,"order_index":423,"cornerstone":52,"reading_time_minutes":204},149,"CSS Card Component: Layouts with Flexbox, Grid, Container Queries and Subgrid","css-cards",{"id":851,"title":852,"slug":853,"order_index":427,"cornerstone":52,"reading_time_minutes":212},150,"CSS Navbar and Dropdown Menus: Responsive, Sticky and Accessible Navigation","css-navbar-dropdowns",{"id":855,"title":856,"slug":857,"order_index":431,"cornerstone":52,"reading_time_minutes":204},151,"HTML and CSS Forms and Inputs: Styled, Accessible and Validated Form Controls","css-forms-inputs",{"id":859,"title":860,"slug":861,"order_index":435,"cornerstone":52,"reading_time_minutes":204},152,"CSS Tooltips and Popovers: Popover API, Anchor Positioning and Accessible Overlays","css-tooltips-popovers",{"id":863,"title":864,"slug":865,"order_index":439,"cornerstone":52,"reading_time_minutes":204},153,"Pagination and Breadcrumbs: Accessible Navigation Patterns with HTML, CSS and Schema","pagination-breadcrumbs",{"id":272,"name":867,"slug":868,"order_index":224,"topics":869},"Pro Practices & Wrap-up","pro-practices-wrap-up",[870,874,878,882,886,890],{"id":871,"title":872,"slug":873,"order_index":447,"cornerstone":52,"reading_time_minutes":12},160,"CSS Architecture & BEM","css-architecture-bem-ZRlwjD",{"id":875,"title":876,"slug":877,"order_index":451,"cornerstone":52,"reading_time_minutes":12},161,"CSS Performance","css-performance-TAnsqs",{"id":879,"title":880,"slug":881,"order_index":455,"cornerstone":52,"reading_time_minutes":12},162,"CSS Accessibility (focus, contrast)","css-accessibility-focus-contrast-pgFUSF",{"id":883,"title":884,"slug":885,"order_index":155,"cornerstone":52,"reading_time_minutes":12},163,"Debugging Common CSS Bugs","debugging-common-css-bugs-iHzOV3",{"id":887,"title":888,"slug":889,"order_index":466,"cornerstone":52,"reading_time_minutes":12},164,"Sass vs Native CSS","sass-vs-native-css-lV2nqW",{"id":891,"title":892,"slug":893,"order_index":470,"cornerstone":52,"reading_time_minutes":12},165,"CSS Interview Q&A & Cheat Sheet","css-interview-qa-cheat-sheet-JslzGp"]