CSS is a style sheet language, its main purpose is to define the visual styling of documents written in markup languages (HTML and XHTML mostly). Yet, since CSS is applicable to any XML document, and due to serious shift from markup only to web app development, brought by HTML5, CSS is nowadays often used for creating advanced visuals of user interfaces on bot web and mobile apps. CSS is one of the three columns holding the World Wide Web, along with JavaScript and HTML.

The main idea of CSS implementation was the separation of document content from document presentation. Though quite a simple thought, this idea has far-reaching advantages. First, the content part of the document became much more transparent, accessible and much easier to work with. And there is more, this concept allows multiple pages to share their style and formatting, by hooking them up with corresponding .css file, thus drastically reducing complexity of their structure and eliminating repetition. Reusable code at its best!

And that’s not all, the inverse is also there: CSS allows any page, or rather group of them, to be represented in any amount of visual styles. In the world of vast device fragmentation, this is the Holy Grail of web-page/web-app/mobile-app development. With the use of CSS any page can be represented in all forms starting with printed, all the way to any supposed screen of any size and ratio (mobile devices in mind), even Braille-based tactile devices. The content part stays the same, and respective .css files handle the visuals, depending on the device been used.

CSS3 is our magic stick in creating smart and impactful visual effects on a web page. CSS3 not only automatically applies the specified style to web pages, but also enables their fast loading and greatly simplifies a website maintanance.

W3C maintained CSS brings another great option: styling of any amount of pages can be changed very fast, a giant leap in evolving and deploying projects.

CSS 3, first drafts date quite a lot back to 1999, is a collection of modules (more than fifty), that define new features or extend those of CSS 2. Backward compatibility is preserved. All the CSS 3 modules have a different status, not affecting each other due to modular concept itself, one can easily check up the statuses, stability conditions and the full modules list at the official dedicated resource.