CSS, cascating style sheets é uma linguagem de estilo com enormes potencialidades e usado em grande escala para formatar documentos escritos em linguagens de tags, como por exemplo html ou xml. Ou seja uma ferramenta essencial para quem quer criar sites de qualidade; preocupados com as regras de usabilidade e standards, com vista a uma maior simplicidade e consequente melhor performance.
O que mais chateia os desenvolvedores de hoje é a diferença de interpretação ao nível dos browsers, que apesar de todas as normas e organizações criadas as diferenças continuam a ser preocupantes e aborrecedoras. Claro que os browsers devem ter diferenças entre si, a sua "vantagem competitiva"... mas isto não é desculpa, pois podem disponibilizar métodos próprios e garantias de segurança melhores e cumprir na mesma as normas estabelecidas... não me parece de todo impossível...
O maior problema no desenvolvimento de css nos projectos web é a falta de planeamento; de facto, é necessário um trabalho inicial de abstracção de modo a evitar a redundância e ficheiros intermináveis. Outro problema tem haver com, "cada um faz à sua maneira" e "toda a gente vai lá mexer". É necessário criar módulos reutilizáveis e folhas leves e simples; separar estrutura de estilo e o contentor do conteúdo.
Na verdade, encontramos nas css, muitos aspectos recorrentes nas linguagens orientadas a objectos, o segredo é olhar para os problemas e encontrar as diversas entidades, os objectos. Assim que conseguirmos definir estes elementos na nossa interface poderemos estruturar melhor os elementos e criar folhas de estilo eficientes.