The New Defaults of the Modern Web

This ad is not shown to multipass and full ticket holders
React Summit US
React Summit US 2025
November 18 - 21, 2025
New York, US & Online
The biggest React conference in the US
Learn More
In partnership with Focus Reactive
Upcoming event
React Summit US 2025
React Summit US 2025
November 18 - 21, 2025. New York, US & Online
Learn more
Bookmark
Rate this content

More than a decade ago, kicking off any web project required a huge investment to cover basic capabilities like multi-language support or creative details like animations. Your project will always result in unmaintainable stylesheets and complex JavaScript code just to get to the finish line. Today, the web has become a more mature canvas. With real projects as examples, let me show how the platform has moved the start line for us developers to build innovative and accessible websites.

This talk has been presented at JSNation 2025, check out the latest edition of this JavaScript Conference.

FAQ

The speaker discusses improvements in CSS and web APIs, such as dynamic viewport height units, scroll behavior in CSS, scroll snap, intersection observer API, and the web animation API.

The speaker used GreenSock with custom promise wrappers for animations, but now uses the web animation API, which provides built-in promise-based animations.

The Intersection Observer API is used to detect when a panel is in view, triggering animations and improving performance by unobserving targets not in view.

The View Transition API allows for smooth page transitions without the need for additional frameworks, and is currently available on Chrome and Chromium.

The speaker's first major project was the Microsoft Windows 8 launch landing page.

The speaker faced challenges with mobile website design due to browser UI elements affecting viewport height, leading to issues with full height panels and content visibility.

The code for the speaker's project is available on GitHub, accessible through the QR code provided.

The speaker's retrospective focuses on their career transition from working on marketing agency websites to documentation and development for Storyblok.

Initially, scroll snapping was achieved through a hack involving scroll event detection and animation. Now, it can be done using the scroll snap CSS API, which simplifies the process with just two lines of code.

Jeremias Menichelli
Jeremias Menichelli
10 min
12 Jun, 2025

Comments

Sign in or register to post your comment.
Video Summary and Transcription
The speaker reflects on past experiences developing various websites, highlighting challenges faced in achieving visually unique sites with similar functionalities. They discuss hacks used in web development, the evolution of CSS and web APIs, and express a desire for modern web defaults. Challenges with mobile viewport height on touch devices are described, along with the evolution of hacks into simpler CSS solutions. The evolution of scroll behavior, scroll snapping challenges, and scrolling interception techniques are also discussed. The text covers animation challenges, transitioning to promise-based animations, and the use of frameworks for animations and view transitions in web development.

1. Retrospective on Web Development Challenges

Short description:

The speaker reflects on past experiences developing various websites, including well-known projects like the Microsoft Windows 8 launch landing page. They discuss the challenges of creating visually unique sites with similar functionalities and the use of hacks to achieve desired outcomes. The speaker highlights the evolution of CSS and web APIs over the years and expresses a desire for modern web defaults to improve site development.

I will start with a really short and fast retrospective on my career because right now I'm doing documentation and dev stuff for Storyblok. But more than a decade ago, I was working for marketing agencies on a lot of different types of websites. Some of them were landing pages. Actually my first project was the Microsoft Windows 8 launch landing page, and that's how you can tell that I'm really old.

Also brand guidelines, promotional and movie sites. Some of these movies were really well known, I can't mention right now, but after the talk you can come and ask me. And probably my favorite ones were social initiative programs. These sites were super different visually and on design, but on the variables they were actually quite similar. We were doing the same thing over and over again.

These experiences were really scrolling immersive sites. You would get full height panels. When you scroll, you would get these indicators because you could never see below the fold that there was more content to be explored. So we always had these kind of helping CTAs. We would have scroll snapping, so you would never see this every time you tried to scroll. We would stop that, hijack, and show you the next panel. And then when the panel became visible, we would run some animation, even some videos and WebGL scenes. This was not the only thing that these sites had in common.

And they were also full of hacks. We were actually like twisting the arm of all the browsers. We were trying to do stuff that wasn't actually possible with the native web. And the code was really hard to maintain because of these hacks were accumulating over and over again. We were adding a bunch of code. Remember these sites had like really heavy assets, images, videos. So on top of that, a lot of code. Super. And it took a lot on a mobile network to actually see the sites. And even after you loaded everything, the performance was actually quite bad because it was full of hacks. And I kept reflecting a lot how much CSS on the web APIs have improved on the past five years maybe. And how much I would have loved to have like the new CSS, but like 10 years ago. So this talk is about this feeling of the new defaults of the modern web that would allow me to build these sites in a better way.

2. Mobile Viewport Height Challenges

Short description:

The speaker discusses challenges faced in achieving full height panels on mobile devices due to browser UI elements impacting viewport height. A hack involving recalculating pane heights on touch start is described. A one-line CSS solution using dynamic viewport height is highlighted.

Super fast because this is a lightning talk and I don't have a lot of time. That's my name. That's what I do. That's where I live. That's my face. And that's me on BlueSky and that's my blog.

Let's cut to the chase. First problem. We wanted full height panels on each section. In desktop, of course, it's like super easy. But the problem were mobile, actually. Mobile, you have this kind of like browser UI elements that would get into the way that would modify the height of the viewport.

And sometimes these UI elements would cover important information. Some of them were like this CTAs to scroll. And so this was not a detail that we could overlook. So we found out that our users on mobile will like rest their thumb on the screen while waiting. I think that everybody does that.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Build a Design System with React and Tailwind CSS
React Summit 2022React Summit 2022
27 min
Build a Design System with React and Tailwind CSS
Top Content
This Talk discusses design systems and how to build one using React and Tailwind CSS. Tailwind CSS provides utility classes for building complex layouts without writing CSS rules. Custom colors can be added to the Tailwind CSS config file, and font styles and text sizes can be customized. The entire Tailwind CSS configuration can be customized to meet specific requirements. Base styles can be added to the config file itself using a plugin. Reusable components can be created with Tailwind CSS, allowing for easy customization of size and color.
Rethinking CSS - Introducing Stylex
React Finland 2021React Finland 2021
25 min
Rethinking CSS - Introducing Stylex
Top Content
CSS + superpowers - bloat. How Stylex creates a zero-cost abstraction that gives CSS superpowers.
How to achieve layout composition in React
React Summit 2022React Summit 2022
8 min
How to achieve layout composition in React
This talk discusses achieving layout composition in React using Bedrock Layout Primitives. By componentizing CSS layout, complex layouts can be achieved and reused across different components. The talk also covers the challenges of achieving complex layouts, such as card lineups, and provides solutions for maintaining alignment and responsiveness. The BedrockLayout primitive library simplifies web layouts and offers flexibility in composing layouts.
Type-safe Styling for React Component Packages: Vanilla Extract CSS
React Advanced 2023React Advanced 2023
19 min
Type-safe Styling for React Component Packages: Vanilla Extract CSS
Watch video: Type-safe Styling for React Component Packages: Vanilla Extract CSS
Today's Talk introduces Vanilla Extract CSS, a type-safe styling method for React applications. It combines the benefits of scoped styling, zero runtime overhead, and a great developer experience. Vanilla Extract generates a static CSS file at build time, resulting in better performance. It is framework agnostic and offers a powerful toolkit, including Sprinkles for utility classes and CSS utils for calculations. With type safety and the ability to define themes and variants, Vanilla Extract makes it easy to create efficient, scalable, and maintainable design system component packages.
Moving on From Runtime Css-In-Js at Scale
React Summit 2023React Summit 2023
29 min
Moving on From Runtime Css-In-Js at Scale
Watch video: Moving on From Runtime Css-In-Js at Scale
This Talk explores the evolution of styling architecture, dynamic theming with style components, and optimizing style updates. It discusses the challenges of CSS migration and the choice between JavaScript and CSS native tooling. The Talk also touches on CSS tools and libraries, including Tailwind CSS and CSS in JS major libraries like MUI. The importance of picking a stack based on team members' strengths and the use of namespacing CSS for conflict-free dependency trees are highlighted.
Building Pixel-Perfect UI Components Using CSS Variables
React Summit 2023React Summit 2023
9 min
Building Pixel-Perfect UI Components Using CSS Variables
Watch video: Building Pixel-Perfect UI Components Using CSS Variables
CSS variables and their possibilities for UI developers, MUI's history and understanding of developer needs, Joy UI's focus on developer experience and use of CSS variables for consistency and future-proofing, the elimination of manual calculations and JavaScript with CSS variables in JoyUI, and the availability of playgrounds and a stable release for exploration.