One of the earliest problems with HTML was the amount of work it took to design the look of a web page; a problem that was solved by the introduction of CSS. CSS (Cascading Style Sheets) is, as the name suggests, a style sheet language – a programming language that defines how a document is presented. Commonly being used to style documents written in markup languages like HTML, XHTML, SVG, and XUL, CSS can be utilized for almost every web page.
What CSS does is it separates the document content from the document presentation. Without CSS, all the information involved with the appearance of a page has to be written directly in the markup – an arduous task, especially if you wanted to keep the style consistent. With CSS, all the stylistic rules for the page to follow, such as for specific colors, fonts and layouts, are kept in one file which is applied to the markup. It works with a system of rules that are applied to the markup with selectors defining which rule is applied where. Priority schemes determine which rules apply if there is more than one, and multiple style sheets are allowed through inheritance or “cascading” where elements are mixed. This allows for the same markup to be presented differently depending on the device and screen size. Web browsers can also load web pages of the same website faster by storing its style sheet in the cache. But more importantly, you can modify or improve the theme of a whole site by just editing one .css file, making it much easier than having to add all your modifications into the markup.
CSS3 was developed by the same group that created HTML – the World Wide Web Consortium (W3C). As websites were becoming larger and more complex, both structurally and stylistically, so was the HTML coding within them. The idea of style sheets came forward to make HTML simpler, and out of several proposals, two were developed into what is now known as CSS, which was released December 1996.
CSS3 – the latest version of CSS is unique for its new, modular structure. The specifications of the old CSS2 have been split into parts, along with new modules, added features, extended capabilities, and backwards compatibility. A problem with modularization is varying levels of stability, but after the initial release of the first draft in 1999, over 50 modules have been developed and they improved independently, with four of them being published as formal recommendations, i.e. undergone rigorous testing and review by the W3C ensuring stability.
With so many available features and styles, a lot of unique sites out there are using CSS3 in interesting ways. Not only does CSS3 make it very easy to create an attractive site, but also an interactive one. The text effects, 2D/3D transformations, and animations modules can make sites dynamic and interactive.
Learning CSS3 is really easy – apart from the countless tutorials online, explaining cool effects and tricks involved with the use various modules. There are basic tutorials available at w3schools.com which can be very helpful. W3.org also has a full list of all the specifications. CSS frameworks, which are basically pre-prepared templates, are great, not just for easier designing, but also for learning by seeing and testing out various example style sheets.