A 2 minute read written by
Dag Frode Solberg
Hey there! In this calendar, we will share CSS tips and tricks! First however, a short recap.
In the beginning, there was HTML. As the language grew and more browsers were created, styling quickly became a problem. Browsers had their own unique "built-in" styling. This made it hard to make a website appear the same across different browsers. The idea of separating structure from the presentation was proposed; to link styling to a document and make it possible to have a different presentation of the same content for different mediums, such as screen and print.
There were several proposals to solve how to style markup, among them the first draft of CSS made by Håkon Wium Lie. Together with Bert Bos, Lie developed his proposal into CSS 1. CSS 1 was published in December 1996, and Internet Explorer - which was released the same year - partially implemented this standard. Internet Explorer 5 was the first browser to support more than 99% of the CSS 1 specification in the year 2000. Other browsers followed, and even implemented parts of CSS 2 in addition.
This became the start of a chaotic period where different browsers supported different features of CSS. The browsers had different quirks - and often had incorrect implementations of the features. This was a difficult period for developers, seeing as creating websites - that looked consistent across different browsers - was almost impossible. Developers were forced to create websites that worked through the premise of not following the standard, but instead the quirks of the browsers of choice. When later versions of browsers corrected their implementation of CSS, they had to add backward compatibility.
Instead of having the new browser defaulting to the better CSS implementation, developers had to specify that the website intended to use the newer version of the CSS implementation. Many developers suffered without need as they were not aware of this new CSS implementation that they could turn to, and make their days better.
Fast forward, today most browsers support CSS2 in a consistent way - making the development experience a lot better. But CSS is still developing, providing new features that let us get even more out of our markup. But this also creates much frustration seeing as developers are often living on the bleeding edge - knowing that some browsers support features they want to use - but knowing some browsers still don't support them.
There still seems to remain some frustrations when styling websites. Some libraries try to make the development experience better, but they often bloat the markup. It seems that because HTML and CSS seem so simple, it is simple to accidentally skip getting to know of certain basic principles one should know of, so as to take full advantage of the languages.
To improve on this situation, and frankly, because we think CSS is awesome, we are sharing articles with tips and tricks throughout each day throughout the rest of this Christmas calendar!