--- 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:
!important
Quando 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.
:not
A 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!