Os seletores determinam a forma como os estilos CSS são atribuídos aos elementos HTML. Ao fazer uma definição correspondente, primeiro especifica-se o nome do elemento ao qual o seletor deve aceder. A declaração real é feita dentro de chaves. Dentro de uma declaração, uma ou mais propriedades podem ser especificadas. Portanto, a sintaxe geral é a seguinte:
Seletor {
Propriedade1: Valor;
Propriedade2: Valor;
Propriedade3: Valor;
}Já se depararam com uma definição semelhante no tutorial anterior.
h1 {
font-family:"Courier New", Courier, monoespaço;
font-size: 200%;
}
É importante terminar cada declaração com um ponto e vírgula.
Uma visão geral dos seletores disponíveis
Na verdade, o CSS oferece uma grande variedade de seletores, dos quais apresentarei os mais importantes. Pois uma coisa é clara: apenas se dominarmos o trabalho com os seletores, podemos definir propriedades CSS de forma sensata.
A maneira mais simples de atribuir estilos dentro de um documento HTML é através do seletor de elemento.
A seguinte sintaxe atribui a cor preta a todos os elementos p.
p {
color: #009966;
}
Se quiserem atribuir o mesmo estilo a vários elementos, também é possível.
Neste caso, basta listar os elementos relevantes um após o outro, separados por vírgulas.
p, h1, li {
color: #000;
}
Também é possível atribuir vários estilos a elementos. Os estilos são separados por ponto e vírgula.
p {
color: #000;
background-color: red;
}
Também é possível combinar as variantes mencionadas.
p, h1, li {
color: #009966;
background-color: red;
}
O resultado pode ser o seguinte:
Áreas com múltiplos elementos
Muitas vezes surge a necessidade de formatar uma área composta por vários elementos HTML. Para esses casos, no HTML existem dois elementos especiais, o span e o div. Estes elementos serão encontrados - aliás, também nesta série - várias vezes.
Um exemplo:
<div class="artigo"> <h1>Explosão de Cores</h1> <p class="tema">Um tutorial para criar uma explosão de cores por <span class="autor">MarkusMelzer</span>.</p> </div>
A única diferença entre div e span é que o elemento div força uma nova linha no fluxo de texto. span, por outro lado, não cria uma nova linha. No exemplo mostrado, é definida uma área div contendo um título e um parágrafo. Dentro do parágrafo, há uma área span.
Seletores de ID e classe
Até agora foram usados seletores de elementos. Com o exemplo a seguir, todas as manchetes h1 são formatadas pelo seletor de elemento.
h1 {
color: #000;
background-color: red;
}
No entanto, esta abordagem nem sempre é desejada. O que acontece se quiserem atribuir determinadas propriedades a uma ou algumas, mas não a todas as manchetes h1? Para esses casos, o CSS oferece duas opções, ou seja, os seletores de classe e de ID.
Com os seletores de classe, elementos HTML com atributos de classe podem ser selecionados de forma precisa. O elemento HTML em questão deve ter o atributo class especificado. As definições de classe começam com um ponto.
Um exemplo:
.vermelho {
color: red;
}
Neste exemplo, a classe vermelho foi definida. Para adicionar as propriedades atribuídas a vermelho a um elemento HTML, insere-se class seguido do nome da classe.
<p class="vermelho">PSD-Tutorials.de</p>
O seletor de ID pode ser utilizado de forma semelhante. O seletor de ID é reconhecido por um símbolo de almofada.
#topnavi {
color: azul;
};Neste exemplo, é definido o ID topnavi. Mas atenção: um ID só pode ser atribuído uma vez dentro de um documento. O acesso a uma propriedade ID definida seria a seguinte:
<div id="topnavi">Aqui está a navegação</div>
O atributo id atribui o nome do ID. Certifique-se de que aqui o jogo da velha não seja notado.
As informações mostradas também podem ser combinadas entre si. Assim, é possível atribuir várias classes a um elemento HTML, por exemplo.
<p class="rot gross">PSD-Tutorials.de</p>
Neste exemplo, as duas classes rot e gross são atribuídas ao parágrafo de texto. Caso queiram indicar uma classe e um ID, será da seguinte forma:
<p class="rot" id="navi">PSD-Tutorials.de</p>
Também é possível combinar elementos e IDs. Aqui está um exemplo:
div.navi {
color: blue;
}
Essa sintaxe se aplicaria exclusivamente aos elementos div com a classe navi. Parágrafos que também possuem a classe navi não seriam afetados por isso.
No CSS, há outro tipo de combinação de seletores. Para isso, dê uma olhada na seguinte sintaxe:
h1 {
color: red;
}
em {
color: blue;
}
Aqui, todos os títulos de primeira ordem são atribuídos a cor vermelha. Elementos em por sua vez, recebem a cor azul.
A combinação das duas instruções permite que somente os elementos em sejam coloridos de azul se estiverem dentro dos elementos h1.
h1 em {
color: blue;
};
Os nomes dos elementos são anotados separadamente sem vírgulas.
Isso é, aliás, uma armadilha comum em que até mesmo iniciantes em CSS caem. Aqui está a mesma sintaxe, mas com uma vírgula:
h1, em {
color: blue;
}
O que significa esta sintaxe? Todos os elementos h1 e todos os elementos em são selecionados. Portanto, isto é completamente diferente da sintaxe sem vírgula!
Outro seletor importante é o seletor universal. Isso permite a seleção de qualquer elemento. Este seletor é definido por um asterisco.
* {
color: red;
}
Com esta sintaxe, todos os elementos seriam coloridos de vermelho. Novamente, existem algumas particularidades a serem consideradas com este seletor.
#mainnavi * {
color: red;
}
Neste exemplo, a cor da frente de todos os elementos dentro do elemento com o ID mainnavi é definida como vermelha. No entanto, isso não se aplica ao elemento em si.
Se o seletor universal estivesse no início de uma declaração, não seria necessário anotá-lo. Seria redundante fazer algo similar a isto:
* p {
color: red;
}
Esta sintaxe é equivalente a:
p {
color: red;
}
No próximo tutorial, você aprenderá mais sobre seletores.