Loading styles on the web is something that looks trivial at first. You just add a<link rel=stylesheet> to your page (or <style> for inline styles) and you're done. But if you wanted to load CSS fast, all of the sudden you run into trouble... Assuming you have a traditional web app (or what the kids call Multi-Page App/MPA), you now need to make tradeoffs:
I'll admit, when container queries first shipped back in 2022, I didn't really pay attention. I mean, why container size queries when we already have media queries? Why container style queries when custom properties inherit anyway (they don't work with standard properties... yet)? Their use cases seemed like edge cases to me, enabling us to do things that we could already do but in a different way.
Happy Monday 👋 and welcome to another special edition of Tech Talks Weekly! This edition includes the most-watched talks in the React and Vue ecosystem in 2025 so far. If you're interested in how this list was built, head over the last section. Get ready for a bit of scrolling, but it's worth it! With that said, expect your watchlist to grow!
Google has been saying that no one uses the LLMs.txt file, that Google won't use it, that it can be useless, and you probably should noindex it if you do use it. Well, Google itself uploaded an LLMs.txt file for the Google Search Central portal. The file is over here: developers.google.com/search/docs/llms.txt. This was spotted by Lidia Infante who posted it on Bluesky and asked John Mueller of Google, "Is this an endorsement of llms.txt or are you trolling us, John?"
In any case, you can see the trouble with active scrolling when a "dialog" is open: The problem is that the dialog itself is not a scroll container. If it was, we could slap overscroll-behavior: contain on it and be done with it. Brad demoed his solution that involved a JavaScript-y approach that sets the <body> to fixed positioning when the dialog is in an open state:
The indie web began a few years after the end of GeoCities, which Yahoo shut down in 2009 (at least, in the US - GeoCities Japan managed to hang on until 2019). GeoCities was a free web hosting service that launched in 1994 and once hosted millions of personal HTML websites, from pop culture shrines to teachers' pages for their students (and truly everything in between).
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. ~ CSS overscroll-behavior - which I first covered here in 2017 - allows you to control what a browser should do when reaching the boundary of a scrolling area. For example, if you set it to overscroll-behavior: contain, it will prevent scroll chaining from happening, so that underlying elements don't scroll.
Sometimes I want to set the value of a CSS property to that of a different property, even if I don't know what that value is, and even if it changes later. Unfortunately though, that's not possible (at least, there isn't a CSS function that specifically does that). In my opinion, it'd be super useful to have something like this (for interpolation, maybe you'd throw in there as well): /* Totally hypothetical */ button { border-radius: compute(height, self); border-radius: compute(height, inherit); border-radius: compute(height, #this); }
Write efficient, quality, tested code using industry best practices Contribute to code quality and maintainability by writing unit and integration tests Leverage modern architectural patterns and third-party libraries to deliver new features Provide high-quality code reviews, enforce code styles and best practices, and ensure scalable architectural designs Contribute to technical roadmaps, design, and implementation within a team of high-performing engineers Partner with engineering, product management, and design teams to develop and refine new features
Response streaming is one of the simplest but most effective ways to improve the user experience in AI-powered applications. Instead of making users wait for a lengthy and fully generated response, you can stream the output token by token and display it as it's being produced. This is the same effect you see when using ChatGPT or Gemini, where the text appears gradually, almost as if the AI is typing in real time.
Black Friday is the best time of the year to grab WordPress hosting at a lower cost. Hosting providers drop their prices sharply and often include extra perks like free site migrations, premium themes, or more storage space. For anyone running a WordPress site, these deals can make a big difference, especially if you've been waiting to switch to a faster or more reliable host without paying full price.
Are you getting your website up for success? Every business owner worth their salt knows the importance of a good website for their business, even if it's just a static one-page design, leading people to contact you directly and giving you a digital home to reinforce your visibility. But even with that one page, is it really enough, and have you paid enough attention to the important foundations of a good website?
Rolldown, a new JavaScript/TypeScript bundler written in Rust, has emerged from VoidZero, the maintainers of projects such as Vite. Rolldown offers a high performance alternative to conventional bundlers with full compatibility for the Rollup plugin ecosystem. Designed as the next logical step for modern build workflows, Rolldown promises significant build time improvements while retaining familiar plugin interfaces. Rolldown was designed primarily to be the underlying bundler within Vite to replace the existing Vite dependencies of esbuild and Rollup.
The range syntax isn't a new thing. We're already able to use it with media queries to query viewport dimensions and resolutions, as well as container size queries to query container dimensions. Being able to use it with container style queries - which we can do starting with Chrome 142 - means that we can compare literal numeric values as well as numeric values tokenized by custom properties or the function.
A single <input> element: That's where the OTP magic happens! Let's break down each of its attributes: Even though our passcode will consist of numbers, it isn't actually a number: A value of 000004 should not be the considered the same as a value of 4. For that reason, we follow the HTML spec and set type="text". inputmode="numeric" enables a numeric virtual keyboard on touch devices.
BarnamenevisEditor is a lightweight, fully-featured rich text editor built on top of the latest jQuery library and Bootstrap 5 framework. It transforms a standard textarea into a WYSIWYG editor that handles bidirectional text, custom fonts, and modern dark mode interfaces out of the box. Features: Text Formatting: Bold, italic, underline, strikethrough, font family selection, font size control, text color, background color, and clear formatting tools.
On February 10, the plugins will gracefully degrade by rendering as a 0x0 pixel (invisible element) rather than causing errors or breaking your website functionality. This change is intended to only remove the plugin content from your site, and should not otherwise impact your website's functionality." Meta says that the functions will stop rendering on websites after February 10, 2026.
Remix 3 is here, and it feels like a framework teleported from an alternate timeline - one where React Hooks never happened. It's a complete rewrite of the Remix web framework that abandons React entirely in favor of a simpler, imperative programming model built on web standards. It's not a version bump; it's a ground-up rewrite that swaps React for a fork of Preact.
Using position: sticky; is one of those CSS features that's incredibly useful, seemingly simple, and also, frequently frustrating. The premise is simple: you want to be able to scroll your page's content, but you want something to "stick" at the top (or anywhere). Frequently, this will be some sort of header content that you want to always stay at the top, even as the user scrolls, but it could be any sort of content (and stick edges other than the top, and at any offset).
Since I wrote that explanation, I've designed and implemented new Magnificent 7 animated graphics across my website. They play on the web design pioneer theme, featuring seven magnificent Old West characters. View this animated SVG on my website. (Large preview) <symbol> and <use> let me define a character design and reuse it across multiple SVGs and pages. First, I created my characters and put each into a <symbol> inside a hidden library SVG: