[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"site-config":3,"course-tree":6,"topic:css-filters-backdrop-filter-glassmorphism":434,"blog-categories":540},{"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,366,398],{"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":26,"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":23,"cornerstone":26,"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":26,"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":26,"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":26,"reading_time_minutes":39},86,"Browser DevTools for CSS: Inspect, Debug & Edit Styles Live","browser-devtools-for-css",{"id":87,"name":367,"slug":368,"order_index":344,"topics":369},"Colors, Backgrounds & Effects","colors-backgrounds-effects",[370,374,378,382,386,390,394],{"id":371,"title":372,"slug":373,"order_index":79,"cornerstone":26,"reading_time_minutes":39},95,"CSS Colors (HEX, RGB, HSL, OKLCH)","css-colors-hex-rgb-hsl-oklch",{"id":375,"title":376,"slug":377,"order_index":87,"cornerstone":26,"reading_time_minutes":35},96,"CSS Backgrounds","css-backgrounds",{"id":379,"title":380,"slug":381,"order_index":91,"cornerstone":26,"reading_time_minutes":39},97,"CSS Gradients (Linear, Radial, Conic)","css-gradients-linear-radial-conic",{"id":383,"title":384,"slug":385,"order_index":95,"cornerstone":26,"reading_time_minutes":39},98,"CSS Borders, Outlines & Rounded Corners","css-borders-outlines-rounded-corners",{"id":387,"title":388,"slug":389,"order_index":99,"cornerstone":26,"reading_time_minutes":43},99,"CSS Box Shadow & Text Shadow","css-box-shadow-text-shadow",{"id":391,"title":392,"slug":393,"order_index":103,"cornerstone":26,"reading_time_minutes":39},100,"CSS Opacity & Blend Modes","css-opacity-blend-modes",{"id":395,"title":396,"slug":397,"order_index":114,"cornerstone":26,"reading_time_minutes":43},101,"CSS Filters & backdrop-filter (Glassmorphism)","css-filters-backdrop-filter-glassmorphism",{"id":79,"name":399,"slug":400,"order_index":344,"topics":401},"Selectors & the Cascade","selectors-the-cascade",[402,406,410,414,418,422,426,430],{"id":403,"title":404,"slug":405,"order_index":43,"cornerstone":26,"reading_time_minutes":35},87,"CSS Basic Selectors: Type, Class, ID, Universal & Grouping","css-basic-selectors",{"id":407,"title":408,"slug":409,"order_index":51,"cornerstone":26,"reading_time_minutes":35},88,"CSS Combinators: Descendant, Child, Adjacent & General Sibling","css-combinators",{"id":411,"title":412,"slug":413,"order_index":55,"cornerstone":26,"reading_time_minutes":35},89,"CSS Attribute Selectors: [attr], ^=, $=, *= and More","css-attribute-selectors",{"id":415,"title":416,"slug":417,"order_index":59,"cornerstone":26,"reading_time_minutes":43},90,"CSS Pseudo-classes: :hover, :focus, :nth-child & Modern Selectors","css-pseudo-classes",{"id":419,"title":420,"slug":421,"order_index":63,"cornerstone":26,"reading_time_minutes":39},91,"CSS Pseudo-elements (::before, ::after)","css-pseudo-elements-before-after",{"id":423,"title":424,"slug":425,"order_index":67,"cornerstone":26,"reading_time_minutes":39},92,"Modern CSS Selectors: :is(), :where(), :has()","modern-css-selectors-is-where-has",{"id":427,"title":428,"slug":429,"order_index":71,"cornerstone":26,"reading_time_minutes":35},93,"CSS Specificity Explained","css-specificity-explained",{"id":431,"title":432,"slug":433,"order_index":75,"cornerstone":26,"reading_time_minutes":39},94,"Cascade, Inheritance & !important","css-cascade-inheritance-important",{"data":435},{"id":395,"title":396,"slug":397,"content":436,"course":437,"subcategory":438,"author":439,"reading_time_minutes":43,"cornerstone":26,"schema_type":445,"faq_json":5,"video_url":5,"canonical_url":446,"meta_title":447,"meta_description":448,"og_image":5,"toc_json":449,"code_examples":502,"quiz":520,"exercises":523,"published_at":5,"updated_at":538,"prev":539,"next":5},"\u003Ch2 id=\"what-are-css-filters-and-backdrop-filter\">What Are CSS Filters and backdrop-filter?\u003C\u002Fh2>\u003Cp>The \u003Cstrong>CSS filter\u003C\u002Fstrong> property applies graphical effects, such as blur or color shifts, to an element and everything inside it. The \u003Cstrong>backdrop-filter\u003C\u002Fstrong> property applies those effects to the area \u003Cem>behind\u003C\u002Fem> an element, which is the secret of the popular \u003Cstrong>glassmorphism\u003C\u002Fstrong> (frosted glass) design style. Our focus keyword is \u003Cstrong>CSS filters\u003C\u002Fstrong>, and this lesson also covers trending searches: glassmorphism CSS, backdrop-filter blur, CSS grayscale hover effect, frosted glass navbar, drop-shadow filter, CSS image effects, and filter performance.\u003C\u002Fp>\u003Ch2 id=\"1-the-filter-property-and-its-functions\">1. The filter Property and Its Functions\u003C\u002Fh2>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>Function\u003C\u002Fth>\u003Cth>What it does\u003C\u002Fth>\u003Cth>Example\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Ccode>blur()\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Gaussian blur; takes a length\u003C\u002Ftd>\u003Ctd>\u003Ccode>blur(4px)\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>\u003Ccode>brightness()\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Lightens or darkens; 1 is normal\u003C\u002Ftd>\u003Ctd>\u003Ccode>brightness(1.2)\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>\u003Ccode>contrast()\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Changes contrast; 1 is normal\u003C\u002Ftd>\u003Ctd>\u003Ccode>contrast(150%)\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>\u003Ccode>grayscale()\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Removes color; 0 to 1\u003C\u002Ftd>\u003Ctd>\u003Ccode>grayscale(1)\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>\u003Ccode>sepia()\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Warm vintage tone\u003C\u002Ftd>\u003Ctd>\u003Ccode>sepia(.8)\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>\u003Ccode>saturate()\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Boosts or reduces color intensity\u003C\u002Ftd>\u003Ctd>\u003Ccode>saturate(1.8)\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>\u003Ccode>hue-rotate()\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Rotates hue on the color wheel\u003C\u002Ftd>\u003Ctd>\u003Ccode>hue-rotate(90deg)\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>\u003Ccode>invert()\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Inverts colors; 0 to 1\u003C\u002Ftd>\u003Ctd>\u003Ccode>invert(1)\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>\u003Ccode>opacity()\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Transparency as a filter\u003C\u002Ftd>\u003Ctd>\u003Ccode>opacity(.5)\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>\u003Ccode>drop-shadow()\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Shadow following the visible shape\u003C\u002Ftd>\u003Ctd>\u003Ccode>drop-shadow(0 4px 6px rgb(0 0 0 \u002F 30%))\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>\u003Ccode>url()\u003C\u002Fcode>\u003C\u002Ftd>\u003Ctd>Reference an SVG filter\u003C\u002Ftd>\u003Ctd>\u003Ccode>url(#noise)\u003C\u002Fcode>\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2 id=\"2-chaining-filters\">2. Chaining Filters\u003C\u002Fh2>\u003Cp>Separate several functions with spaces: \u003Ccode>filter: grayscale(.6) contrast(1.1) brightness(1.05);\u003C\u002Fcode>. \u003Cstrong>Order matters\u003C\u002Fstrong>, because each function is applied to the result of the previous one. \u003Ccode>filter: none\u003C\u002Fcode> removes all filters.\u003C\u002Fp>\u003Ch2 id=\"3-common-filter-use-cases\">3. Common Filter Use Cases\u003C\u002Fh2>\u003Cul>\u003Cli>\u003Cstrong>Hover effects:\u003C\u002Fstrong> grayscale images that turn colorful on hover.\u003C\u002Fli>\u003Cli>\u003Cstrong>Disabled states:\u003C\u002Fstrong> \u003Ccode>grayscale(1) opacity(.6)\u003C\u002Fcode>.\u003C\u002Fli>\u003Cli>\u003Cstrong>Dark mode images:\u003C\u002Fstrong> slightly lower brightness or contrast for photos.\u003C\u002Fli>\u003Cli>\u003Cstrong>Icons:\u003C\u002Fstrong> \u003Ccode>invert(1)\u003C\u002Fcode> to switch black icons to white.\u003C\u002Fli>\u003Cli>\u003Cstrong>Blurring content:\u003C\u002Fstrong> hide sensitive information, or blur the page behind a modal.\u003C\u002Fli>\u003Cli>\u003Cstrong>Shapes with transparency:\u003C\u002Fstrong> \u003Ccode>drop-shadow()\u003C\u002Fcode> on PNG, SVG or clipped elements.\u003C\u002Fli>\u003C\u002Ful>\u003Ch2 id=\"4-what-is-backdrop-filter\">4. What Is backdrop-filter?\u003C\u002Fh2>\u003Cp>\u003Ccode>backdrop-filter\u003C\u002Fcode> uses the same functions as \u003Ccode>filter\u003C\u002Fcode>, but applies them to everything visible \u003Cstrong>behind the element\u003C\u002Fstrong>, within the element's border box (rounded corners are respected). The element itself, and its text, stay sharp. For the effect to be visible, the element \u003Cstrong>must have a semi-transparent background\u003C\u002Fstrong>.\u003C\u002Fp>\u003Cpre>\u003Ccode>.glass {\n  background: rgb(255 255 255 \u002F 15%);\n  -webkit-backdrop-filter: blur(12px) saturate(160%);\n  backdrop-filter: blur(12px) saturate(160%);\n  border: 1px solid rgb(255 255 255 \u002F 30%);\n  border-radius: 16px;\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2 id=\"5-glassmorphism-recipe\">5. Glassmorphism Recipe\u003C\u002Fh2>\u003Col>\u003Cli>Place a colorful, detailed background behind the card (gradient, image or blobs). A plain white background hides the effect.\u003C\u002Fli>\u003Cli>Give the card a \u003Cstrong>translucent\u003C\u002Fstrong> background: \u003Ccode>rgb(255 255 255 \u002F 10-25%)\u003C\u002Fcode>.\u003C\u002Fli>\u003Cli>Add \u003Ccode>backdrop-filter: blur(10px to 20px)\u003C\u002Fcode>, optionally with \u003Ccode>saturate(150%)\u003C\u002Fcode> to keep colors lively.\u003C\u002Fli>\u003Cli>Add a thin light border (\u003Ccode>1px solid rgb(255 255 255 \u002F 30%)\u003C\u002Fcode>) to imitate the edge of glass.\u003C\u002Fli>\u003Cli>Add a soft shadow for depth: \u003Ccode>0 8px 32px rgb(0 0 0 \u002F 20%)\u003C\u002Fcode>.\u003C\u002Fli>\u003Cli>Check text contrast carefully.\u003C\u002Fli>\u003C\u002Fol>\u003Ch2 id=\"6-filter-vs-backdrop-filter\">6. filter vs backdrop-filter\u003C\u002Fh2>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>\u003C\u002Fth>\u003Cth>filter\u003C\u002Fth>\u003Cth>backdrop-filter\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>Affects\u003C\u002Ftd>\u003Ctd>The element and its children\u003C\u002Ftd>\u003Ctd>Content behind the element\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Needs transparency\u003C\u002Ftd>\u003Ctd>No\u003C\u002Ftd>\u003Ctd>Yes (translucent background)\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Creates stacking context\u003C\u002Ftd>\u003Ctd>Yes\u003C\u002Ftd>\u003Ctd>Yes\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>Typical use\u003C\u002Ftd>\u003Ctd>Image effects, disabled states\u003C\u002Ftd>\u003Ctd>Frosted glass navbars, modals, cards\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2 id=\"7-browser-support-and-fallbacks\">7. Browser Support and Fallbacks\u003C\u002Fh2>\u003Cp>\u003Ccode>filter\u003C\u002Fcode> is supported everywhere. \u003Ccode>backdrop-filter\u003C\u002Fcode> works in all current major browsers, though older Safari versions need the \u003Ccode>-webkit-backdrop-filter\u003C\u002Fcode> prefix, so include both. Provide a fallback with \u003Ccode>@supports\u003C\u002Fcode>:\u003C\u002Fp>\u003Cpre>\u003Ccode>.glass { background: rgb(15 23 42 \u002F 90%); }\n@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {\n  .glass { background: rgb(255 255 255 \u002F 15%); backdrop-filter: blur(12px); }\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2 id=\"8-performance\">8. Performance\u003C\u002Fh2>\u003Cul>\u003Cli>Blur is GPU heavy. Large blur radii on big areas can drop frame rates, especially on mobile and while scrolling.\u003C\u002Fli>\u003Cli>Keep \u003Ccode>backdrop-filter\u003C\u002Fcode> elements small (navbars, cards) and avoid stacking many of them.\u003C\u002Fli>\u003Cli>Do not animate blur radius on large elements. Fade opacity instead.\u003C\u002Fli>\u003Cli>Fixed or sticky elements with backdrop-filter are fine, but test scrolling on real devices.\u003C\u002Fli>\u003C\u002Ful>\u003Ch2 id=\"9-accessibility\">9. Accessibility\u003C\u002Fh2>\u003Cul>\u003Cli>Glass cards sit over changing backgrounds, so text contrast can drop. Use a slightly darker translucent tint or add a solid fallback behind text.\u003C\u002Fli>\u003Cli>Respect users who prefer less transparency: \u003Ccode>@media (prefers-reduced-transparency: reduce)\u003C\u002Fcode> can switch to a solid background where supported.\u003C\u002Fli>\u003Cli>Do not use blur to hide information that must stay private, since it is only visual.\u003C\u002Fli>\u003C\u002Ful>\u003Ch2 id=\"best-practices\">Best Practices\u003C\u002Fh2>\u003Cul>\u003Cli>Use subtle values: blur 8 to 16px, background alpha 10 to 25%.\u003C\u002Fli>\u003Cli>Always add the \u003Ccode>-webkit-\u003C\u002Fcode> prefixed backdrop-filter.\u003C\u002Fli>\u003Cli>Use \u003Ccode>drop-shadow()\u003C\u002Fcode> for non-rectangular shapes and \u003Ccode>box-shadow\u003C\u002Fcode> for boxes.\u003C\u002Fli>\u003Cli>Animate filter values with transitions on small elements only.\u003C\u002Fli>\u003C\u002Ful>\u003Ch2 id=\"common-mistakes\">Common Mistakes\u003C\u002Fh2>\u003Cul>\u003Cli>Using \u003Ccode>backdrop-filter\u003C\u002Fcode> with a solid opaque background, so nothing is visible.\u003C\u002Fli>\u003Cli>Expecting \u003Ccode>filter: blur()\u003C\u002Fcode> to blur only the background. It blurs the element and its text.\u003C\u002Fli>\u003Cli>Forgetting that a filter creates a new stacking context and containing block for fixed-position children.\u003C\u002Fli>\u003Cli>Applying heavy filters to many elements at once.\u003C\u002Fli>\u003C\u002Ful>\u003Ch2 id=\"summary\">Summary\u003C\u002Fh2>\u003Cp>CSS filters transform how elements look, from grayscale hovers to drop-shadows, and backdrop-filter blurs what lies behind an element to create glassmorphism. Combine a translucent background, blur, a thin border and a soft shadow, keep it light for performance, and check contrast. Explore the examples below.\u003C\u002Fp>\u003Cdiv class=\"try-it-yourself language-html\">\u003Cpre>\u003Ccode>&lt;style&gt;\n  body { font-family: sans-serif; }\n  .t { display: inline-block; width: 110px; height: 90px; margin: 6px; border-radius: 10px; color: #fff; font-size: 12px; padding: 6px; background: conic-gradient(from 90deg, #ef4444, #f59e0b, #22c55e, #3b82f6, #a855f7, #ef4444); }\n&lt;\u002Fstyle&gt;\n&lt;div class='t'&gt;original&lt;\u002Fdiv&gt;\n&lt;div class='t' style='filter: blur(3px)'&gt;blur(3px)&lt;\u002Fdiv&gt;\n&lt;div class='t' style='filter: grayscale(1)'&gt;grayscale(1)&lt;\u002Fdiv&gt;\n&lt;div class='t' style='filter: sepia(.9)'&gt;sepia(.9)&lt;\u002Fdiv&gt;\n&lt;div class='t' style='filter: hue-rotate(90deg)'&gt;hue-rotate(90deg)&lt;\u002Fdiv&gt;\n&lt;div class='t' style='filter: saturate(2) brightness(1.1)'&gt;saturate + brightness&lt;\u002Fdiv&gt;\n&lt;div class='t' style='filter: invert(1)'&gt;invert(1)&lt;\u002Fdiv&gt;\n&lt;div class='t' style='filter: contrast(2)'&gt;contrast(2)&lt;\u002Fdiv&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\u003Cdiv class=\"try-it-yourself language-html\">\u003Cpre>\u003Ccode>&lt;style&gt;\n  .img { width: 220px; height: 150px; border-radius: 12px; background: conic-gradient(from 45deg, #f43f5e, #f59e0b, #10b981, #3b82f6, #f43f5e); filter: grayscale(1) brightness(.9); transition: filter .4s, transform .4s; margin: 10px; display: inline-block; }\n  .img:hover { filter: grayscale(0) brightness(1.05); transform: scale(1.03); }\n  .disabled { display: inline-block; padding: 10px 20px; background: #2563eb; color: #fff; border-radius: 8px; font-family: sans-serif; filter: grayscale(1) opacity(.5); }\n&lt;\u002Fstyle&gt;\n&lt;div class='img'&gt;&lt;\u002Fdiv&gt;&lt;span class='disabled'&gt;Disabled button&lt;\u002Fspan&gt;\n&lt;p style='font-family:sans-serif'&gt;Hover the box to bring the color back.&lt;\u002Fp&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: sans-serif; }\n  .scene { min-height: 300px; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 20% 25%, #f472b6 0 90px, transparent 91px), radial-gradient(circle at 80% 70%, #22d3ee 0 110px, transparent 111px), linear-gradient(135deg, #4f46e5, #7c3aed); }\n  .glass { width: 280px; padding: 24px; color: #fff; background: rgb(255 255 255 \u002F 15%); -webkit-backdrop-filter: blur(14px) saturate(160%); backdrop-filter: blur(14px) saturate(160%); border: 1px solid rgb(255 255 255 \u002F 30%); border-radius: 18px; box-shadow: 0 8px 32px rgb(0 0 0 \u002F 25%); }\n  .glass h3 { margin: 0 0 8px; }\n&lt;\u002Fstyle&gt;\n&lt;div class='scene'&gt;&lt;div class='glass'&gt;&lt;h3&gt;Glassmorphism&lt;\u002Fh3&gt;&lt;p&gt;Frosted glass card with backdrop-filter, a translucent background and a thin light border.&lt;\u002Fp&gt;&lt;\u002Fdiv&gt;&lt;\u002Fdiv&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\u003Cdiv class=\"try-it-yourself language-html\">\u003Cpre>\u003Ccode>&lt;style&gt;\n  body { margin: 0; font-family: sans-serif; height: 260px; overflow: auto; background: linear-gradient(180deg, #fde68a, #f472b6, #60a5fa, #34d399); }\n  nav { position: sticky; top: 0; display: flex; gap: 18px; padding: 14px 20px; background: rgb(255 255 255 \u002F 30%); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid rgb(255 255 255 \u002F 40%); }\n  nav a { color: #0f172a; text-decoration: none; font-weight: bold; }\n  .blob { height: 90px; margin: 18px; border-radius: 16px; background: rgb(15 23 42 \u002F 70%); }\n&lt;\u002Fstyle&gt;\n&lt;nav&gt;&lt;a href='#'&gt;Home&lt;\u002Fa&gt;&lt;a href='#'&gt;Courses&lt;\u002Fa&gt;&lt;a href='#'&gt;Contact&lt;\u002Fa&gt;&lt;\u002Fnav&gt;\n&lt;div class='blob'&gt;&lt;\u002Fdiv&gt;&lt;div class='blob'&gt;&lt;\u002Fdiv&gt;&lt;div class='blob'&gt;&lt;\u002Fdiv&gt;&lt;div class='blob'&gt;&lt;\u002Fdiv&gt;\n&lt;p style='padding:0 20px'&gt;Scroll: the sticky nav blurs the content moving under it.&lt;\u002Fp&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>\u003Cdiv class=\"try-it-yourself language-html\">\u003Cpre>\u003Ccode>&lt;style&gt;\n  body { font-family: sans-serif; padding: 24px; }\n  .tri { width: 120px; height: 110px; background: #f59e0b; clip-path: polygon(50% 0, 100% 100%, 0 100%); }\n  .wrap { display: inline-block; margin: 20px; }\n  .box-sh .tri { box-shadow: 0 10px 14px rgb(0 0 0 \u002F 50%); }\n  .drop { filter: drop-shadow(0 10px 8px rgb(0 0 0 \u002F 50%)); }\n  .glass-fb { margin-top: 16px; padding: 16px; border-radius: 12px; background: rgb(15 23 42 \u002F 90%); color: #fff; }\n  @supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) { .glass-fb { background: rgb(15 23 42 \u002F 40%); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); } }\n&lt;\u002Fstyle&gt;\n&lt;div class='wrap box-sh'&gt;&lt;div class='tri'&gt;&lt;\u002Fdiv&gt;&lt;\u002Fdiv&gt; box-shadow is clipped away\n&lt;div class='wrap drop'&gt;&lt;div class='tri'&gt;&lt;\u002Fdiv&gt;&lt;\u002Fdiv&gt; drop-shadow follows the shape\n&lt;div class='glass-fb'&gt;@supports fallback: solid tint if backdrop-filter is unsupported&lt;\u002Fdiv&gt;\u003C\u002Fcode>\u003C\u002Fpre>\u003C\u002Fdiv>",{"name":335,"slug":336},{"name":367,"slug":368},{"slug":440,"display_name":441,"job_title":5,"short_bio":5,"expertise_tags":442,"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":443,"posts":444},"badar-khalil","Badar Khalil",[],[],[],"Article","https:\u002F\u002Fwpfsharp.com\u002Ftopics\u002Fcss-filters-backdrop-filter-glassmorphism","CSS Filters & backdrop-filter Glassmorphism Guide","Learn CSS filter functions and backdrop-filter to build glassmorphism: blur, brightness, grayscale, drop-shadow, frosted glass cards and tips.",[450,454,458,462,466,470,474,478,482,486,490,494,498],{"id":451,"text":452,"level":23,"children":453},"what-are-css-filters-and-backdrop-filter","What Are CSS Filters and backdrop-filter?",[],{"id":455,"text":456,"level":23,"children":457},"1-the-filter-property-and-its-functions","1. The filter Property and Its Functions",[],{"id":459,"text":460,"level":23,"children":461},"2-chaining-filters","2. Chaining Filters",[],{"id":463,"text":464,"level":23,"children":465},"3-common-filter-use-cases","3. Common Filter Use Cases",[],{"id":467,"text":468,"level":23,"children":469},"4-what-is-backdrop-filter","4. What Is backdrop-filter?",[],{"id":471,"text":472,"level":23,"children":473},"5-glassmorphism-recipe","5. Glassmorphism Recipe",[],{"id":475,"text":476,"level":23,"children":477},"6-filter-vs-backdrop-filter","6. filter vs backdrop-filter",[],{"id":479,"text":480,"level":23,"children":481},"7-browser-support-and-fallbacks","7. Browser Support and Fallbacks",[],{"id":483,"text":484,"level":23,"children":485},"8-performance","8. Performance",[],{"id":487,"text":488,"level":23,"children":489},"9-accessibility","9. Accessibility",[],{"id":491,"text":492,"level":23,"children":493},"best-practices","Best Practices",[],{"id":495,"text":496,"level":23,"children":497},"common-mistakes","Common Mistakes",[],{"id":499,"text":500,"level":23,"children":501},"summary","Summary",[],[503,508,511,514,517],{"id":504,"language":505,"code":506,"is_editable":507},284,"html","\u003Cstyle>\n  body { font-family: sans-serif; }\n  .t { display: inline-block; width: 110px; height: 90px; margin: 6px; border-radius: 10px; color: #fff; font-size: 12px; padding: 6px; background: conic-gradient(from 90deg, #ef4444, #f59e0b, #22c55e, #3b82f6, #a855f7, #ef4444); }\n\u003C\u002Fstyle>\n\u003Cdiv class='t'>original\u003C\u002Fdiv>\n\u003Cdiv class='t' style='filter: blur(3px)'>blur(3px)\u003C\u002Fdiv>\n\u003Cdiv class='t' style='filter: grayscale(1)'>grayscale(1)\u003C\u002Fdiv>\n\u003Cdiv class='t' style='filter: sepia(.9)'>sepia(.9)\u003C\u002Fdiv>\n\u003Cdiv class='t' style='filter: hue-rotate(90deg)'>hue-rotate(90deg)\u003C\u002Fdiv>\n\u003Cdiv class='t' style='filter: saturate(2) brightness(1.1)'>saturate + brightness\u003C\u002Fdiv>\n\u003Cdiv class='t' style='filter: invert(1)'>invert(1)\u003C\u002Fdiv>\n\u003Cdiv class='t' style='filter: contrast(2)'>contrast(2)\u003C\u002Fdiv>",true,{"id":509,"language":505,"code":510,"is_editable":507},285,"\u003Cstyle>\n  .img { width: 220px; height: 150px; border-radius: 12px; background: conic-gradient(from 45deg, #f43f5e, #f59e0b, #10b981, #3b82f6, #f43f5e); filter: grayscale(1) brightness(.9); transition: filter .4s, transform .4s; margin: 10px; display: inline-block; }\n  .img:hover { filter: grayscale(0) brightness(1.05); transform: scale(1.03); }\n  .disabled { display: inline-block; padding: 10px 20px; background: #2563eb; color: #fff; border-radius: 8px; font-family: sans-serif; filter: grayscale(1) opacity(.5); }\n\u003C\u002Fstyle>\n\u003Cdiv class='img'>\u003C\u002Fdiv>\u003Cspan class='disabled'>Disabled button\u003C\u002Fspan>\n\u003Cp style='font-family:sans-serif'>Hover the box to bring the color back.\u003C\u002Fp>",{"id":512,"language":505,"code":513,"is_editable":507},286,"\u003Cstyle>\n  body { margin: 0; font-family: sans-serif; }\n  .scene { min-height: 300px; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 20% 25%, #f472b6 0 90px, transparent 91px), radial-gradient(circle at 80% 70%, #22d3ee 0 110px, transparent 111px), linear-gradient(135deg, #4f46e5, #7c3aed); }\n  .glass { width: 280px; padding: 24px; color: #fff; background: rgb(255 255 255 \u002F 15%); -webkit-backdrop-filter: blur(14px) saturate(160%); backdrop-filter: blur(14px) saturate(160%); border: 1px solid rgb(255 255 255 \u002F 30%); border-radius: 18px; box-shadow: 0 8px 32px rgb(0 0 0 \u002F 25%); }\n  .glass h3 { margin: 0 0 8px; }\n\u003C\u002Fstyle>\n\u003Cdiv class='scene'>\u003Cdiv class='glass'>\u003Ch3>Glassmorphism\u003C\u002Fh3>\u003Cp>Frosted glass card with backdrop-filter, a translucent background and a thin light border.\u003C\u002Fp>\u003C\u002Fdiv>\u003C\u002Fdiv>",{"id":515,"language":505,"code":516,"is_editable":507},287,"\u003Cstyle>\n  body { margin: 0; font-family: sans-serif; height: 260px; overflow: auto; background: linear-gradient(180deg, #fde68a, #f472b6, #60a5fa, #34d399); }\n  nav { position: sticky; top: 0; display: flex; gap: 18px; padding: 14px 20px; background: rgb(255 255 255 \u002F 30%); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid rgb(255 255 255 \u002F 40%); }\n  nav a { color: #0f172a; text-decoration: none; font-weight: bold; }\n  .blob { height: 90px; margin: 18px; border-radius: 16px; background: rgb(15 23 42 \u002F 70%); }\n\u003C\u002Fstyle>\n\u003Cnav>\u003Ca href='#'>Home\u003C\u002Fa>\u003Ca href='#'>Courses\u003C\u002Fa>\u003Ca href='#'>Contact\u003C\u002Fa>\u003C\u002Fnav>\n\u003Cdiv class='blob'>\u003C\u002Fdiv>\u003Cdiv class='blob'>\u003C\u002Fdiv>\u003Cdiv class='blob'>\u003C\u002Fdiv>\u003Cdiv class='blob'>\u003C\u002Fdiv>\n\u003Cp style='padding:0 20px'>Scroll: the sticky nav blurs the content moving under it.\u003C\u002Fp>",{"id":518,"language":505,"code":519,"is_editable":507},288,"\u003Cstyle>\n  body { font-family: sans-serif; padding: 24px; }\n  .tri { width: 120px; height: 110px; background: #f59e0b; clip-path: polygon(50% 0, 100% 100%, 0 100%); }\n  .wrap { display: inline-block; margin: 20px; }\n  .box-sh .tri { box-shadow: 0 10px 14px rgb(0 0 0 \u002F 50%); }\n  .drop { filter: drop-shadow(0 10px 8px rgb(0 0 0 \u002F 50%)); }\n  .glass-fb { margin-top: 16px; padding: 16px; border-radius: 12px; background: rgb(15 23 42 \u002F 90%); color: #fff; }\n  @supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) { .glass-fb { background: rgb(15 23 42 \u002F 40%); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); } }\n\u003C\u002Fstyle>\n\u003Cdiv class='wrap box-sh'>\u003Cdiv class='tri'>\u003C\u002Fdiv>\u003C\u002Fdiv> box-shadow is clipped away\n\u003Cdiv class='wrap drop'>\u003Cdiv class='tri'>\u003C\u002Fdiv>\u003C\u002Fdiv> drop-shadow follows the shape\n\u003Cdiv class='glass-fb'>@supports fallback: solid tint if backdrop-filter is unsupported\u003C\u002Fdiv>",{"id":210,"slug":521,"title":522,"time_limit_seconds":5,"pass_percentage":303,"question_count":39},"filters-glassmorphism-quiz","Filters & Glassmorphism Quiz",[524,531],{"id":525,"title":526,"slug":527,"prompt":528,"starter_code":529,"expected_output":530,"language":505,"order_index":9},117,"Build a Glassmorphism Card","build-glassmorphism-card","Style .glass so it looks like frosted glass: translucent white background (about 15%), backdrop-filter blur of 12px with the -webkit- prefix, a 1px semi-transparent white border, 16px radius and a soft shadow. The card sits over a colorful gradient background.","\u003Cstyle>\n  .scene { min-height: 260px; display: grid; place-items: center; background: linear-gradient(135deg, #ec4899, #6366f1, #06b6d4); }\n  .glass { padding: 24px; color: #fff; font-family: sans-serif; \u002F* your code *\u002F }\n\u003C\u002Fstyle>\n\u003Cdiv class='scene'>\u003Cdiv class='glass'>Frosted glass card\u003C\u002Fdiv>\u003C\u002Fdiv>","A translucent, blurred card with a light border over the colorful background.",{"id":532,"title":533,"slug":534,"prompt":535,"starter_code":536,"expected_output":537,"language":505,"order_index":23},118,"Grayscale Image Gallery Hover","grayscale-gallery-hover","Make every .thumb grayscale by default. On hover, remove the grayscale, slightly increase brightness and add a smooth 0.3s transition.","\u003Cstyle>\n  .thumb { display: inline-block; width: 140px; height: 100px; margin: 8px; border-radius: 10px; background: linear-gradient(135deg, #f43f5e, #f59e0b, #22c55e); \u002F* your code *\u002F }\n  .thumb:hover { \u002F* your code *\u002F }\n\u003C\u002Fstyle>\n\u003Cdiv class='thumb'>\u003C\u002Fdiv>\u003Cdiv class='thumb'>\u003C\u002Fdiv>\u003Cdiv class='thumb'>\u003C\u002Fdiv>","Gray thumbnails that turn colorful and brighter on hover.","2026-09-29T18:57:10+00:00",{"id":391,"slug":393,"title":392},{"data":541},[542,545,548,553,558],{"name":335,"slug":336,"description":543,"post_count":23,"subcategories":544},"Learn CSS with practical tutorials and examples covering layouts, Flexbox, Grid, responsive design, typography, positioning, animations, and more.",[],{"name":10,"slug":505,"description":546,"post_count":23,"subcategories":547},"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":549,"slug":550,"description":551,"post_count":9,"subcategories":552},"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":554,"slug":555,"description":556,"post_count":9,"subcategories":557},"Python","python","Learn Python with practical tutorials covering strings, lists, functions, exceptions, files, packages, virtual environments, modules, classes, and beginner programming concepts.",[],{"name":559,"slug":560,"description":561,"post_count":9,"subcategories":562},"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.",[]]