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 also heard of this referred to as unstyled content.
Now, 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 are 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 browsers' 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 is even a CSS technique designed specifically to counter this, called a CSS
Reset, that we will 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 am talking about.
I am going to be using Firefox, but almost all browsers have, to one degree or
another, the amount of control over your content that I am 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 a page to zoom in or zoom out on the
content, or just the text, or even turn the pages styles off completely.
So why do browsers give end users so much control?
Well, 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 colorblindness that makes low-contrast sites hard to read.
By allowing users to overwrite styles, increase the size of 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 it first, but on the web
it's the content that really matters, not so much the design.
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 or making sure that you are overriding defaults styles
correctly and making sure your accounting for your users' needs are very
important aspects of web design, and incredibly important considerations when
planning and writing your CSS.