惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Full Disclosure
WordPress大学
WordPress大学
小众软件
小众软件
Cloudbric
Cloudbric
AWS News Blog
AWS News Blog
腾讯CDC
量子位
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Vulnerabilities – Threatpost
Scott Helme
Scott Helme
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
C
CXSECURITY Database RSS Feed - CXSecurity.com
The Hacker News
The Hacker News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
Jina AI
Jina AI
Attack and Defense Labs
Attack and Defense Labs
S
SegmentFault 最新的问题
Simon Willison's Weblog
Simon Willison's Weblog
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
T
Tailwind CSS Blog
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
Google Online Security Blog
Google Online Security Blog
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
罗磊的独立博客
L
LINUX DO - 最新话题
博客园 - Franky
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
The Last Watchdog
The Last Watchdog
J
Java Code Geeks
AI
AI
C
Cisco Blogs
酷 壳 – CoolShell
酷 壳 – CoolShell
C
Cyber Attacks, Cyber Crime and Cyber Security
Cisco Talos Blog
Cisco Talos Blog
博客园 - 三生石上(FineUI控件)
雷峰网
雷峰网
Help Net Security
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
云风的 BLOG
云风的 BLOG
I
Intezer
S
Securelist

Stefan Judis Web Development

Web Weekly #193 Web Weekly #192 Web Weekly #191 Web Weekly #190 Web Weekly #189 Web Weekly #188 Intl can localize units, too! The scope of type guards and assertion functions Web Weekly #187 Web Weekly #186 Web Weekly #185 New lines are removed from WHATWG URLs Nobody owes you anything How to scale elements and their layout with CSS "zoom" Notes on relying on the ARIA Authoring Practices Guide Web Weekly #183 Web Weekly #182 How to style the found search / "find in page" substrings Web Weekly #181 Web Weekly #180 ARIA roles can remove their children’s semantics (#tilPost) Clean up your Mac with open source The Trust Equation (#note) Firefox DevTools hides unreferenced CSS variables
Web Weekly #184
2026-02-24 · via Stefan Judis Web Development

Guten Tag! Guten Tag! 👋 

Have you ever struggled with lazy loading videos? Or have you used CSS zoom before? And do you know what Map.getOrInsertComputed does?

Turn on the Web Weekly tune and find some answers below. Enjoy!

André listens to "Ordinary" by Alex Warren and says:

This is genuinely one of the most beautiful songs I've ever listened to. It landed instantly on my short-list playlist of personal 'masterpieces' — the kind of songs that feel timeless to me, alongside classics like 'The Sound of Silence'. It's emotionally honest, restrained, and quietly powerful in a way that really stays with you.

Do you want to share your favorite song with the Web Weekly community? Hit reply; there are seven more songs left in the queue.


This Web Weekly turned out very beefy already, so I'll keep the intro short. I discovered modern.css and it's outstanding.

Stop writing CSS like it's 2015

The site lists old practices next to their modern counterparts. I'm sure you'll learn some new tricks by simply browsing around. Highly recommended!


If you enjoy Web Weekly, share it with your friends and family.

A quick "repost" really helps this indie newsletter out. Thank you! ❤️

No code 

New on the blog 

Web Weekly Housekeeping 

Since I doxed my inbox two weeks ago asking for more replies, I've been having many nice email conversations. And because I enjoy this, let's keep the housekeeping going for a bit longer.

Question this week: many people told me that Web Weekly is a bit too long at times. I can totally relate to this. And frankly, writing Web Weekly is a ton of work.

So, what would you cut? I'm torn because I actually like it as is. Reply and let me know!

Oh and a quick reminder: Web Weekly is open for sponsorships. If you want to reach 6.5k developers, you know what to do!

An in-depth guide to customizing list styles 

@counter-style --fleurons {   system: cyclic;   symbols: ❦ ✾ ✤ ❈ ✺ ❥;   suffix: "";   speak-as: bullets; }

If you want to spice up your list styling going beyond some bullets or numbers, Richard dropped a massive article explaining ::marker, @counter-style and symbols(). My highlight: I had forgotten that list-style-position is a thing...

List with style

TIL — CSS zoom 

Example showing how `zoom` affects a component's layout.

I've seen the zoom property before but I didn't realize that it can actually be pretty dang useful. If you want to learn more about the difference between zoom and scale, check out this demo on the blog.

Zoom!

The web breaks free from rectangles 

Example showing elements that don't have a rectangular outline when being focused.

If you had told me that one day I'd be excited about a property called border-shape, I wouldn't have believed you. And yet, here we are. Una shared the new CSS property coming to Chrome that allows you to actually "shape" elements.

Unlike clip-path, which simply masks an element, border-shape actually redefines the "box" itself. When you apply a shape to a border, the background, the border-image, focus outline, and the box-shadow all follow that new geometry.

Shape the web

Safer JS error checking 

const iframe = document.createElement('iframe'); document.body.appendChild(iframe);  const err = new iframe.contentWindow.Error('Oops!'); err instanceof Error; // false

Short and sweet: Matt explains why Error.isError is the way to go for error checking.

Check the error

The wonderful weird web – Kaomoji Cool Club 

An emoji consisting of parentheses and other Unicode characters

Did you know that these "emojis" are called Kaomoji? "Kaomoji" is a mix of the Japanese words "kao" 顔 (face) and "moji" 文字(character). Today I learned. And if you want to snatch some of the funky faces to look cool, that's what the Kaomoji Cool Club is about!

Express yourself with Unicode

Lazy loaded videos are coming to the web 

<video    loading="lazy"    autoplay playsinline muted controls   src="path/to/sloth.webm"    poster="path/to/sloth.jpg"></video>

Scott and his team at Squarespace are working on bringing loading="lazy" to video and audio elements, and it's wild that we didn't have this in 2026, isn't it?

Defer the heavy load

Side note: Scott was also behind pushing browser vendors to add responsive video support, and I honestly think that his "little side projects" are very inspiring.

Are image sprites still a thing? 

Visualization of a CSS sprite showing all the different frames.

Josh got into the topic of image sprites which, I must admit, I haven't used in at least a decade. But because Josh's posts are always so much fun to read and he explains object-fit, object-position and the animation step() function, it's definitely worth a read!

Remember sprites

Yet another list of web dev stuff 

Can we — A collection of websites focused on browser usage and features.

You probably know about caniuse.com. But do you know about caniemail.com? Or canidev.tools, whocanuse.com and cssdb.org?

I love a good list, and canwe.dev lists all these utility webdev sites.

Get some resources

New in Chrome DevTools — Render blocking 

Chrome DevTools with a highlighted "Render Blocking" column

If you care about web performance, you probably check for render-blocking resources. Chrome supports a handy JS API to discover all these offenders.

And there's now a new column in the network panel giving you this information.

Random MDN – text-box-trim 

Demo of text-box-trim showing how the bounding box of text can be controlled.

From the unlimited MDN knowledge archive...

Unfortunately, text-box-trim doesn't work in Firefox yet, but man, I can't wait for this to work everywhere because it will make vertical alignment so much easier!

Align

TIL recap – text-transform can affect screen readers 

VoiceOver pronouncing an "add" button with text-transform uppercase as ADD (each letter spelled out).

Did you know that text-transform: uppercase can affect how screen readers read out the content? Well, now you do!

Be aware

New on the baseline — new map methods 

const map = new Map(\[\["bar", "foo"\]\]); const defaultCreator = (key) => `default for ${key}`; console.log(map.getOrInsertComputed("baz", defaultCreator)); // Expected output: "default for baz"

JavaScript maps got two new methods to access entries while providing fallback values: getOrInsert and getOrInsertComputed. The method names are a bit too wordy for my taste, but I dig that getOrInsertComputed allows you to evaluate the fallback lazily.

Three valuable projects to have a look at 

A new Tiny Helper 

SVG Studio Logo.svg

If you're looking for a quick way to update and tweak SVG files in code, svg.studio will help you out!

Tweak all the SVGs

Thought of the week 

Nolan shared his thoughts on how AI might be changing programming, and of course, I can relate. I love coding. I love the puzzling part and am excited about learning things. But will all these things still matter? We'll find out soon enough.

My immediate fear isn't that I'll be out of a job. My fear is that I'll lose the part of my job that I love the most.

Did you learn something from this issue? 

❤️ If so, join 37 other Web Weekly supporters and give back with a small monthly donation on Patreon or GitHub Sponsors.

This is all, friends! 

Loved this email? Hated this email? I want to hear about it!

If you think something needs improvement or something sparked some joy, reply to this email because I want to know more!


And with that, take care of yourself - mentally, physically, and emotionally.

I'll see you next week! 👋

Join 6.5k+ developers and