
Discover how the critical rendering path turns HTML, CSS, and JavaScript into a live page, and why CSS often blocks rendering. Optimize CSS and critical resources for faster load times.
Equip yourself with basic web skills and solid CSS knowledge; this CSS-focused course teaches the core rendering process of HTML and CSS to optimize web performance for non-beginners.
Explore the browser rendering pipeline from HTML and CSS to the render tree, layout, paint, and compositing layers, and learn how JavaScript affects rendering performance for optimization.
Explore how browsers parse HTML and CSS to build the render tree, including conversion, tokenizing, lexing, DOM creation, CSS parsing, selector matching, and rendering only visible elements.
Explore style calculation and render path on the main thread, from parsing HTML and CSS to building the render tree and layout, and observe how large stylesheets slow rendering.
Explore how the layout phase computes element geometry from the render tree, calculating width, height, and x/y positions while converting relative units to pixels, forming the box model.
Explore how the browser converts render tree elements into pixels through painting, drawing divs and images, and using the paint profiler to inspect the painted area's location and dimensions.
See how the browser uses layers to paint page elements, such as the root document. The update layer tree analyzes element styles to determine how many layers are needed.
Explore how the browser paints and composites two layers into a final frame, inspect layer details in dev tools, and promote elements to layers to boost runtime performance.
Explore how the browser rendering pipeline builds the DOM and CSSOM, creates a render tree, runs layout, paint, and compositing, and how to boost performance.
Discover how the browser renders pages from HTML, CSS and JS through the critical rendering path, and learn CSS-focused techniques to speed up rendering and sustain 60 fps.
Understand how frame rendering affects web performance and why every frame matters for 60 fps. Use the FPS chart to identify idle frames and CSS or animation bottlenecks.
Enhance performance by reducing style calculations; fewer styles and modular CSS prevent overrides and specificity wars, while simple selectors speed up browser matching.
Analyze a demo page with the profiler to reveal how frequent style recalculations, layout, and paints harm frame rate, as simple DOM changes prevent reaching 60 fps on slower devices.
Learn to detect and reduce painting to boost web performance with Chrome DevTools paint flashing. Identify repaint hotspots and read the paint count to optimize the sidebar layer.
Analyze how css properties impact frame rate; switch from left/width to transform for smooth 60fps animations, and verify with paint flashing and layer painting insights for optimization.
Learn how different CSS properties affect rendering, why transform gives smoother animation than width or left, and how browser layers can avoid repainting to reach 60 fps.
Promote elements to their own layers using the will-change property (and translateZ for older browsers) to fix paint issues, then profile to confirm reduced layout and paint.
Profile the page to decide when to promote to layers, avoiding too many layers to balance paint time and compositing costs.
Explore how older browser versions affect painting and layer creation, and learn when promoting elements to a layer and choosing transforms over left or width optimizes the critical rendering path.
Compare how CSS properties impact rendering, and why transform is the most efficient animation. Profile pages to compare left, width, and paint-driven properties for layout, repaint, and compositing.
Compare CSS and JavaScript animations on the critical rendering path, noting which properties trigger layout or paint, and use requestAnimationFrame at the start of each frame, avoiding setTimeout or setInterval.
Understand how CSS properties affect the critical rendering path and the implications of animating each property. Promote elements to a layer only when necessary, and always profile before doing so.
Minimize critical resources and bytes to speed the initial render and reduce download time, so AliExpress-like performance gains show important content within 1-2 seconds.
Learn how parser blocking JavaScript and render blocking CSS slow page rendering. Use async scripts and place script tags near the bottom to accelerate the critical rendering path.
Understand why css is render blocking and how the browser constructs the render tree only after loading the full cssom, preventing early paint on the critical path.
optimize web performance by preventing render-blocking CSS, linking CSS to HTML for parallel downloads, avoiding CSS imports inside CSS, and achieving a faster waterfall in the network.
Learn to reduce render blocking css by splitting styles into multiple files and applying media queries so only needed css blocks render, improving parallel downloads and reducing critical bytes.
Identify and remove unused CSS to shrink critical bytes and speed up rendering, using browser coverage tools to detect unused styles, and import only necessary library styles to avoid render-blocking.
Avoid placing base64-encoded SVG icons in a single CSS file, as it increases the stylesheet size and render-blocking behavior. Prefer font icons or embedded SVGs instead of base64 encoding.
Minification removes whitespace and comments from css and assets, using tools like gulp, grunt, or webpack to shrink files; gzip compression then speeds loads on the rendering path.
Explore how CSS acts as a blocking resource, delaying rendering until styles load, and learn to reduce render-blocking files and critical bytes to optimize the rendering path.
Performance is a very important aspect of every web application.
Web page should be loaded as quickly as possible and the animation should flow smoothly.
People are very sensitive to any kind of motion. For any kind of visual change on the screen, like scrolling, hover effect, opening the sidebar etc., the browser is going to render a new frame onto the screen. When rendering of the frame takes longer, the frame rate drops, and it negatively impacts the user experience.
Low frame rate will create a poor user experience. For this to happen, there doesn’t need to be some complex animation, it can happen with just a regular page scrolling!
I am pretty sure that you already had experience with websites that have a low frame rate, which causes that “laggy” animation? You click on something, open the sidebar and the whole page is lagging. Or even worse, you might have noticed that you have a laggy experience when scrolling the web page. Scrolling doesn't seem like something you had to think about from the performance perspective, but you should. Therefore, in this course we will be talking about fixing the performance issues and so, you might expect that this course is about JavaScript…but surprisingly – it’s not. This course is about CSS. A lot of developers think that as long as JavaScript runs well, there's nothing else left to do for the performance optimization. JavaScript has a great impact on the performance of the website, however CSS is unjustly neglectred in this area. In many situations CSS might be the only problem.
There’s another very important impact that CSS has on the webpage.
CSS is render blocking (by default). The browser will not begin to render the page until all CSS has been downloaded. Any delays on the Critical Rendering Path will leave users looking at a blank screen. CSS is truly critical if you want to have a fast loading page. Sometimes, just to parse CSS file it takes more than 500ms. Just to parse, without network – just a single CSS loaded from a hard drive will cause users to see only a blank screen until the parsing process is finished.
Optimizing the performance your website may also have an impact on the google search result ranking algorithm.
In this course we will show you CSS in a new light.