GeekSpeak: Cascading Style Sheets
What’s in a name? Though you’ve most likely heard of Cascading Style Sheets, or CSS, if you’re reading this, you may not have ever stopped to think about each of the terms that comprise the acronym. Style refers to all of the components of a document (Web page) related to its presentation or appearance–typography, colors, borders, margins and padding, and other layout-related items. And cascading refers to an crucial aspect of the Web language: the priority scheme, or hierarchy, that is integral to its functionality.
In the early days of the Web, content and presentation alike were dictated by HTML–an inefficient model that meant that every time we wanted to make a link purple, or make a font a certain size, we had to define it as such; one that begged for a more robust solution. But the concept of style sheets has actually been around since the 1980s. In the mid-’90s, the World Wide Web Consortium (W3C) chose two proposals as a foundation for the CSS that we know today, and published its CSS Level 1 Recommendation in late 1996.
Today, CSS has as dominant a role as ever on the Web alongside HTML. Its advantages are numerous: it reduces clutter by consolidating style- or appearance-related markup, it encourages consistency across different browsers, it helps optimize a Web document for crawling by search engines, and it enhances flexibility and accessibility when we are spending an increasing amount of time viewing the Web on our mobile devices.
Though CSS code looks markedly different from that of HTML or XHTML, and some of its facets remain somewhat daunting for first-time users (the float and overflow properties, for example, or child and descendant selectors), its syntax is actually relatively simple. CSS can also be incorporated in different ways: inline, meaning nested inside an HTML tag; embedded, meaning within the <head> of a document, or in an external document.
As competition in the Web browser industry becomes increasingly heated and Google Chrome, Mozilla Firefox, Internet Explorer, and others take divergent paths in their implementation of standards, consistency and compatibility across browsers remains the biggest challenge CSS faces today.