Book Image

Responsive Web Design with HTML5 and CSS - Fourth Edition

By : Ben Frain
3.5 (4)
Book Image

Responsive Web Design with HTML5 and CSS - Fourth Edition

3.5 (4)
By: Ben Frain

Overview of this book

Responsive Web Design with HTML5 and CSS, Fourth Edition, is a fully revamped and extended version of one of the most comprehensive and bestselling books on the latest HTML5 and CSS techniques for responsive web design. It emphasizes pragmatic application, teaching you the approaches needed to build most real-life websites, with downloadable examples in every chapter. Written in the author's friendly and easy-to-follow style, this edition covers all the newest developments and improvements in responsive web design, including approaches for better accessibility, variable fonts and font loading, and the latest color manipulation tools making their way to browsers. You can enjoy coverage of bleeding-edge features such as CSS layers, container queries, nesting, and subgrid. The book concludes by exploring some exclusive tips and approaches for front-end development from the author. By the end of the book, you will not only have a comprehensive understanding of responsive web design and what is possible with the latest HTML5 and CSS, but also the knowledge of how to best implement each technique. Read through as a complete guide or dip in as a reference for each topic-focused chapter.
Table of Contents (21 chapters)
Free Chapter
1
Section I: The Fundamentals of Responsive Web Design
7
Section II: Core Skills for Effective Front-End Web Development
16
Section III: Latest Platform Features and Parting Advice
19
Other Books You May Enjoy
20
Index

Container queries

Media queries operate their queries on the capabilities of the device. Practically, when working with responsive designs, it’s the width of the container we are typically interested in.

However, suppose we are creating a visual component that might be used in a wider container, such as a main content area, but equally might be used in a thinner, sidebar aside area. We tend to work around these scenarios without container queries by using descendant selectors to give some context and make style changes based on the document structure:

.component {
    display: flex;
}
.sidebar .thing {
    flex-direction: column;
}

Then, with this override for when the component is in the sidebar established, we can combine these selectors with media queries as needed. Maybe we need one set of styles when in the .sidebar and the screen is a certain size, and then another set of styles when not in the .sidebar but we are still at that viewport size:

@media ...