Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member
One of the most frequent questions I get from my students is, why does my design look this way in browser X while looking another way in browser Y? I mean if the pages are structured the same and they are both using the same CSS, shouldn't they look the same? Well, in a perfect world they would. Unfortunately, the world of web browsers is far from perfect. The reason that browsers render pages differently has everything to do with something we call a rendering engine. Every browser has its own rendering engine that it uses to parse your code and determine how it's supposed to display.
Since most browsers developed independently of each other, there are multiple rendering engines. Each one has slightly different parsers, preferences, and policies that determine how your content is rendered. As a designer, it's important to understand which rendering engines are used for various browsers and how they differ when laying out pages and content. The four most common rendering engines are Trident, Presto, Gecko, and WebKit. Microsoft developed the Trident rendering engine and as such, it's a proprietary engine that's used in a multitude of browsers and web clients.
Internet Explorer and most AOL browsers use Trident. Presto is another proprietary engine, developed by Opera software for their browsers and licensed to other devices. Gecko is an open-source rendering engine, originally developed by Netscape, but released to the Open Source Mozilla project, which then continued development. It powers popular browsers like Firefox and Camino. WebKit is another open-source rendering engine developed by Apple, Google, Nokia, and others.
It drives browsers such as Apple's Safari browser and Google's Chrome. It's worth noting that these rendering engines are still being developed, and older versions of the browsers will have older versions of these rendering engines. That's why designers should test their pages in not just multiple browsers, but multiple versions of the same browser as well. Now thankfully, there aren't as many differences now as there have been in the past. This convergence in browser behavior has been driven in large part by something called web standards.
The movement towards web standards started in the late '90s with organizations such as the Web Standards Project, which began as a group of designers and developers frustrated with the current state of browser development. They, and other organizations and corporations, began pressuring browser developers to adopt the recommendations of the World Wide Web Consortium. The World Wide Web Consortium, or W3C, began in 1994 and attended the standardize web protocols and technologies by issuing a series of recommendations for everyone to follow.
In the end, the outcry from the design and development community, along with the rise of open-source browsers such as Firefox, helped other manufacturers realize the advantages of supporting web standards. So what makes understanding web standards so important to designers in general, and in CSS in particular? Well, if most modern browsers support web standards--to a degree, they all do-- that means that by learning these standards and staying current with their development, you ensure that your sites will have a consistent design and user experience across multiple browsers.
To a degree, that's kind of where we find ourselves now. As of this recording, the current versions of Firefox, Safari, Chrome, Opera, and Internet Explorer have far more in common with how they display pages than they have differences. Now, that doesn't mean that you won't eventually have to deal some minor browser inconsistencies, or that you still don't need to account for older browser versions. I mean, you do, but I may be worried about how a page looks in Netscape Navigator 4 or Internet Explorer 5.5 for many years.
Soon enough dealing with a majority of browser inconsistencies will be a thing of the past. Of course, that just leaves us to the brave new world of mobile development that we now need to worry about. The current state of mobile browsers is very similar to what we experienced in the mid-'90s with desktop browsers. I have no doubt that mobile devices will experience a similar maturation as they begin to adopt web standards in a consistent way. Until then, the best thing that you can do is become familiar with the differences in CSS rendering from one browser and one device to another.
Later on in this title, I'll pass along some valuable online resources that can help you keep track of those differences and how to deal with them.
Get unlimited access to all courses for just $25/month.Become a member
Access exercise files from a button right under the course name.
Search within course videos and transcripts, and jump right to the results.
Remove icons showing you already watched videos if you want to start over.
Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.
Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.