--- title: Especificidade slug: Web/CSS/Specificity translation_of: Web/CSS/Specificity ---
A especificação é a maneira de como os navegadores definem quais valores de propriedades são os mais relevantes para o elemento a ser utilizado. A especificação é baseada apenas nas regras impostas na composição de diferentes tipos de seletores.
A espeficicação é calculada na concatenação da contagem de cada tipo de seletor. Não é um peso aplicado na expressão correspondente.
No caso de igualdade de especificação, a última declaração encontrada no CSS é aplicada ao elemento.
A seguinte lista de seletores está incluida na especificação:
!importantQuando a regra !important é utilizada na declaração do estilo substitui qualquer outra declaração feita no CSS, onde quer que esteja na lista de declaração. Contudo, !important não tem nada a ver com especificação.
:notA pseudo-classe de negação :not não é considerada uma pseudo-classe no cálculo de especificação. Contudo, seletores colocados na pseudo-class de negação são entendidos como seletores normais.
Aqui está um trecho de CSS:
div.outer p {
color:orange;
}
div:not(.outer) p {
color: lime;
}
Usado com o seguindo código HTML:
<div class="outer">
<p>Esta é a div outer.</p>
<div class="inner">
<p>Este texto está na div inner.</p>
</div>
</div>
Irá aparecer na tela assim:
Esta é a div outer.
Este texto está na div inner.
A especificação é baseada na forma de um seletor. No seguinte caso, o seletor contém os atributos no algoritmo de determinação de especificação, embora ele selecione um ID.
A seguir veja as declarações de estilo:
* #foo {
color: green;
}
*[id="foo"] {
background: purple;
}
Usado com esta marcação:
<p id="foo">Eu sou um simples texto.</p>
Vai acabar parecendo algo como:
Eu sou um simples texto.
Porque coincide com o mesmo elemento, mas o seletor de ID tem uma especificação superior.
A seguir a declaração do estilo:
body h1 {
color: green;
}
html h1 {
color: purple;
}
Com o HTML seguinte::
<html> <body> <h1>Aqui está o título!</h1> </body> </html>
Vamos ter algo como:
Aqui está o título!