All blogs / Frontend / CSS / browsers
Jake Archibald's blog
Frontend / CSS / browsersJavaScript / TypeScriptWeb development
- Posts
- 94 from 3 Jul 2013 to 15 Oct 2026
- Posting
- now and then (4 in the last year)
- Kind
- personal blog
- Feed
- https://jakearchibald.com/posts.rss
2026 4
2025 7
- Importing vs fetching JSON
- The present and potential future of progressive image rendering
- Fetch streams are great, but not for measuring upload/download progress
- Making XML human-readable without XSLT
- Give footnotes the boot
- Animating zooming using CSS: transform order is important… sometimes
- Firefox + custom elements + iframes bug
2024 5
2023 2
2022 3
2021 17
- Cross-fading any two DOM elements is currently impossible
- How to win at CORS
- Writing great alt text: Emotion matters
- `export default thing` is different to `export { thing as default }`
- Encoding data for POST requests
- In JS functions, the 'last' return wins
- Halve the size of images by optimising for high density displays
- Performance-testing the Google I/O site
- Who has the fastest F1 website in 2021? Part 8
- Who has the fastest F1 website in 2021? Part 7
- Who has the fastest F1 website in 2021? Part 6
- Who has the fastest F1 website in 2021? Part 5
- Who has the fastest F1 website in 2021? Part 4
- Who has the fastest F1 website in 2021? Part 3
- Who has the fastest F1 website in 2021? Part 2
- Who has the fastest F1 website in 2021? Part 1
- Don't use functions as callbacks unless they're designed for it
2020 5
2019 4
2018 3
2017 10
- Arrays, symbols, and realms
- await vs return vs return await
- Netflix functions without client-side React, and it's a good thing
- Lazy async SVG rasterisation
- HTTP/2 push is tougher than I thought
- ECMAScript modules in browsers
- Combining fonts
- Async iterators and generators
- Do we need a new heading element? We don't know
- Events and disabled form fields
2016 11
- Fun hacks for faster content
- Sounds fun
- SVG & media queries
- Service worker meeting notes
- The performance benefits of rel=noopener
- Caching best practices & max-age gotchas
- Streaming template literals
- Control CSS loading with custom properties
- The future of loading CSS
- Service workers and base URIs
- 2016 - the year of web streams
2015 4
2014 13
- The offline cookbook
- Iterators gonna iterate
- the past
- Using ServiceWorker in Chrome today
- Minimising font downloads
- pretty well
- brief overview
- Improving the URL bar
- visibility: visible undoes visibility: hidden
- ES7 async functions
- Promises: resolve is not the opposite of reject
- The browser cache is Vary broken
- Don't use flexbox for overall page layout