Join James Williamson for an in-depth discussion in this video Default browser styles, part of CSS Fundamentals.
- Have you ever opened an HTML file that wasn't controlled by a style sheet? Chances are, if you have, that it looked something like this. Now, I've often heard of this referred to as unstyled content. While it certainly looks unstyled, that's not entirely accurate. Before authors were allowed to control HTML pages through cascading style sheets, browsers had to have some way of displaying HTML content visually. Although the approaches among early browser manufacturers differed, essentially they all developed default style sheets that told the browsers how to display specific elements.
Although there are some differences from one browser to another, in general, all browser default style sheets will render a page similar to what you see here. When you write CSS, one of the things you're actually doing is overriding those default browser styles, and replacing them with how you want the page to look. Remembering that is more important to web designers than you might think. If you forget about the browser's default styles, it's really easy to miss a little bit of spacing on an element, or some text formatting, that makes your design or layout either look a bit off or not work at all.
Then you spend an inordinate amount of time trying to find the error in your styles, rather than accounting for the default margins or styling of a specific element. How do I know that? Well, it's happened to me more than once. There's even a CSS technique designed specifically to counter this called a CSS reset that we'll talk more about later. In addition to dealing with a browser's default styling, you also have to understand one very important factor when writing CSS. The end user can overrule your styles any time they wish.
Now most visual designers cringe when they first hear this, but in reality, there's some pretty smart thinking behind this. First off, let me demonstrate what I'm talking about. I'm going to be using Firefox, but almost all browsers have to one degree or another, the amount of control over your content that I'm going to show here. Note that in the preferences, I can choose the fonts that I want to use for my pages, and what size the text should display. If I go into Advanced, I can even tell the browser to ignore this font that the site wants to use in favor of my own.
As you can see, that makes a huge difference in the design. If that's not enough control, I can tell the page to zoom in, or zoom out, on the content or just the text, or even turn the page's styles off completely. Why do browsers give end users so much control? Mostly the reason is accessibility. Let's face it, not every designer is a good designer. Often, layouts break or don't display correctly. Other users might have disabilities that prevent them from seeing the page properly, or color blindness that makes low contrast sites hard to read.
By allowing users to override styles, increase the size in text, or just turn off style sheets, it's allowing users to access the page content the way that they want to. As a visual designer, that might be a bit hard to take at first, but on the web it's the content that really matters, not so much the design. Hey, as a graphic designer myself, that's hard to say, but remember that the main focus of graphic design is on communicating in ideas and information, so no matter what the context, content does matter.
Staying focused on making sure that you're overriding default styles correctly and making sure you're accounting for your users' needs are very important aspects of web design, and incredibly important considerations when planning and writing your CSS.
CSS Fundamentals covers the basic concepts, terminology, and techniques you need to read and write CSS. It's for people who want a big-picture overview before taking hands-on courses. Author James Williamson explains how CSS affects text, borders, backgrounds, and images; how CSS works with HTML; and how the W3C's evolving CSS specification impacts designers. He also reviews some of the most popular CSS editors and frameworks and lists online tools and resources for further study.
- What is CSS?
- Basic selector types
- Using CSS with HTML
- How browsers render CSS differently
- Exploring CSS specifications
- Checking browser support
- Working with fonts
- Understanding the box model
- Adjusting margins and padding
- Positioning elements
- Basic CSS layout concepts
- Media types and media queries
- Working with CSS frameworks and CSS grids