Definir valores default, evitar especificar elementos e usar a ordem da cascata a seu favor são algumas das boas práticas de CSS orientado a objetos para otimizar a relação entre componentes HTML e estilos e melhorar a performance do site.
3. O QUE É?
Não é um framework
Não é outra linguagem
É um paradigma
Conjuto de boas práticas
para otimizar
a relação de componentes
HTML com seus estilos e
consequentemente
melhorar a performance do site
4. “Programação
orientada a objetos é
um paradigma de
programação que
representa conceitos
como 'objetos' que
possuem campos de
dados (atributos que
descrevem o objeto) e
procedimentos
associados, conhecidos
como métodos.”
- Wikipedia
CSS orientado a
objetos é um
paradigma que
representa
elementos HTML
como 'objetos' que
possuem estilos
que podem ser
reutilizados.
OOP OOCSS
9. “Crie uma biblioteca de componentes” - Nicole Sullivan
Separar os elementos
• Headings
• Lists
• Module headers e footers
• Grids
• Buttons
• Qualquer coisa que seja consistente em todo o site
Misturar e combinar esses componentes para formar o site
Primeiro definir todos os componentes e depois as páginas
10. 1 Heading
5 Media Blocks
2 Link Styles
1 Comment List
1 Action List
1 Paragraph
16. div.error {
color: red;
}
EXCEÇÃO
Estender uma classe para funcionar em vários elementos.
Exemplo: Estender a classe error para aplicá-la nos
elementos strong ou div declarando somente os valores
diferentes dos valores default
.error {
color: red;
}
21. .sidebar ul li a {
color: red;
}
.header ul li a {
color: blue;
}
22. .sidebar ul li a {
color: red;
}
.header ul li a {
color: blue;
}
.sidebar {
color: red;
}
.header {
color: blue;
}
23. .sidebar ul li a {
color: red;
}
.header ul li a {
color: blue;
}
.sidebar {
color: red;
}
.header {
color: blue;
}
.sidebar a {
color: red;
}
.header a {
color: blue;
}
24. .sidebar ul li a {
color: red;
}
.header ul li a {
color: blue;
}
.sidebar {
color: red;
}
.header {
color: blue;
}
.sidebar a {
color: red;
}
.header a {
color: blue;
}
25. .sidebar ul li a {
color: red;
}
.header ul li a {
color: blue;
}
.sidebar {
color: red;
}
.header {
color: blue;
}
.sidebar a {
color: red;
}
.header a {
color: blue;
}
35. RESUMO
Definir valores default
Evite especificar elementos
Use a ordem da cascata a seu favor
Evite especificar localização
Não acesse sub-nó de um objeto diretamente
Separe a estrutura do visual
Separe o container do conteúdo