B

Bram.us

A rather geeky/technical weblog, est. 2001, by Bramus

Using 100vw is now scrollbar-aware (in Chrome 145+, under the right conditions)

From Chrome 145 onwards, 100vw will automatically subtract the size of the scrollbar from it if you have forced the html element to always show a scrollbar (using overflow{-y}: scroll) or have it reserve space for a scrollbar (using scrollbar-gutter: stable).

2026/1/15
articleCard.readMore

How to Find the public WebKit Bug from the Apple-internal rdar:// Bug ID

If you read the Safari release notes – like the Safari 26.2 release notes – you see a lot of trailing “(12345678)”-mentions in the list of fixed bugs. These numbers are Apple-internal bug IDs, as used within Apple’s internal bug tracker (fka?) named “Radar”. These numbers are not linked to anything because Radar is Apple-internal, so to external people these numbers are practically useless … or are they?

2025/12/13
articleCard.readMore

CSS Scroll-Triggered Animations are coming to Chrome!

We have Scroll-Driven Animations. Now say hi to Scroll-Triggered Animations.

2025/12/12
articleCard.readMore

CSS Wrapped 2025

Once again, it has been an AMAZING year for CSS and UI. To celebrate this, we – the Chrome CSS/UI DevRel Team – created another edition of CSS Wrapped!

2025/12/9
articleCard.readMore

The Google Antigravity website, rebuilt with Modern CSS

As an experiment to see if Modern CSS is up to the task, I recreated the Google Antigravity website with Modern CSS.

2025/12/3
articleCard.readMore

Anchor Positioning and the Inset-Modified Containing Block (IMCB)

If you kinda understand Anchor Positioning, but it still surprises you from time to time, then most likely this is the missing piece of information: the Inset-Modified Containing Block (or IMCB for short).

2025/12/2
articleCard.readMore

Use overscroll-behavior: contain to prevent a page from scrolling while a <​dialog> is open

Chrome 144 features a small change to overscroll-behavior: it now also works on non-scrollable scroll containers. While this change might seem trivial, it fixes an issue developers have been dealing with for ages: prevent a page from scrolling while a (modal) <dialog> is open.

2025/11/26
articleCard.readMore

Señors @ Scale: Modern CSS at Scale with Bramus

A while ago I joined Dan Neciu – whom I met at Frontmania in 2023 – on his “Señors @ Scale” podcast. We talked about all things CSS.

2025/11/25
articleCard.readMore

Anchor Positioning is transform-aware in Chrome 144+

Starting with Chrome 144, Anchor Positioning is going to be transform-aware. From then on, anchoring will resolve against the bounding box of the transformed ancho

2025/11/21
articleCard.readMore

Faking Two-Phase View Transitions with the Navigation API’s precommitHandler

By using two sequential View Transitions when intercepting links with the Navigation API – one in the precommitHandler and one in the regular handler – you can fake a Two-Phase View Transition today!

2025/11/18
articleCard.readMore