How to "teach" CSS for students? I have been an expert &amp; mentor in HTML, CSS, JavaScript. When it comes to teaching new students on how to program using JavaScript, it is straight forward. Students can learn that if you do certain actions, you will be able to get the things right. But often I struggle with teaching CSS or design.

They are extremely good with HTML structuring and JavaScripts, but when comes to CSS laying out and the "creative" and "design" part, I am not sure how to train them like how I am experienced. Has anyone been through this and is there a way to really "teach" design sense and creativity in CSS?
If you are struggling with "design" and "beautiful" and artistic mumbojumbo, you can still teach CSS while avoiding trying to turn them into pro designers.

The simplest example task I can think of is having your students create a simple website with a basic style and another style for the visually impaired (and a button to change between the two styles).

If that is done, you can have a contest/assignment: you create a simple website (2-3 pages, few images, a menu), and they all have to create 2-3 designs for it in CSS. Then the class can vote for their favourite. Another upside is that finally it won't be the geeks but the artists in the class that shine.

As for teaching design and creativity, why not ask the help of the art teacher? Maybe you can put together a curriculum for a few classes together? You are a programmer, not a designer, and it is OK to admit it.