Fork me on GitHub

Getting Started

Um guia para iniciantes na área de web.

Seletores complexos

Formatando elementos fora do fluxo normal do DOM

Selecionando diferentes elementos de um formulário

Tipos de Inputs

input[type="text"] { ... }
input[type="email"] { ... }

No exemplo acima, selecionamos respectivamente elementos input do tipo text e email.

Input checkbox

input[type="checkbox"]:checked { ... }

A própria declaração é bem intuitiva. Seleciona elementos do tipo checkobx que estiverem selecionado (ou ticados).

Input inativo

input:disabled { ... }

Acima, selecionamos um input que esteja com o atributo disabled, estando assim inativo.

Selecionamento elementos pela extensão do arquivo

:lang(en) .flag { ... }

No exemplo, selecionamos o elemento com a classe .flag que é filho de uma página que possui o valor en.

a[href$=".jpg"] { ... }
a[href$=".pdf"] { ... }

Imagine uma lista de arquivos e que você precisa adicionar um ícone ou aplicar um estilo diferente de acordo com o tipo de arquivo em cada link. Com os seletores acima você consegue sem a necessidade de adicionar uma classe para cada um.

Selecionando elementos pelo target

#element-id:target { ... }

Elementos com âncora linkam o usuário a outras partes da página. Então o elemento acima seria selecionado quando seu id aparecesse na URL do usuário. Geralmente depois de um clique.

Selecionando elementos pelo atributo

Existem seis maneiras diferentes de selecionarmos elementos por seus atributos:

[att=valor]

O atributo tem exatamente o mesmo valor especificado.

[att~=valor]

O valor do atributo precisar ser uma lista de valores com espaço. Por exemplo class="box box-color box-sidebar", e um dos valores precisa ser exatamente igual ao valor que foi especificado.

[att|=valor]

O atributo possui exatamente o mesmo valor que foi especificado ou é imediatamente seguindo de um traço. Dessa maneira, uma classe válida seria valor-X.

[att^=valor]

O valor do atributo começa com o valor que foi especificado na regra.

[att$=valor]

O valor do atributo termina com o valor que foi especificado na regra.

[att*=valor]

O valor do atributo contém o valor do atributo especificado na regra.

Selecionando elementos pela negação

div:not(.estilo) { ... }

Acima, selecionamos todas as divs do documento, exceto as que possuem a classe .estilo.