{"id":76193,"url":"https://github.com/zedix/awesome-html-css","name":"awesome-html-css","description":"Resources on the super power of HTML and modern CSS.","projects_count":49,"last_synced_at":"2026-06-23T11:00:21.083Z","repository":{"id":222485999,"uuid":"757343547","full_name":"zedix/awesome-html-css","owner":"zedix","description":"Resources on the super power of HTML and modern CSS.","archived":false,"fork":false,"pushed_at":"2026-04-22T08:54:02.000Z","size":94,"stargazers_count":9,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-06-06T15:04:11.353Z","etag":null,"topics":["awesome-css","awesome-list","html","html-css","modern-css","web-platform","web-standards","web-ui"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zedix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-02-14T09:55:29.000Z","updated_at":"2026-04-22T08:54:06.000Z","dependencies_parsed_at":"2026-03-06T05:00:30.139Z","dependency_job_id":null,"html_url":"https://github.com/zedix/awesome-html-css","commit_stats":null,"previous_names":["zedix/awesome-html-css"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zedix/awesome-html-css","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zedix%2Fawesome-html-css","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zedix%2Fawesome-html-css/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zedix%2Fawesome-html-css/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zedix%2Fawesome-html-css/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zedix","download_url":"https://codeload.github.com/zedix/awesome-html-css/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zedix%2Fawesome-html-css/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34686726,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-23T02:00:07.161Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2024-11-06T12:15:49.324Z","updated_at":"2026-06-23T11:00:21.083Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["Articles","HTML","Resources","Following","CSS Handy (Old) Things","CSS","Uncategorized","CSS Scroll-Driven Animations (`view-timeline`, `animation-timeline`, `view()`)","CSS Custom Highlight API","CSS-first components frameworks"],"sub_categories":["HTML over the wire (instead of JSON)","The `CloseWatcher` API","All CSS new features (87)","CSS Custom Functions \u0026 Mixins","CSS Style Queries","Uncategorized","The `\u003cdialog\u003e` element","The `commandfor` \u0026 `command` attributes (Invoker Commands)","The `\u003cdetails\u003e` element","The `popover` attribute","The `focusgroup` attribute","The `switch` attribute","The `Customizable \u003cselect\u003e` (ex `\u003cselectlist\u003e` ⇢ ex `\u003cselectmenu\u003e` ⇢ ex `\u003cselect\u003e v2`)","All HTML elements (115)","CSS `subgrid`","CSS `color-mix()`","CSS `if()` notation (inline conditionals on custom properties / self-styling feature)","CSS Anchor Position API","CSS Tips"],"readme":"# Awesome HTML \u0026 CSS (with super powers) — The golden age of Web UI\n\n- [Web Platform Explorer](https://web-platform-dx.github.io/web-features-explorer/)\n- [Web Platform Baseline](https://web.dev/baseline) + [Browserslist plugin](https://github.com/web-platform-dx/browserslist-config-baseline)\n- [Web Platform Status](https://webstatus.dev/)\n- [WebDX Community Group](https://web-platform-dx.github.io/web-features/webdx-cg/)\n- [WebDX Developer Signals](https://github.com/web-platform-dx/developer-signals/issues)\n- [Interop 2026](https://webkit.org/blog/17818/announcing-interop-2026/) / [Dashboard](https://wpt.fyi/interop-2026) (previous: [2025](https://webkit.org/blog/16458/announcing-interop-2025/), [2024](https://webkit.org/blog/14955/the-web-just-gets-better-with-interop/))\n- [Chrome Platform Status Roadmap](https://chromestatus.com/roadmap)\n\n\u003e [!TIP]\n\u003e Stop writing unnecessary, heavy, thread-blocking JavaScript — [Una Kravets](https://una.github.io/better-faster-stronger-web-ui/)\n\n\u003e [!TIP]\n\u003e CSS is now the most powerful design tool for the Web — [Matthias Ott](https://youtu.be/su6WA0kUUJE?t=340)\n\n\u003e [!TIP]\n\u003e With all the new web features right on their way (view-transitions, @​starting-style, calc-size(), speculation rules, style and container queries, relative color syntax, ... the list goes on and on), it's time to face it... 🫣👇 — \u003ca href=\"https://x.com/stefanjudis/status/1801176094243991995\"\u003eStefan Judis\u003c/a\u003e \u003cp\u003e\u003cimg src=\"https://pbs.twimg.com/media/GP8PXZBXsAAnFP_?format=jpg\u0026name=large\" height=\"280\"/\u003e\u003c/p\u003e\n\n\u003e [!TIP]\n\u003e Prepare to be dazzled by a symphony of fluidity, dynamism, and expressive power as we unveil the [next generation of web UI](https://io.google/2025/explore/pa-keynote-15). It’s a world where user experiences transcend the ordinary and developers become true visual orchestrators. Discover how you can turn 7,000 lines of JavaScript into a mere 7 lines of declarative HTML and CSS, unlocking unprecedented levels of efficiency and elegance.\n\n## HTML\n\n- [The `\u003cdialog\u003e` element](./resources/html-dialog-element.md)\n- [The `\u003cdetails\u003e` element](./resources/html-details-element.md)\n- [The customizable `\u003cselect\u003e` element](./resources/html-customizable-select-element.md)\n- [The `popover` attribute](./resources/html-popover-attribute.md)\n- [The `command` attribute](./resources/html-invoker-commands-api.md)\n- [The `interesttarget` attribute](./resources/html-interest-invokers.md)\n- [The `focusgroup` attribute](./resources/html-focusgroup-attribute.md)\n- [The `switch` attribute](./resources/html-switch-attribute.md)\n- [The `CloseWatcher` api](./resources/html-closewatcher-api.md)\n- [The `Abort Controller` api](./resources/html-abort-controller.md)\n- [The `custom attributes`](./resources/html-custom-attributes.md)\n\n\n## Following\n\n- [Proposal: Customized built-in elements via elementInternals.type](https://github.com/whatwg/html/issues/11061)\n- [Proposal: Custom attributes for all elements](https://github.com/WICG/webcomponents/issues/1029)\n\n### All HTML elements (115)\n\n- Document element (1): `\u003chtml\u003e`\n- Document metadata (6): `\u003chead\u003e`, `\u003ctitle\u003e`, `\u003cbase\u003e`, `\u003clink\u003e`, `\u003cmeta\u003e`, `\u003cstyle\u003e`,\n- Sections (15): `\u003cbody\u003e`, `\u003carticle\u003e`, `\u003csection\u003e`, `\u003cnav\u003e`, `\u003caside\u003e`, `\u003ch1-6\u003e`, `\u003chgroup\u003e`, `\u003cheader\u003e`, `\u003cfooter\u003e`, `\u003caddress\u003e`\n- Grouping content (16): `\u003cp\u003e`, `\u003chr\u003e`, `\u003cpre\u003e`, `\u003cblockquote\u003e`, `\u003col\u003e`, `\u003cul\u003e`, `\u003cmenu\u003e`, `\u003cli\u003e`, `\u003cdl\u003e`, `\u003cdt\u003e`, `\u003cdd\u003e`, `\u003cfigure\u003e`, `\u003cfigcaption\u003e`, `\u003cmain\u003e`, `\u003csearch\u003e`, `\u003cdiv\u003e`\n- Text-level semantics (29): `\u003ca\u003e`, `\u003cem\u003e`, `\u003cstrong\u003e`, `\u003csmall\u003e`, `\u003cs\u003e`, `\u003ccite\u003e`, `\u003cq\u003e`, `\u003cdfn\u003e`, `\u003cabbr\u003e`, `\u003cruby\u003e`, `\u003crt\u003e`, `\u003crp\u003e`, `\u003cdata\u003e`, `\u003ctime\u003e`, `\u003ccode\u003e`, `\u003cvar\u003e`, `\u003csamp\u003e`, `\u003ckbd\u003e`, `\u003csub\u003e`, `\u003csup\u003e`, `\u003ci\u003e`, `\u003cb\u003e`, `\u003cu\u003e`, `\u003cmark\u003e`, `\u003cbdi\u003e`, `\u003cbdo\u003e`, `\u003cspan\u003e`, `\u003cbr\u003e`, `\u003cwbr\u003e`\n- Edits (2): `\u003cins\u003e`, `\u003cdel\u003e`\n- Embedded content (13): `\u003cpicture\u003e`, `\u003csource\u003e`, `\u003cimg\u003e`, `\u003ciframe\u003e`, `\u003cembed\u003e`, `\u003cobject\u003e`, `\u003cvideo\u003e`, `\u003caudio\u003e`, `\u003ctrack\u003e`, `\u003cmap\u003e`, `\u003carea\u003e`, `\u003cmath\u003e`, `\u003csvg\u003e`\n- Tabular data (10): `\u003ctable\u003e`, `\u003ccaption\u003e`, `\u003ccolgroup\u003e`, `\u003ccol\u003e`, `\u003ctbody\u003e`, `\u003cthead\u003e`, `\u003ctfoot\u003e`, `\u003ctr\u003e`, `\u003ctd\u003e`, `\u003cth\u003e`\n- Forms (14): `\u003cform\u003e`, `\u003clabel\u003e`, `\u003cinput\u003e`, `\u003cbutton\u003e`, `\u003cselect\u003e`, `\u003cdatalist\u003e`, `\u003coptgroup\u003e`, `\u003coption\u003e`, `\u003ctextarea\u003e`, `\u003coutput\u003e`, `\u003cprogress\u003e`, `\u003cmeter\u003e`, `\u003cfieldset\u003e`, `\u003clegend\u003e`\n- Interactive elements (3): [`\u003cdetails\u003e`](https://html.spec.whatwg.org/multipage/interactive-elements.html#the-details-element), `\u003csummary\u003e`, [`\u003cdialog\u003e`](https://html.spec.whatwg.org/multipage/interactive-elements.html#the-dialog-element)\n- Custom elements (2): `\u003ctemplate\u003e`, `\u003cslot\u003e`\n- Scripting (3): `\u003cscript\u003e`, `\u003cnoscript\u003e`,`\u003ccanvas\u003e`\n- Experimental (1): `\u003cportal\u003e`\n- Proposed (-): `\u003cselectedcontent\u003e`, [`\u003cgeolocation\u003e`](https://developer.chrome.com/blog/geolocation-html-element)\n\n\u003e [!NOTE]\n\u003e These last element landed in the HTML spec was the [`\u003csearch\u003e`](https://www.scottohara.me/blog/2023/03/24/search-element.html) element, at March 24th 2023.\n\n\n## CSS\n\n- [CSS View Transitions](./resources/css-views-transitions.md)\n- [CSS Anchor Positioning](./resources/css-anchor-positioning.md)\n- [CSS Subgrid](./resources/css-subgrid.md)\n- [CSS Discrete Property Animations](./resources/css-discrete-property-animations.md)\n- [CSS Carousel](./resources/css-carousel.md)\n- [CSS Container Queries](./resources/css-container-queries.md)\n- [CSS Forms](./resources/css-forms.md)\n- [CSS Gaps Decorations](https://www.youtube.com/watch?v=NfwDP9shxNQ)\n- [CSS Mixins \u0026 Functions](./resources/css-mixins-functions.md)\n- [CSS Custom Highlight](./resources/css-custom-highlight.md)\n- [CSS Scroll Animations](./resources/css-scroll-animations.md)\n- [CSS `attr()`](./resources/css-attr.md)\n- [CSS `border-shape`](./resources/css-border-shape.md)\n- [CSS `color-mix()`](./resources/css-color-mix.md)\n- [CSS `corner-shape`](./resources/css-corner-shape.md)\n- [CSS `if()` notation](./resources/css-if-notation.md)\n- [CSS `ident()`](./resources/css-ident.md)\n- [CSS `inherit()`](./resources/css-inherit.md)\n- [CSS `oklch()`](./resources/css-oklch.md)\n- [CSS `shape()`](./resources/css-shape.md)\n- [CSS `scroll-state()`](./resources/css-scroll-state.md)\n- [CSS `grid-lanes`](./resources/css-grid-lanes.md)\n- [CSS tips ✨](./resources/css-tips.md)\n\n### All CSS new features (87)\n\n- At-Rules (14): `@container`, `@else`, `@function`, `@keyframes`, `@layer`, `@mixin`, `@position-try`, `@property`, `@scope`, `@starting-style`, `@supports`, `@view-transition`, `@when`\n- Functions (27): `anchor()`, `attr()`, `circle()`, `clamp()`, `color(from)`, `color-mix()`, `contrast-color()`, `cos()`, `env()`, `fit-content()`, `if()`, `image-set()`, `inherit()`, `light-dark()`, `linear()`, `max()`, `min()`, `polygon()`, `random()`, `repeat()`, `scroll()`, `sibling-count()`, `sibling-index()`, `sin()`, `tan()`, `var()`, `view()`\n- Properties (16): `accent-color`, `animation-composition`, `animation-range`, `animation-timeline`, `aspect-ratio`, `color-scheme`, `contain-intrinsic-size`, `container-type`, `content-visibility`, `font-palette`, `forced-color-adjust`, `interpolate-size`, `reading-flow`, `scroll-behavior`, `scrollbar-gutter`, `text-wrap`\n- Pseudo Elements (18): `::backdrop`, `::checkmark`, `::column`, `::details-content`, `::grammar-error`, `::highlight()`, `::part()`, `::picker()`, `::picker-icon`, `::scroll-button()`, `::scroll-marker()`, `::slotted()`, `::spelling-error`, `::target-text`, `::view-transition-group()`, `::view-transition-image-pair()`, `::view-transition-new()`, `::view-transition-old()`\n- Selectors (13): `:active-view-transition`, `:active-view-transition-type()`, `:focus-visible`, `:has()`, `:heading`, `:heading()`, `:is()`, `:popover-open`, `:scope`, `:state()`, `:target-current`, `:user-invalid`, `:user-valid`, `:where()`\n\n## Resources\n\n- [Modern CSS](https://modern-css.com/)\n- [Adam Argyle blog](https://nerdy.dev/)\n- [CSS Tips](https://css-tip.com/)\n- [News to the web platform](https://web.dev/blog)\n- [A better way to explore CSS](https://css-tip.com/explore/)\n- [Chrome Built-in AI APIs](https://developer.chrome.com/docs/ai/built-in-apis)\n\n## Articles\n\n- [2026-03-24 — The Great CSS Expansion](https://frontendfoc.us/link/182752/dafe780661)\n- [2026-02-26 — Goodbye innerHTML, Hello setHTML](https://hacks.mozilla.org/2026/02/goodbye-innerhtml-hello-sethtml-stronger-xss-protection-in-firefox-148/)\n- [2026-01-27 — Try text scaling support in Chrome Canary](https://www.joshtumath.uk/posts/2026-01-27-try-text-scaling-support-in-chrome-canary/)\n- [2025-12-08 — CSS Wrapped 2025](https://chrome.dev/css-wrapped-2025/)\n- [2025-09-12 — Why CSS is Now the Fastest-Moving Space in Web Development (with Una Kravets)](https://www.youtube.com/watch?v=ZuorSGOwpKk)\n- [2025-09-10 — 100+ CSS Features from the past ~5 years](https://nerdy.dev/cascading-secret-sauce)\n- [2025-09-04 — The Fundamentals of CSS Alignment](https://css-tip.com/explore/alignment/)\n- [2025-08-14 — Web UI: I/O 2025 Recap — The Future is Declarative](https://developer.chrome.com/blog/new-in-web-ui-io-2025-recap)\n- [2025-07-24 — It’s time for modern CSS to kill the SPA](https://www.jonoalderson.com/conjecture/its-time-for-modern-css-to-kill-the-spa/)\n- [2025-05-23 — What's new in web UI — GoogleIO 2025](https://io.google/2025/explore/pa-keynote-15)\n- [2025-05-12 — Just fucking use HTML](https://app.daily.dev/posts/nfbblnxfs)\n- [2025-03-19 — Minding the gaps: A new way to draw separators in CSS](https://blogs.windows.com/msedgedev/2025/03/19/minding-the-gaps-a-new-way-to-draw-separators-in-css/)\n- [2025-01-21 — attr() is getting an upgrade](https://una.im/advanced-attr/)\n- [2024-12-21 — Re-imagine the web](https://www.youtube.com/watch?v=LjkraMIWPEY\u0026list=PLNYkxOF6rcIA7z8m5u91ekf81ZXDjTMIZ\u0026index=4)\n- [2024-08-08 — Transition to `height: auto` \u0026 `display: none` Using Pure CSS](https://blog.css-weekly.com/transition-to-height-auto-display-none-using-pure-css)\n- [2024-12-19 — CSS box-decoration-break](https://12daysofweb.dev/2024/css-box-decoration-break/)\n- [2024-12-31 — New Front-End Features In 2025](https://www.smashingmagazine.com/2024/12/new-front-end-features-for-designers-in-2025/)\n- [2024-12-31 — CSS Wrapped 2024](https://chrome.dev/css-wrapped-2024/)\n- [2024-05-16 — The latest in Web UI (Google I/O ‘24)](https://www.youtube.com/watch?v=_-6LgEjEyzE)\n- [2024-04-15 — Better, Faster, Stronger Web UI](https://una.github.io/better-faster-stronger-web-ui/) by Una Kravets\n- [2024-04-04 — Modern CSS patterns in Campfire](https://dev.37signals.com/modern-css-patterns-and-techniques-in-campfire/)\n- [2023-12-31 — CSS Wrapped 2023](https://developer.chrome.com/blog/css-wrapped-2023)\n\n\n### HTML over the wire (instead of JSON)\n\n- [The AHA Stack](https://ahastack.dev/)\n- [htmx](https://htmx.org/)\n- [Livewire](https://livewire.laravel.com/)\n- [Hotwire](https://hotwired.dev/)\n- [Alpine](https://github.com/alpinejs/alpine)\n\n## CSS-first components frameworks\n\n- [Kelp](https://kelpui.com/)\n- [Winduum](https://winduum.dev/)\n- [Nue](https://nuejs.org/blog/standards-first-web-framework/)\n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/zedix%2Fawesome-html-css/projects"}