Clean Coding = Clear ROI
CSS is most often used to separate the presentation from the content of the pages. This is best accomplished by creating a centralized CSS, and then referencing / applying the same styles to each of the pages of your website. The advantage of this is that you only need to make changes in once place and they will applied across the entire website. As you can imagine, this is a huge time and cost savings while also ensuring consistency.
One of the most important features of CSS is the ability to apply different styles to the same object based on the circumstance of the web page and determine the look of elements based on specific users actions. This could include things like “on rollover” or “if visited”, or selecting a specific member of a list of items like “last child”. These selectors allow designers to determine every aspect of the user experience. It is important to note that when thinking about this user experience, you must also think about each interaction along a timeline (past, current, future engagement) to ensure that the states of each object on the screen reacts the way someone might expect.
Responsive / Mobile Design
CSS also gives designers the ability to check for page state including current screen resolution, which in turn has enabled responsive design, e.g. ensuring the visual experience is proper for mobile and tablet devices. Using options like “min-size” and “max-size” and ranges in between, designers can very specifically determine how each element on the screen will look, be sized, and positioned based on exactly how big the screen is. This process can take time, especially with so many different sizes of screens on the market today, but getting it right is important given that more than 50% of web traffic comes from devices other than a desktop computer.
Motion and Animation
One area that is still in development is the use of CSS to design and control time-based animation sequences. These types of CSS animations let designers apply changes to an element gradually from one style to another, including position, color, size, shape and more. Often used in elements such as dropdown menus or image fade-ins, these animations are getting more and more advanced. CSS support for this is only available on the newest browsers, but soon will likely become standard across all future versions.