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