[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site-config":3,"course-tree":6,"topic:centering-techniques":646,"blog-categories":785},{"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,27,30,34,38,42],{"id":23,"title":24,"slug":25,"order_index":9,"cornerstone":26,"reading_time_minutes":23},2,"HTML Editors & Environment Setup","html-editors-and-environment-setup",false,{"id":9,"title":28,"slug":29,"order_index":9,"cornerstone":26,"reading_time_minutes":9},"HTML Introduction & History","html-introduction-and-history",{"id":31,"title":32,"slug":33,"order_index":31,"cornerstone":26,"reading_time_minutes":23},3,"HTML Basic Syntax & Document Structure","html-basic-syntax-document-structure",{"id":35,"title":36,"slug":37,"order_index":35,"cornerstone":26,"reading_time_minutes":23},4,"HTML Elements & Tags Explained","html-elements-tags-explained",{"id":39,"title":40,"slug":41,"order_index":39,"cornerstone":26,"reading_time_minutes":23},5,"HTML Attributes (Global & Standard)","html-attributes-global-standard",{"id":43,"title":44,"slug":45,"order_index":43,"cornerstone":26,"reading_time_minutes":23},6,"Understanding the DOCTYPE & HTML5 Boilerplate","understanding-doctype-html5-boilerplate",{"id":23,"name":47,"slug":48,"order_index":23,"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":26,"reading_time_minutes":23},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":26,"reading_time_minutes":23},8,"HTML Paragraphs & Line Breaks","html-paragraphs-line-breaks",{"id":59,"title":60,"slug":61,"order_index":59,"cornerstone":26,"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":26,"reading_time_minutes":23},10,"HTML Styles (Inline CSS Basics)","html-styles-inline-css-basics",{"id":67,"title":68,"slug":69,"order_index":67,"cornerstone":26,"reading_time_minutes":23},11,"HTML Quotations & Citations (blockquote, q, cite)","html-quotations-citations-blockquote-q-cite",{"id":71,"title":72,"slug":73,"order_index":71,"cornerstone":26,"reading_time_minutes":23},12,"HTML Comments (Best Practices)","html-comments-best-practices",{"id":75,"title":76,"slug":77,"order_index":75,"cornerstone":26,"reading_time_minutes":23},13,"HTML Colors (Names, HEX, RGB, HSL)","html-colors-names-hex-rgb-hsl",{"id":79,"title":80,"slug":81,"order_index":79,"cornerstone":26,"reading_time_minutes":23},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":26,"reading_time_minutes":23},15,"HTML Links (Anchor Tags & Hyperlinks)","html-links-anchor-tags-hyperlinks",{"id":91,"title":92,"slug":93,"order_index":91,"cornerstone":26,"reading_time_minutes":23},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":26,"reading_time_minutes":9},17,"HTML Favicon Setup","html-favicon-setup",{"id":99,"title":100,"slug":101,"order_index":99,"cornerstone":26,"reading_time_minutes":23},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":26,"reading_time_minutes":23},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":26,"reading_time_minutes":23},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":26,"reading_time_minutes":23},25,"HTML Lists: Ordered, Unordered & Description Lists","html-lists-ordered-unordered-description",21,{"id":121,"title":122,"slug":123,"order_index":124,"cornerstone":26,"reading_time_minutes":23},26,"HTML Block vs Inline Elements Explained","html-block-vs-inline-elements",22,{"id":126,"title":127,"slug":128,"order_index":129,"cornerstone":26,"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":26,"reading_time_minutes":23},28,"HTML Classes vs ID: Selectors Explained","html-classes-vs-id-selectors-explained",{"id":135,"title":136,"slug":137,"order_index":116,"cornerstone":26,"reading_time_minutes":9},29,"HTML Iframes: Embedding External Content","html-iframes-embedding-content",{"id":139,"title":140,"slug":141,"order_index":121,"cornerstone":26,"reading_time_minutes":23},30,"HTML Head Element Deep Dive","html-head-element-deep-dive",{"id":143,"title":144,"slug":145,"order_index":126,"cornerstone":26,"reading_time_minutes":23},31,"HTML Layout Techniques: Header, Nav & Footer","html-layout-techniques-header-nav-footer",{"id":147,"title":148,"slug":149,"order_index":131,"cornerstone":26,"reading_time_minutes":23},32,"Responsive HTML Design: Mobile-First Approach","responsive-html-design-mobile-first-approach",{"id":151,"title":152,"slug":153,"order_index":135,"cornerstone":26,"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":26,"reading_time_minutes":23},75,"HTML Style Guide & Coding Conventions","html-style-guide-coding-conventions",{"id":159,"title":160,"slug":161,"order_index":143,"cornerstone":26,"reading_time_minutes":23},76,"HTML Entities & Special Characters","html-entities-special-characters",{"id":163,"title":164,"slug":165,"order_index":147,"cornerstone":26,"reading_time_minutes":9},77,"HTML Symbols","html-symbols",{"id":167,"title":168,"slug":169,"order_index":167,"cornerstone":26,"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":26,"reading_time_minutes":23},34,"HTML Character Sets: UTF-8 & Encoding Explained","html-character-sets-utf-8-encoding",{"id":175,"title":176,"slug":177,"order_index":175,"cornerstone":26,"reading_time_minutes":9},35,"HTML URL Encoding Explained","html-url-encoding-explained",{"id":179,"title":180,"slug":181,"order_index":179,"cornerstone":26,"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":26,"reading_time_minutes":23},49,"HTML Forms Introduction","html-forms-introduction",37,{"id":192,"title":193,"slug":194,"order_index":195,"cornerstone":26,"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":26,"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":26,"reading_time_minutes":23},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":26,"reading_time_minutes":23},53,"HTML Input Attributes (required, placeholder, pattern)","html-input-attributes-required-placeholder-pattern",41,{"id":212,"title":213,"slug":214,"order_index":215,"cornerstone":26,"reading_time_minutes":23},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":26,"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":26,"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":26,"reading_time_minutes":23},57,"HTML Media Overview","html-media-overview",45,{"id":240,"title":241,"slug":242,"order_index":243,"cornerstone":26,"reading_time_minutes":23},58,"HTML Video Embedding (Native Player)","html-video-embedding-native-player",46,{"id":245,"title":246,"slug":247,"order_index":248,"cornerstone":26,"reading_time_minutes":23},59,"HTML Audio Embedding","html-audio-embedding",47,{"id":250,"title":251,"slug":252,"order_index":253,"cornerstone":26,"reading_time_minutes":23},60,"HTML Plug-ins (Object & Embed Tags)","html-plugins-object-embed-tags",48,{"id":255,"title":256,"slug":257,"order_index":187,"cornerstone":26,"reading_time_minutes":23},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":26,"reading_time_minutes":23},62,"HTML Geolocation API","html-geolocation-api",{"id":267,"title":268,"slug":269,"order_index":197,"cornerstone":26,"reading_time_minutes":23},63,"HTML Drag & Drop API","html-drag-and-drop-api",{"id":271,"title":272,"slug":273,"order_index":202,"cornerstone":26,"reading_time_minutes":23},64,"HTML Web Storage (localStorage & sessionStorage)","html-web-storage-localstorage-sessionstorage",{"id":275,"title":276,"slug":277,"order_index":207,"cornerstone":26,"reading_time_minutes":23},65,"HTML Web Workers (Background Processing)","html-web-workers-background-processing",{"id":279,"title":280,"slug":281,"order_index":212,"cornerstone":26,"reading_time_minutes":23},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":26,"reading_time_minutes":23},67,"HTML Accessibility (ARIA, Screen Readers)","html-accessibility-aria-screen-readers",{"id":291,"title":292,"slug":293,"order_index":226,"cornerstone":26,"reading_time_minutes":23},68,"Writing Semantic & SEO-Friendly HTML","writing-semantic-and-seo-friendly-html",{"id":295,"title":296,"slug":297,"order_index":235,"cornerstone":26,"reading_time_minutes":23},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":26,"reading_time_minutes":23},70,"HTML Tag List (Full Reference)","html-tag-list-full-reference",{"id":307,"title":308,"slug":309,"order_index":23,"cornerstone":26,"reading_time_minutes":23},71,"HTML Global Attributes Reference","html-global-attributes-reference",{"id":311,"title":312,"slug":313,"order_index":31,"cornerstone":26,"reading_time_minutes":23},72,"HTML Events Reference","html-events-reference",{"id":315,"title":316,"slug":317,"order_index":35,"cornerstone":26,"reading_time_minutes":23},73,"HTML Browser Support & Compatibility","html-browser-support-compatibility",{"id":319,"title":320,"slug":321,"order_index":39,"cornerstone":26,"reading_time_minutes":23},78,"HTML Doctypes Reference","html-doctypes-reference",{"id":323,"title":324,"slug":325,"order_index":43,"cornerstone":26,"reading_time_minutes":23},79,"HTTP Methods & Messages (Basics for Forms\u002FAPIs)","http-methods-messages-basics",{"id":327,"title":328,"slug":329,"order_index":51,"cornerstone":26,"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":26,"reading_time_minutes":9},81,"HTML Quiz & Practice Exercises","html-quiz-practice-exercises",{"id":23,"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,370,394,430,462,494,526,558,586,614],{"id":129,"name":342,"slug":343,"order_index":344,"topics":345},"UI Components","ui-components",0,[346,350,354,358,362,366],{"id":347,"title":348,"slug":349,"order_index":255,"cornerstone":26,"reading_time_minutes":43},148,"CSS Buttons: Variants, States, Sizes and Accessible Button Design","css-buttons",{"id":351,"title":352,"slug":353,"order_index":263,"cornerstone":26,"reading_time_minutes":43},149,"CSS Card Component: Layouts with Flexbox, Grid, Container Queries and Subgrid","css-cards",{"id":355,"title":356,"slug":357,"order_index":267,"cornerstone":26,"reading_time_minutes":51},150,"CSS Navbar and Dropdown Menus: Responsive, Sticky and Accessible Navigation","css-navbar-dropdowns",{"id":359,"title":360,"slug":361,"order_index":271,"cornerstone":26,"reading_time_minutes":43},151,"HTML and CSS Forms and Inputs: Styled, Accessible and Validated Form Controls","css-forms-inputs",{"id":363,"title":364,"slug":365,"order_index":275,"cornerstone":26,"reading_time_minutes":43},152,"CSS Tooltips and Popovers: Popover API, Anchor Positioning and Accessible Overlays","css-tooltips-popovers",{"id":367,"title":368,"slug":369,"order_index":279,"cornerstone":26,"reading_time_minutes":43},153,"Pagination and Breadcrumbs: Accessible Navigation Patterns with HTML, CSS and Schema","pagination-breadcrumbs",{"id":75,"name":371,"slug":372,"order_index":344,"topics":373},"CSS Fundamentals & Setup","css-fundamentals-setup",[374,378,382,386,390],{"id":375,"title":376,"slug":377,"order_index":9,"cornerstone":26,"reading_time_minutes":35},82,"CSS Introduction & History: What Is CSS and Why It Matters","css-introduction-and-history",{"id":379,"title":380,"slug":381,"order_index":23,"cornerstone":26,"reading_time_minutes":35},83,"CSS Syntax & How Browsers Apply Styles","css-syntax-how-browsers-apply-styles",{"id":383,"title":384,"slug":385,"order_index":31,"cornerstone":26,"reading_time_minutes":31},84,"Setting Up Your CSS Workspace: Linking Files & Live Server","setting-up-css-workspace-linking-files-live-server",{"id":387,"title":388,"slug":389,"order_index":35,"cornerstone":26,"reading_time_minutes":31},85,"CSS Comments & Code Formatting Best Practices","css-comments-and-code-formatting",{"id":391,"title":392,"slug":393,"order_index":39,"cornerstone":26,"reading_time_minutes":39},86,"Browser DevTools for CSS: Inspect, Debug & Edit Styles Live","browser-devtools-for-css",{"id":79,"name":395,"slug":396,"order_index":344,"topics":397},"Selectors & the Cascade","selectors-the-cascade",[398,402,406,410,414,418,422,426],{"id":399,"title":400,"slug":401,"order_index":43,"cornerstone":26,"reading_time_minutes":35},87,"CSS Basic Selectors: Type, Class, ID, Universal & Grouping","css-basic-selectors",{"id":403,"title":404,"slug":405,"order_index":51,"cornerstone":26,"reading_time_minutes":35},88,"CSS Combinators: Descendant, Child, Adjacent & General Sibling","css-combinators",{"id":407,"title":408,"slug":409,"order_index":55,"cornerstone":26,"reading_time_minutes":35},89,"CSS Attribute Selectors: [attr], ^=, $=, *= and More","css-attribute-selectors",{"id":411,"title":412,"slug":413,"order_index":59,"cornerstone":26,"reading_time_minutes":43},90,"CSS Pseudo-classes: :hover, :focus, :nth-child & Modern Selectors","css-pseudo-classes",{"id":415,"title":416,"slug":417,"order_index":63,"cornerstone":26,"reading_time_minutes":39},91,"CSS Pseudo-elements (::before, ::after)","css-pseudo-elements-before-after",{"id":419,"title":420,"slug":421,"order_index":67,"cornerstone":26,"reading_time_minutes":39},92,"Modern CSS Selectors: :is(), :where(), :has()","modern-css-selectors-is-where-has",{"id":423,"title":424,"slug":425,"order_index":71,"cornerstone":26,"reading_time_minutes":35},93,"CSS Specificity Explained","css-specificity-explained",{"id":427,"title":428,"slug":429,"order_index":75,"cornerstone":26,"reading_time_minutes":39},94,"Cascade, Inheritance & !important","css-cascade-inheritance-important",{"id":87,"name":431,"slug":432,"order_index":344,"topics":433},"Colors, Backgrounds & Effects","colors-backgrounds-effects",[434,438,442,446,450,454,458],{"id":435,"title":436,"slug":437,"order_index":79,"cornerstone":26,"reading_time_minutes":39},95,"CSS Colors (HEX, RGB, HSL, OKLCH)","css-colors-hex-rgb-hsl-oklch",{"id":439,"title":440,"slug":441,"order_index":87,"cornerstone":26,"reading_time_minutes":35},96,"CSS Backgrounds","css-backgrounds",{"id":443,"title":444,"slug":445,"order_index":91,"cornerstone":26,"reading_time_minutes":39},97,"CSS Gradients (Linear, Radial, Conic)","css-gradients-linear-radial-conic",{"id":447,"title":448,"slug":449,"order_index":95,"cornerstone":26,"reading_time_minutes":39},98,"CSS Borders, Outlines & Rounded Corners","css-borders-outlines-rounded-corners",{"id":451,"title":452,"slug":453,"order_index":99,"cornerstone":26,"reading_time_minutes":43},99,"CSS Box Shadow & Text Shadow","css-box-shadow-text-shadow",{"id":455,"title":456,"slug":457,"order_index":103,"cornerstone":26,"reading_time_minutes":39},100,"CSS Opacity & Blend Modes","css-opacity-blend-modes",{"id":459,"title":460,"slug":461,"order_index":114,"cornerstone":26,"reading_time_minutes":43},101,"CSS Filters & backdrop-filter (Glassmorphism)","css-filters-backdrop-filter-glassmorphism",{"id":91,"name":463,"slug":464,"order_index":344,"topics":465},"Box Model & Spacing","box-model-spacing",[466,470,474,478,482,486,490],{"id":467,"title":468,"slug":469,"order_index":119,"cornerstone":26,"reading_time_minutes":51},102,"The CSS Box Model: Content, Padding, Border and Margin","css-box-model",{"id":471,"title":472,"slug":473,"order_index":124,"cornerstone":26,"reading_time_minutes":51},103,"CSS Margin and Margin Collapse","css-margin-and-margin-collapse",{"id":475,"title":476,"slug":477,"order_index":129,"cornerstone":26,"reading_time_minutes":43},104,"CSS Padding: Shorthand, Percentages and Best Practices","css-padding",{"id":479,"title":480,"slug":481,"order_index":111,"cornerstone":26,"reading_time_minutes":59},105,"CSS Width, Height, Min-Width, Max-Width, Min-Height & Max-Height","css-width-height-min-max",{"id":483,"title":484,"slug":485,"order_index":116,"cornerstone":26,"reading_time_minutes":39},106,"CSS box-sizing: content-box vs border-box","css-box-sizing",{"id":487,"title":488,"slug":489,"order_index":121,"cornerstone":26,"reading_time_minutes":51},107,"CSS Overflow: hidden, scroll, auto, clip and Text Truncation","css-overflow",{"id":491,"title":492,"slug":493,"order_index":126,"cornerstone":26,"reading_time_minutes":51},108,"CSS Units: px, rem, em, %, vw, vh and dvh","css-units",{"id":95,"name":495,"slug":496,"order_index":344,"topics":497},"Typography & Text","typography-text",[498,502,506,510,514,518,522],{"id":499,"title":500,"slug":501,"order_index":131,"cornerstone":26,"reading_time_minutes":51},109,"CSS Text Properties: Alignment, Spacing, Decoration and Wrapping","css-text-properties",{"id":503,"title":504,"slug":505,"order_index":135,"cornerstone":26,"reading_time_minutes":51},110,"CSS Fonts and font-family: Font Stacks, Weights and System Fonts","css-fonts-font-family",{"id":507,"title":508,"slug":509,"order_index":139,"cornerstone":26,"reading_time_minutes":51},111,"Web Fonts: Google Fonts, @font-face and Variable Fonts","web-fonts",{"id":511,"title":512,"slug":513,"order_index":143,"cornerstone":26,"reading_time_minutes":51},112,"CSS Text Effects: text-wrap balance, line-clamp, Ellipsis and More","css-text-effects",{"id":515,"title":516,"slug":517,"order_index":147,"cornerstone":26,"reading_time_minutes":55},113,"Styling Links","styling-links-css",{"id":519,"title":520,"slug":521,"order_index":167,"cornerstone":26,"reading_time_minutes":51},114,"Styling Lists & Tables","styling-lists-and-tables-css",{"id":523,"title":524,"slug":525,"order_index":171,"cornerstone":26,"reading_time_minutes":63},115,"Icons (SVG & Icon Fonts)","icons-svg-and-icon-fonts",{"id":99,"name":527,"slug":528,"order_index":344,"topics":529},"Display, Position & Layout Basics","display-position-layout-basics",[530,534,538,542,546,550,554],{"id":531,"title":532,"slug":533,"order_index":175,"cornerstone":26,"reading_time_minutes":51},116,"Display & Inline-block","display-and-inline-block",{"id":535,"title":536,"slug":537,"order_index":179,"cornerstone":26,"reading_time_minutes":43},117,"Position (relative, absolute, fixed, sticky)","position-relative-absolute-fixed-sticky",{"id":539,"title":540,"slug":541,"order_index":190,"cornerstone":26,"reading_time_minutes":43},118,"Z-index & Stacking Contexts","z-index-and-stacking-contexts",{"id":543,"title":544,"slug":545,"order_index":195,"cornerstone":26,"reading_time_minutes":39},119,"Float & Clear (Legacy, and Why to Avoid It)","float-and-clear",{"id":547,"title":548,"slug":549,"order_index":200,"cornerstone":26,"reading_time_minutes":43},120,"Centering Techniques","centering-techniques",{"id":551,"title":552,"slug":553,"order_index":205,"cornerstone":26,"reading_time_minutes":51},121,"aspect-ratio & object-fit","aspect-ratio-and-object-fit",{"id":555,"title":556,"slug":557,"order_index":210,"cornerstone":26,"reading_time_minutes":55},122,"Website Layout Basics","website-layout-basics",{"id":114,"name":559,"slug":560,"order_index":344,"topics":561},"The Modern CSS Toolkit","the-modern-css-toolkit",[562,566,570,574,578,582],{"id":563,"title":564,"slug":565,"order_index":215,"cornerstone":26,"reading_time_minutes":55},129,"CSS Variables (Custom Properties)","css-variables-custom-properties",{"id":567,"title":568,"slug":569,"order_index":224,"cornerstone":26,"reading_time_minutes":55},130,"Math Functions (calc, min, max, clamp)","math-functions-calc-min-max-clamp",{"id":571,"title":572,"slug":573,"order_index":229,"cornerstone":26,"reading_time_minutes":51},131,"Native CSS Nesting","native-css-nesting",{"id":575,"title":576,"slug":577,"order_index":238,"cornerstone":26,"reading_time_minutes":51},132,"Cascade Layers (@layer)","cascade-layers-at-layer",{"id":579,"title":580,"slug":581,"order_index":243,"cornerstone":26,"reading_time_minutes":59},133,"Dark Mode (prefers-color-scheme, light-dark())","dark-mode-prefers-color-scheme-light-dark",{"id":583,"title":584,"slug":585,"order_index":248,"cornerstone":26,"reading_time_minutes":55},134,"CSS Reset & Normalize","css-reset-and-normalize",{"id":119,"name":587,"slug":588,"order_index":344,"topics":589},"Responsive Design","responsive-design",[590,594,598,602,606,610],{"id":591,"title":592,"slug":593,"order_index":253,"cornerstone":26,"reading_time_minutes":59},135,"Mobile-First & the Viewport","mobile-first-and-the-viewport",{"id":595,"title":596,"slug":597,"order_index":187,"cornerstone":26,"reading_time_minutes":55},136,"Media Queries","media-queries",{"id":599,"title":600,"slug":601,"order_index":192,"cornerstone":26,"reading_time_minutes":55},137,"Responsive Images & Video","responsive-images-and-video",{"id":603,"title":604,"slug":605,"order_index":197,"cornerstone":26,"reading_time_minutes":59},138,"Fluid Typography with clamp()","fluid-typography-with-clamp",{"id":607,"title":608,"slug":609,"order_index":202,"cornerstone":26,"reading_time_minutes":59},139,"Container Queries","container-queries",{"id":611,"title":612,"slug":613,"order_index":207,"cornerstone":26,"reading_time_minutes":71},140,"Responsive Navigation Pattern","responsive-navigation-pattern",{"id":124,"name":615,"slug":616,"order_index":344,"topics":617},"Transitions & Animation","transitions-animation",[618,622,626,630,634,638,642],{"id":619,"title":620,"slug":621,"order_index":212,"cornerstone":26,"reading_time_minutes":39},141,"CSS Transitions: Smooth State Changes with transition, @starting-style and allow-discrete","css-transitions",{"id":623,"title":624,"slug":625,"order_index":221,"cornerstone":26,"reading_time_minutes":35},142,"CSS 2D Transforms: translate, rotate, scale, skew and transform-origin","css-2d-transforms",{"id":627,"title":628,"slug":629,"order_index":226,"cornerstone":26,"reading_time_minutes":39},143,"CSS 3D Transforms: perspective, preserve-3d, rotateX\u002FY and backface-visibility","css-3d-transforms",{"id":631,"title":632,"slug":633,"order_index":235,"cornerstone":26,"reading_time_minutes":39},144,"CSS Keyframe Animations: @keyframes, animation shorthand, fill-mode and @property","css-keyframe-animations",{"id":635,"title":636,"slug":637,"order_index":240,"cornerstone":26,"reading_time_minutes":39},145,"CSS Scroll-Driven Animations: animation-timeline, scroll() and view()","css-scroll-driven-animations",{"id":639,"title":640,"slug":641,"order_index":245,"cornerstone":26,"reading_time_minutes":39},146,"CSS View Transitions API: Progressive Enhancement for Page and State Animations","css-view-transitions",{"id":643,"title":644,"slug":645,"order_index":250,"cornerstone":26,"reading_time_minutes":43},147,"Motion Accessibility and Performance: prefers-reduced-motion, will-change and Smooth 60fps Animations","motion-accessibility-prefers-reduced-motion-performance",{"data":647},{"id":547,"title":548,"slug":549,"content":648,"course":649,"subcategory":650,"author":651,"reading_time_minutes":43,"cornerstone":26,"schema_type":657,"faq_json":5,"video_url":5,"canonical_url":658,"meta_title":659,"meta_description":660,"og_image":5,"toc_json":661,"code_examples":742,"quiz":5,"exercises":767,"published_at":5,"updated_at":782,"prev":783,"next":784},"\u003Ch2 id=\"centering-techniques-in-css-how-to-center-anything\">Centering Techniques in CSS: How to Center Anything\u003C\u002Fh2>\u003Cp>\u003Cstrong>Focus keyword: how to center a div in CSS.\u003C\u002Fstrong> Centering is the most searched CSS question in the world. The good news: modern CSS makes it easy. In this lesson you will learn horizontal, vertical and perfect centering with text-align, margin auto, flexbox, grid, absolute positioning and more, and you will learn which method to choose for each situation.\u003C\u002Fp>\u003Ch3 id=\"trending-keywords-covered-in-this-lesson\">Trending keywords covered in this lesson\u003C\u002Fh3>\u003Cp>center a div horizontally and vertically, margin auto, flexbox center, grid place-items center, place-content center, text-align center, vertical-align middle, absolute center transform, inset 0 margin auto, align-self, justify-self, min-height 100dvh, center text vertically, center image, center button, CSS centering cheat sheet.\u003C\u002Fp>\u003Ch2 id=\"1-quick-decision-guide\">1. Quick Decision Guide\u003C\u002Fh2>\u003Cul>\u003Cli>Center text or inline content: \u003Ccode>text-align: center\u003C\u002Fcode>.\u003C\u002Fli>\u003Cli>Center a block horizontally: \u003Ccode>margin-inline: auto\u003C\u002Fcode> with a width.\u003C\u002Fli>\u003Cli>Center anything both ways: \u003Ccode>display: grid; place-items: center\u003C\u002Fcode>.\u003C\u002Fli>\u003Cli>Center items in a row or column: flexbox with \u003Ccode>justify-content\u003C\u002Fcode> and \u003Ccode>align-items\u003C\u002Fcode>.\u003C\u002Fli>\u003Cli>Center an overlay inside a positioned parent: \u003Ccode>position: absolute; inset: 0; margin: auto\u003C\u002Fcode>.\u003C\u002Fli>\u003C\u002Ful>\u003Ch2 id=\"2-horizontal-centering\">2. Horizontal Centering\u003C\u002Fh2>\u003Ch3 id=\"inline-content-text-align\">Inline content: text-align\u003C\u002Fh3>\u003Cp>\u003Ccode>text-align: center\u003C\u002Fcode> on the parent centers text, inline, inline-block and inline-flex children. It does not center a block element.\u003C\u002Fp>\u003Ch3 id=\"block-elements-margin-auto\">Block elements: margin auto\u003C\u002Fh3>\u003Cp>A block with a set width (or \u003Ccode>max-width\u003C\u002Fcode>, or \u003Ccode>width: fit-content\u003C\u002Fcode>) is centered with \u003Ccode>margin-inline: auto\u003C\u002Fcode> (same as \u003Ccode>margin: 0 auto\u003C\u002Fcode>). This is the standard way to center a page container.\u003C\u002Fp>\u003Ch2 id=\"3-vertical-centering\">3. Vertical Centering\u003C\u002Fh2>\u003Cul>\u003Cli>\u003Cstrong>Single line of text:\u003C\u002Fstrong> set \u003Ccode>line-height\u003C\u002Fcode> equal to the container height.\u003C\u002Fli>\u003Cli>\u003Cstrong>Inline-block:\u003C\u002Fstrong> \u003Ccode>vertical-align: middle\u003C\u002Fcode> on the items.\u003C\u002Fli>\u003Cli>\u003Cstrong>Flexbox:\u003C\u002Fstrong> \u003Ccode>display: flex; align-items: center\u003C\u002Fcode>.\u003C\u002Fli>\u003Cli>\u003Cstrong>Grid:\u003C\u002Fstrong> \u003Ccode>align-items: center\u003C\u002Fcode> or \u003Ccode>place-items: center\u003C\u002Fcode>.\u003C\u002Fli>\u003Cli>\u003Cstrong>Block layout (new):\u003C\u002Fstrong> \u003Ccode>align-content: center\u003C\u002Fcode> now works on normal block containers in modern browsers.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>Note that \u003Ccode>margin: auto\u003C\u002Fcode> does not center vertically in normal block flow because auto vertical margins compute to 0. It works in flex and grid, and in absolute positioning with inset.\u003C\u002Fp>\u003Ch2 id=\"4-perfect-centering-both-axes\">4. Perfect Centering (Both Axes)\u003C\u002Fh2>\u003Ch3 id=\"method-1-grid-shortest\">Method 1: Grid (shortest)\u003C\u002Fh3>\u003Cp>\u003Ccode>display: grid; place-items: center;\u003C\u002Fcode> centers every child. \u003Ccode>place-content: center\u003C\u002Fcode> centers the whole grid tracks. For one child this is the shortest and most reliable method.\u003C\u002Fp>\u003Ch3 id=\"method-2-flexbox\">Method 2: Flexbox\u003C\u002Fh3>\u003Cp>\u003Ccode>display: flex; justify-content: center; align-items: center;\u003C\u002Fcode>. Use \u003Ccode>flex-direction: column\u003C\u002Fcode> to stack items while centering. Remember that \u003Ccode>justify-content\u003C\u002Fcode> follows the main axis and \u003Ccode>align-items\u003C\u002Fcode> follows the cross axis.\u003C\u002Fp>\u003Ch3 id=\"method-3-margin-auto-in-flex\">Method 3: Margin auto in flex\u003C\u002Fh3>\u003Cp>Inside a flex container, \u003Ccode>margin: auto\u003C\u002Fcode> on the child absorbs all free space in both directions and centers it. You can also use \u003Ccode>margin-left: auto\u003C\u002Fcode> to push one item to the far side, a common navigation trick.\u003C\u002Fp>\u003Ch3 id=\"method-4-absolute-with-inset-and-margin-auto\">Method 4: Absolute with inset and margin auto\u003C\u002Fh3>\u003Cp>Give the child a width and height, then \u003Ccode>position: absolute; inset: 0; margin: auto;\u003C\u002Fcode> inside a positioned parent.\u003C\u002Fp>\u003Ch3 id=\"method-5-absolute-with-transform\">Method 5: Absolute with transform\u003C\u002Fh3>\u003Cp>The classic trick: \u003Ccode>top: 50%; left: 50%; transform: translate(-50%, -50%)\u003C\u002Fcode>. It works without knowing the size, but transforms can blur text on some screens and create a stacking context.\u003C\u002Fp>\u003Ch2 id=\"5-full-page-centering\">5. Full Page Centering\u003C\u002Fh2>\u003Cp>To center in the whole viewport use \u003Ccode>min-height: 100dvh\u003C\u002Fcode> on the container (dvh handles mobile browser bars better than vh) together with grid or flex centering. Use \u003Ccode>min-height\u003C\u002Fcode> and not \u003Ccode>height\u003C\u002Fcode> so content can grow without overflow.\u003C\u002Fp>\u003Ch2 id=\"6-centering-images-and-media\">6. Centering Images and Media\u003C\u002Fh2>\u003Cp>Images are inline by default, so the parent can center them with text-align. If you set \u003Ccode>display: block\u003C\u002Fcode> on the image, use \u003Ccode>margin-inline: auto\u003C\u002Fcode>. For videos and iframes, wrap them in a container and center the container.\u003C\u002Fp>\u003Ch2 id=\"7-centering-the-last-row-in-a-wrapped-flex-layout\">7. Centering the Last Row in a Wrapped Flex Layout\u003C\u002Fh2>\u003Cp>\u003Ccode>justify-content: center\u003C\u002Fcode> with \u003Ccode>flex-wrap: wrap\u003C\u002Fcode> centers each row, including a short last row. If you need aligned columns instead, use grid with \u003Ccode>repeat(auto-fit, minmax(200px, 1fr))\u003C\u002Fcode>.\u003C\u002Fp>\u003Ch2 id=\"8-safe-alignment\">8. Safe Alignment\u003C\u002Fh2>\u003Cp>When a centered item is larger than its container, centering can push content out of the visible area where it cannot be scrolled to. Use \u003Ccode>align-items: safe center\u003C\u002Fcode> so the item aligns to the start when there is not enough room.\u003C\u002Fp>\u003Ch2 id=\"9-accessibility-and-readability\">9. Accessibility and Readability\u003C\u002Fh2>\u003Cul>\u003Cli>Do not center long paragraphs. Centered text is hard to read beyond two or three lines.\u003C\u002Fli>\u003Cli>Keep left alignment for body copy in left-to-right languages.\u003C\u002Fli>\u003Cli>Use logical properties (\u003Ccode>margin-inline\u003C\u002Fcode>, \u003Ccode>place-items\u003C\u002Fcode>) so layouts work for right-to-left languages.\u003C\u002Fli>\u003C\u002Ful>\u003Ch2 id=\"10-common-mistakes\">10. Common Mistakes\u003C\u002Fh2>\u003Cul>\u003Cli>Using \u003Ccode>text-align: center\u003C\u002Fcode> on a block and expecting the block to move.\u003C\u002Fli>\u003Cli>Using \u003Ccode>margin: 0 auto\u003C\u002Fcode> on an element with no width (it already fills the row).\u003C\u002Fli>\u003Cli>Using \u003Ccode>margin: auto\u003C\u002Fcode> for vertical centering in normal flow.\u003C\u002Fli>\u003Cli>Forgetting \u003Ccode>position: relative\u003C\u002Fcode> on the parent of an absolutely centered child.\u003C\u002Fli>\u003Cli>Using height: 100vh on mobile and getting cut-off content.\u003C\u002Fli>\u003C\u002Ful>\u003Ch2 id=\"key-takeaways\">Key Takeaways\u003C\u002Fh2>\u003Cp>Remember three patterns: text-align for inline content, margin-inline auto for blocks, and grid place-items center for perfect centering. Use flexbox for rows and columns, and absolute centering only for overlays.\u003C\u002Fp>\u003Cdiv class=\"try-it-yourself language-html\">\u003Cpre>\u003Ccode>&lt;style&gt;\n  body { font: 18px system-ui, sans-serif; padding: 16px; }\n  .demo { background: #f1f1f1; padding: 16px; margin-bottom: 16px; }\n  .text { text-align: center; }\n  .block { width: 200px; margin-inline: auto; background: #2a9d8f; color: #fff; padding: 10px; text-align: center; }\n&lt;\u002Fstyle&gt;\n&lt;div class='demo text'&gt;Centered text with text-align &lt;button&gt;and inline button&lt;\u002Fbutton&gt;&lt;\u002Fdiv&gt;\n&lt;div class='demo'&gt;&lt;div class='block'&gt;Block centered with margin-inline: auto&lt;\u002Fdiv&gt;&lt;\u002Fdiv&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\u003Cdiv class=\"try-it-yourself language-html\">\u003Cpre>\u003Ccode>&lt;style&gt;\n  body { margin: 0; font-family: system-ui, sans-serif; }\n  .hero { display: grid; place-items: center; min-height: 100dvh; background: linear-gradient(135deg, #8ecae6, #219ebc); }\n  .box { background: #fff; padding: 24px 40px; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.2); }\n&lt;\u002Fstyle&gt;\n&lt;div class='hero'&gt;&lt;div class='box'&gt;Perfectly centered with grid&lt;\u002Fdiv&gt;&lt;\u002Fdiv&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\u003Cdiv class=\"try-it-yourself language-html\">\u003Cpre>\u003Ccode>&lt;style&gt;\n  body { margin: 0; font-family: system-ui, sans-serif; }\n  .hero { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 12px; min-height: 100dvh; background: #264653; color: #fff; text-align: center; }\n  .hero button { padding: 12px 24px; border: 0; border-radius: 999px; background: #e9c46a; font-weight: 700; }\n&lt;\u002Fstyle&gt;\n&lt;div class='hero'&gt;&lt;h1&gt;Centered with flexbox&lt;\u002Fh1&gt;&lt;p&gt;Stacked column, centered on both axes.&lt;\u002Fp&gt;&lt;button&gt;Call to action&lt;\u002Fbutton&gt;&lt;\u002Fdiv&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\u003Cdiv class=\"try-it-yourself language-html\">\u003Cpre>\u003Ccode>&lt;style&gt;\n  body { font-family: system-ui, sans-serif; padding: 16px; }\n  .parent { position: relative; height: 240px; background: #f1f1f1; margin-bottom: 16px; }\n  .child { background: #e76f51; color: #fff; text-align: center; }\n  .a { position: absolute; inset: 0; margin: auto; width: 200px; height: 80px; line-height: 80px; }\n  .b { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); padding: 20px 30px; }\n&lt;\u002Fstyle&gt;\n&lt;div class='parent'&gt;&lt;div class='child a'&gt;inset: 0 + margin: auto&lt;\u002Fdiv&gt;&lt;\u002Fdiv&gt;\n&lt;div class='parent'&gt;&lt;div class='child b'&gt;top 50% + translate(-50%, -50%)&lt;\u002Fdiv&gt;&lt;\u002Fdiv&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\u003Cdiv class=\"try-it-yourself language-html\">\u003Cpre>\u003Ccode>&lt;style&gt;\n  body { font-family: system-ui, sans-serif; padding: 16px; }\n  .nav { display: flex; align-items: center; gap: 12px; background: #264653; color: #fff; padding: 12px 16px; }\n  .nav .push { margin-left: auto; }\n  .nav a { color: #fff; }\n  .wrap { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 20px; }\n  .wrap span { width: 110px; padding: 14px; background: #e9c46a; text-align: center; }\n&lt;\u002Fstyle&gt;\n&lt;div class='nav'&gt;&lt;strong&gt;Logo&lt;\u002Fstrong&gt;&lt;a href='#'&gt;Home&lt;\u002Fa&gt;&lt;a href='#'&gt;Blog&lt;\u002Fa&gt;&lt;a class='push' href='#'&gt;Login&lt;\u002Fa&gt;&lt;\u002Fdiv&gt;\n&lt;div class='wrap'&gt;&lt;span&gt;1&lt;\u002Fspan&gt;&lt;span&gt;2&lt;\u002Fspan&gt;&lt;span&gt;3&lt;\u002Fspan&gt;&lt;span&gt;4&lt;\u002Fspan&gt;&lt;span&gt;5&lt;\u002Fspan&gt;&lt;span&gt;6&lt;\u002Fspan&gt;&lt;span&gt;7&lt;\u002Fspan&gt;&lt;\u002Fdiv&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\u003Cdiv class=\"try-it-yourself language-html\">\u003Cpre>\u003Ccode>&lt;style&gt;\n  body { font-family: system-ui, sans-serif; padding: 16px; }\n  .bar { height: 60px; background: #8ecae6; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }\n  .line { height: 60px; line-height: 60px; background: #ffb703; text-align: center; margin-bottom: 12px; }\n  .block-center { height: 120px; background: #e9c46a; align-content: center; text-align: center; }\n&lt;\u002Fstyle&gt;\n&lt;div class='bar'&gt;Flexbox vertical centering&lt;\u002Fdiv&gt;\n&lt;div class='line'&gt;line-height equals height (single line only)&lt;\u002Fdiv&gt;\n&lt;div class='block-center'&gt;align-content: center on a normal block&lt;\u002Fdiv&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\u003Cdiv class=\"try-it-yourself language-javascript\">\u003Cpre>\u003Ccode>const methods = [\n  { need: 'Center text', use: 'text-align: center' },\n  { need: 'Center block horizontally', use: 'margin-inline: auto' },\n  { need: 'Center both axes', use: 'display: grid; place-items: center' },\n  { need: 'Center in row or column', use: 'display: flex; justify-content and align-items' },\n  { need: 'Center overlay', use: 'position: absolute; inset: 0; margin: auto' }\n];\n\nmethods.forEach(function (m) {\n  console.log(m.need + ' -&gt; ' + m.use);\n});\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>",{"name":335,"slug":336},{"name":527,"slug":528},{"slug":652,"display_name":653,"job_title":5,"short_bio":5,"expertise_tags":654,"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":655,"posts":656},"badar-khalil","Badar Khalil",[],[],[],"Article","https:\u002F\u002Fwpfsharp.com\u002Ftopics\u002Fcentering-techniques","How to Center a Div in CSS: Flexbox, Grid, Margin Auto","Learn every CSS centering technique: text-align, margin auto, flexbox, grid place-items, absolute with transform, vertical centering and common fixes.",[662,670,674,686,690,714,718,722,726,730,734,738],{"id":663,"text":664,"level":23,"children":665},"centering-techniques-in-css-how-to-center-anything","Centering Techniques in CSS: How to Center Anything",[666],{"id":667,"text":668,"level":31,"children":669},"trending-keywords-covered-in-this-lesson","Trending keywords covered in this lesson",[],{"id":671,"text":672,"level":23,"children":673},"1-quick-decision-guide","1. Quick Decision Guide",[],{"id":675,"text":676,"level":23,"children":677},"2-horizontal-centering","2. Horizontal Centering",[678,682],{"id":679,"text":680,"level":31,"children":681},"inline-content-text-align","Inline content: text-align",[],{"id":683,"text":684,"level":31,"children":685},"block-elements-margin-auto","Block elements: margin auto",[],{"id":687,"text":688,"level":23,"children":689},"3-vertical-centering","3. Vertical Centering",[],{"id":691,"text":692,"level":23,"children":693},"4-perfect-centering-both-axes","4. Perfect Centering (Both Axes)",[694,698,702,706,710],{"id":695,"text":696,"level":31,"children":697},"method-1-grid-shortest","Method 1: Grid (shortest)",[],{"id":699,"text":700,"level":31,"children":701},"method-2-flexbox","Method 2: Flexbox",[],{"id":703,"text":704,"level":31,"children":705},"method-3-margin-auto-in-flex","Method 3: Margin auto in flex",[],{"id":707,"text":708,"level":31,"children":709},"method-4-absolute-with-inset-and-margin-auto","Method 4: Absolute with inset and margin auto",[],{"id":711,"text":712,"level":31,"children":713},"method-5-absolute-with-transform","Method 5: Absolute with transform",[],{"id":715,"text":716,"level":23,"children":717},"5-full-page-centering","5. Full Page Centering",[],{"id":719,"text":720,"level":23,"children":721},"6-centering-images-and-media","6. Centering Images and Media",[],{"id":723,"text":724,"level":23,"children":725},"7-centering-the-last-row-in-a-wrapped-flex-layout","7. Centering the Last Row in a Wrapped Flex Layout",[],{"id":727,"text":728,"level":23,"children":729},"8-safe-alignment","8. Safe Alignment",[],{"id":731,"text":732,"level":23,"children":733},"9-accessibility-and-readability","9. Accessibility and Readability",[],{"id":735,"text":736,"level":23,"children":737},"10-common-mistakes","10. Common Mistakes",[],{"id":739,"text":740,"level":23,"children":741},"key-takeaways","Key Takeaways",[],[743,748,751,754,757,760,763],{"id":744,"language":745,"code":746,"is_editable":747},425,"html","\u003Cstyle>\n  body { font: 18px system-ui, sans-serif; padding: 16px; }\n  .demo { background: #f1f1f1; padding: 16px; margin-bottom: 16px; }\n  .text { text-align: center; }\n  .block { width: 200px; margin-inline: auto; background: #2a9d8f; color: #fff; padding: 10px; text-align: center; }\n\u003C\u002Fstyle>\n\u003Cdiv class='demo text'>Centered text with text-align \u003Cbutton>and inline button\u003C\u002Fbutton>\u003C\u002Fdiv>\n\u003Cdiv class='demo'>\u003Cdiv class='block'>Block centered with margin-inline: auto\u003C\u002Fdiv>\u003C\u002Fdiv>",true,{"id":749,"language":745,"code":750,"is_editable":747},426,"\u003Cstyle>\n  body { margin: 0; font-family: system-ui, sans-serif; }\n  .hero { display: grid; place-items: center; min-height: 100dvh; background: linear-gradient(135deg, #8ecae6, #219ebc); }\n  .box { background: #fff; padding: 24px 40px; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.2); }\n\u003C\u002Fstyle>\n\u003Cdiv class='hero'>\u003Cdiv class='box'>Perfectly centered with grid\u003C\u002Fdiv>\u003C\u002Fdiv>",{"id":752,"language":745,"code":753,"is_editable":747},427,"\u003Cstyle>\n  body { margin: 0; font-family: system-ui, sans-serif; }\n  .hero { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 12px; min-height: 100dvh; background: #264653; color: #fff; text-align: center; }\n  .hero button { padding: 12px 24px; border: 0; border-radius: 999px; background: #e9c46a; font-weight: 700; }\n\u003C\u002Fstyle>\n\u003Cdiv class='hero'>\u003Ch1>Centered with flexbox\u003C\u002Fh1>\u003Cp>Stacked column, centered on both axes.\u003C\u002Fp>\u003Cbutton>Call to action\u003C\u002Fbutton>\u003C\u002Fdiv>",{"id":755,"language":745,"code":756,"is_editable":747},428,"\u003Cstyle>\n  body { font-family: system-ui, sans-serif; padding: 16px; }\n  .parent { position: relative; height: 240px; background: #f1f1f1; margin-bottom: 16px; }\n  .child { background: #e76f51; color: #fff; text-align: center; }\n  .a { position: absolute; inset: 0; margin: auto; width: 200px; height: 80px; line-height: 80px; }\n  .b { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); padding: 20px 30px; }\n\u003C\u002Fstyle>\n\u003Cdiv class='parent'>\u003Cdiv class='child a'>inset: 0 + margin: auto\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Cdiv class='parent'>\u003Cdiv class='child b'>top 50% + translate(-50%, -50%)\u003C\u002Fdiv>\u003C\u002Fdiv>",{"id":758,"language":745,"code":759,"is_editable":747},429,"\u003Cstyle>\n  body { font-family: system-ui, sans-serif; padding: 16px; }\n  .nav { display: flex; align-items: center; gap: 12px; background: #264653; color: #fff; padding: 12px 16px; }\n  .nav .push { margin-left: auto; }\n  .nav a { color: #fff; }\n  .wrap { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 20px; }\n  .wrap span { width: 110px; padding: 14px; background: #e9c46a; text-align: center; }\n\u003C\u002Fstyle>\n\u003Cdiv class='nav'>\u003Cstrong>Logo\u003C\u002Fstrong>\u003Ca href='#'>Home\u003C\u002Fa>\u003Ca href='#'>Blog\u003C\u002Fa>\u003Ca class='push' href='#'>Login\u003C\u002Fa>\u003C\u002Fdiv>\n\u003Cdiv class='wrap'>\u003Cspan>1\u003C\u002Fspan>\u003Cspan>2\u003C\u002Fspan>\u003Cspan>3\u003C\u002Fspan>\u003Cspan>4\u003C\u002Fspan>\u003Cspan>5\u003C\u002Fspan>\u003Cspan>6\u003C\u002Fspan>\u003Cspan>7\u003C\u002Fspan>\u003C\u002Fdiv>",{"id":761,"language":745,"code":762,"is_editable":747},430,"\u003Cstyle>\n  body { font-family: system-ui, sans-serif; padding: 16px; }\n  .bar { height: 60px; background: #8ecae6; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }\n  .line { height: 60px; line-height: 60px; background: #ffb703; text-align: center; margin-bottom: 12px; }\n  .block-center { height: 120px; background: #e9c46a; align-content: center; text-align: center; }\n\u003C\u002Fstyle>\n\u003Cdiv class='bar'>Flexbox vertical centering\u003C\u002Fdiv>\n\u003Cdiv class='line'>line-height equals height (single line only)\u003C\u002Fdiv>\n\u003Cdiv class='block-center'>align-content: center on a normal block\u003C\u002Fdiv>",{"id":764,"language":765,"code":766,"is_editable":747},431,"javascript","const methods = [\n  { need: 'Center text', use: 'text-align: center' },\n  { need: 'Center block horizontally', use: 'margin-inline: auto' },\n  { need: 'Center both axes', use: 'display: grid; place-items: center' },\n  { need: 'Center in row or column', use: 'display: flex; justify-content and align-items' },\n  { need: 'Center overlay', use: 'position: absolute; inset: 0; margin: auto' }\n];\n\nmethods.forEach(function (m) {\n  console.log(m.need + ' -> ' + m.use);\n});",[768,775],{"id":769,"title":770,"slug":771,"prompt":772,"starter_code":773,"expected_output":774,"language":745,"order_index":9},163,"Center a Login Card","center-login-card","Center the login card horizontally and vertically in the full viewport using grid. Use min-height: 100dvh and place-items.","\u003Cstyle>\n  body { margin: 0; background: #eef2f7; font-family: system-ui, sans-serif; }\n  .card { background: #fff; padding: 24px; width: 280px; border-radius: 12px; }\n\u003C\u002Fstyle>\n\u003Cdiv class='card'>\u003Ch2>Login\u003C\u002Fh2>\u003Cinput placeholder='Email'>\u003C\u002Fdiv>","Body or wrapper uses display: grid, place-items: center and min-height: 100dvh",{"id":776,"title":777,"slug":778,"prompt":779,"starter_code":780,"expected_output":781,"language":745,"order_index":23},164,"Push One Nav Item to the Right","push-nav-item-right","Make a flex navigation where the Logo and two links stay on the left and the Login link moves to the far right without using float or extra wrappers.","\u003Cstyle>\n  nav { background: #264653; padding: 12px; }\n  nav a { color: white; margin-right: 12px; }\n\u003C\u002Fstyle>\n\u003Cnav>\u003Ca href='#'>Logo\u003C\u002Fa>\u003Ca href='#'>Home\u003C\u002Fa>\u003Ca href='#'>Blog\u003C\u002Fa>\u003Ca href='#'>Login\u003C\u002Fa>\u003C\u002Fnav>","nav uses display: flex and align-items: center, Login link uses margin-left: auto","2026-09-30T18:00:08+00:00",{"id":543,"slug":545,"title":544},{"id":551,"slug":553,"title":552},{"data":786},[787,790,793,798,803],{"name":335,"slug":336,"description":788,"post_count":23,"subcategories":789},"Learn CSS with practical tutorials and examples covering layouts, Flexbox, Grid, responsive design, typography, positioning, animations, and more.",[],{"name":10,"slug":745,"description":791,"post_count":23,"subcategories":792},"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":794,"slug":795,"description":796,"post_count":9,"subcategories":797},"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":799,"slug":800,"description":801,"post_count":9,"subcategories":802},"Python","python","Learn Python with practical tutorials covering strings, lists, functions, exceptions, files, packages, virtual environments, modules, classes, and beginner programming concepts.",[],{"name":804,"slug":805,"description":806,"post_count":9,"subcategories":807},"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.",[]]