! → boilerplate HTML5 completo
doc → apenas doctype HTML5
Tags Implícitas
.class
Resolve para
ul>.item
Filho resolve para
table>.row
Filho resolve para
select>.opt
Filho resolve para
Aninhamento
Operadores de Aninhamento
>
Elemento filho
+
Elemento irmão
^
Subir um nível
^^
Subir dois níveis
Exemplos de Aninhamento
div>ul>li → elementos filho aninhados
div+p+footer → elementos irmãos
div>p>span^h2 → subir: h2 é irmão de p
div>p>span^^h2 → subir duas vezes: h2 é irmão de div
Agrupamento
Agrupamento com Parênteses
div>(header>nav)+main+footer
→ agrupa header>nav como unidade
(div>h2+p)*3
→ repetir estrutura agrupada 3 vezes
Layout Complexo
.container>(header>h1+nav>ul>li*3)+main+footer
→ esqueleto completo de layout de página
Multiplicação
Operador de Repetição
li*5
Criar 5 elementos
div>p*3
Div com 3 parágrafos filhos
ul>li*4>a
Lista com 4 itens, cada um com um link
tr>td*4
Linha de tabela com 4 células
Exemplos de Multiplicação
ul>li.item*5 → 5 itens de lista com classe
table>tr*3>td*4 → grade de tabela 3x4
.row>.col*3>p{Content} → linha de 3 colunas com texto