Bramus

Bramus

@bram.us

Chrome DevRel at Google (CSS + Web UI + DevTools). CSSWG Member. PADI Divemaster. Blogs at bram.us. Lives in Belgium.

10.3K followers433 following2.3K posts

Pinned

Remember Internet Explorer’s “Page Transitions”? Well, they’re back, thanks to the View Transition API! → Blog post: brm.us/page-transit... → Demo site: page-transitions.style The project leverages IE’s meta tags so browser support is not limited to Modern Browsers™ but also includes IE 5.5–8.0 😆

@jensimmons.bsky.social RE `viewport-fit=cover` on iPhone Duo: I believe that by default Safari should try to honor the request from the author. Safari could always do a quick prescan of the CSS to see if the safe-area-insets left/right are used or not, and act based on that.

Perhaps even a banner or an extra button to toggle the on-the-fly adjustment (if triggered by Safari) could help. I'm sure there are plenty more ideas on how to deal with it 🙂

Note that because this is a reimplementation (it’s not a DOSBox wrapper / emulator / decompiled version / …) there are differences compared to the original 1997 game in certain physics behaviors, animations, etc. The mission engine is accurate though, as that is publicly documented 😊

And yes, I totally asked Gemini to implement most things, referring it to open source reimplementations, public docs and community notes, or by simply telling it how I recall the game from playing it a lot back in the day. Still a lot of things to do (cops!) but it’s already playable. Enjoy!

Bramus reposted

✍️ Just published a new post about my most-anticipated CSS proposals from Interop 2027! If you’re not familiar, the Interop project is a collaboration between browsers to pick shared focus areas. There’s *so much* good stuff this year, it was hard to pick just 10!

joshwcomeau.comThe Future of CSS ✨ • Josh W. ComeauEvery year, browser vendors collaborate via the Interop project to synchronize their efforts on new HTML/CSS/JS features. This year, there’s a ton of super exciting features being considered! In this ...

Bramus reposted

I just shipped CSS Custom Highlight Universal Selector! Coming in Chrome 158. With ::highlight(*), you can write a shared rule that applies to every custom highlight instead of repeating the same styles for each name. See the Blog post: blog.seokho.dev/development/...

blog.seokho.devCustom Highlight Universal Selector ::highlight(*)I recently added a universal selector for CSS custom highlights, ::highlight(*), to the relevant CSS Specifications (the bulk of it is actually in CSS Pseudos not CSS Custom Highlights) and implemente...

Bramus reposted

Ever since we got position: sticky I liked playing around with scroll-based storytelling. Scroll-driven animations unlocked a lot more, but as @utilitybend.com explains, scroll-triggered animations are that last missing piece. Includes great examples of fun things we can do now.

utilitybend.comScroll-triggered animation as the missing piece for scrollytelling on the web | utilitybendAn in-depth look at CSS scroll-triggered animations (animation-trigger), how view ranges and actions work, sibling-index staggering, and progressive enhancement.

Bramus reposted

Things I hope to push forward at TPAC: - Declarative fragment / client side include - declarative skeleton/shell - CSS navigation matching - parser/patch reflection in mutation observers - responsive image improvements - connection allowlists - focusreset - CSS module imports Gonna be interesting!

Bramus reposted

Yesterday, the CSSWG accepted my proposal for mesh gradients and diffusion curve gradients! Want to make gradients like this natively in CSS? Well, we've started the work on it. It's coming! Here's the Explainer: github.com/w3c/csswg-dr...

Bramus reposted

Introducing the Accessible Components Library! Common components with accessibility requirements, test scenarios, and automated tests. • Free to use and adapt • Human-readable tests in Gherkin • Mapped to WCAG 2.2, levels A to AAA Dig in! #Accessibility #OpenSource #WCAG #AccessibleComponents

tetralogical.comIntroducing the Accessible Components Library - TetraLogicalWe've open-sourced our Accessible Components Library, and, as you might expect, this includes the HTML, CSS, and JavaScript code. But, we thought, "Why stop there?" So, we've also published ...

Bramus reposted

The pitch for single page apps was always “it’s faster after the first load”. Google’s Core Web Vitals, used in search ranking, now measure soft navigations. It’s true: LCP drops by about a third. But, I don't think SPAs are ever really worth all the compromises and extra code.

Bramus reposted

I’m looking to connect with university lecturers and staff. We offer student tickets for @ffconf.org, but they’re easy to miss, and I’d love to give the next generation of web developers the chance to attend a great indie event. If anyone can contact please drop me comment here I can follow up.

Bramus reposted

A candidate for Interop 2027: Scroll-Triggered Animations, the missing key to scrollytelling in CSS. I wanted to create demos showing how to wire them up and easily create fun effects (especially with typography). To be complete, I also added syntax info, tips, and tricks. Happy scrolly!

utilitybend.comScroll-triggered animation as the missing piece for scrollytelling on the web | utilitybendAn in-depth look at CSS scroll-triggered animations (animation-trigger), how view ranges and actions work, sibling-index staggering, and progressive enhancement.

Bramus reposted

Bramus reposted

Wrote a thing on why we should have interactive lists on the web: sarahmhigley.com/writing/inte... If anyone has their own interactive list use cases that aren't covered, send them to me! I'm putting together an ARIA spec PR this month.

sarahmhigley.comThe web needs interactive lists | Sarah HigleyA plea to developers: if this gets created, let's not fuck it up. This is a slightly more spec-heavy post than usual, but hopefully still useful.

Yesterday I did some long overdue updates to this project. The caniuse and bcd datasets can now be updated by the app itself. The app also warns when the datasets are quite old. Now also shows baseline status indicators. github.com/bramus/caniu...

github.comRelease 2.0.0 · bramus/caniuse-cliThis version is an entire rewrite of the code, and includes some changes and new features as well: CHANGE: Version matching improvements NEW: Show Baseline info NEW: Allow updating local databases...
Bramus@bram.us

Introducing `@bramus/caniuse-cli`, a command line tool for “Can I Use …” www.bram.us/2024/09/14/i... #css #browsersupport #caniuse

Current status: I hit the couch full speed with my right foot, and now two toes are facing the wrong way. Emergency room here I come … 😫🤦‍♂️

The verdict: a broken middle toe, right where it connects to my foot. Toes are taped together now, and next week a checkup.

Bootstrap 6 alpha 1 got announced today: blog.getbootstrap.com/2026/10/08/b... Great to see how many modern CSS features the project is now leaning into: @property, @layer, @starting-style, oklch(), color-mix(), light-dark(), interpolate-size, :has(), … (Yes, Bootstrap still is a thing)

blog.getbootstrap.comBootstrap 6 AlphaToday we’re releasing the first alpha version of Bootstrap 6, a major overhaul to the project that modernizes and expands one of the most prolific open source…

Bramus reposted

If you can write CSS, you can write GSS { ● } I've been dreaming of this for years: a language to build 3D scenes like you write CSS. Selectors, cascade, :hover, keyframes… compiled to one GPU shader. Meet GSS: GPU Style Sheets. gss-lang.dev #shader #glsl #gss

👀 Ooh, support for `interpolate-size: allow-keywords` and `calc-size()` in Safari Technology Preview 254. These two allow you to do things like animating elements to `height: auto`. Check developer.chrome.com/docs/css-ui/... to get the details.

developer.chrome.comAnimate to height: auto; (and other intrinsic sizing keywords) in CSS  |  CSS and UI  |  Chrome for DevelopersAnimate to and from intrinsic sizing keywords with `interpolate-size` and `calc-size()`

So, today I built `<calc-input>`. It’s a custom input element that accepts mathematical formulas — such as 2 + 3 or (2 + 3) * 4 — and automatically toggles between showing the formula on focus and the calculated result on blur. → brm.us/calc-input

Bramus@bram.us

Oh no. I managed to nerd snipe myself into Yet Another Side Project™ … again. Noooooo. #TooManyIdeas

Oh no. I managed to nerd snipe myself into Yet Another Side Project™ … again. Noooooo. #TooManyIdeas

… and upon publication it turns out the package name and netlify domain are already taken 🫤 So I generated a second side project named `namecheck` that allows me to check whether a name is available or not … and of course the `namecheck` name itself is ALSO already taken 😆

So, the proposals for Interop 2027 got submitted … but of all those proposals, which are the most important ones to you? → You can use this tool built by @webdevs.firefox.com to rank the proposals. (And yes, browser-folks will be looking at the combined results 😉)

Firefox for Web Developers@webdevs.firefox.com

What do you want us to work on in 2027? Here's a web app where you can rank the Interop proposals you care about, giving us data we can use to prioritise feature development. interop-rank.fxdx.dev

“We recommend ranking 15 or fewer” Uhm … /me closes the notification and adds more stuff to the list

Bramus reposted

Remember Internet Explorer’s “Page Transitions”? Well, they’re back, thanks to the View Transition API! → Blog post: brm.us/page-transit... → Demo site: page-transitions.style The project leverages IE’s meta tags so browser support is not limited to Modern Browsers™ but also includes IE 5.5–8.0 😆

If this looks familiar: I first started working on this in 2024 but never got round to finishing the project. bsky.app/profile/bram... Thanks to Gemini, I finally managed to implement the remaining effects 😊

Bramus@bram.us

🔥 Remember Internet Explorer’s Page Transitions? THEY’RE BACK BABY! 👾 Demo: ie-page-transitions.netlify.app ⌨ Repo: github.com/bramus/ie-pa... To configure these, use the meta tags from the olden days + load up the library. Works in IE 5.5–7.0, Chrome 126+, and Safari 18.2 (buggy).

Bramus reposted

We have $100K to give away to open source maintainers! Let us know your suggestions and nominations.