O que !importantsignifica em CSS?
Está disponível no CSS 2? CSS 3?
Onde é suportado? Todos os navegadores modernos?
O que !importantsignifica em CSS?
Está disponível no CSS 2? CSS 3?
Onde é suportado? Todos os navegadores modernos?
Respostas:
Significa, essencialmente, o que diz; que 'isso é importante, ignore as regras subseqüentes e quaisquer problemas de especificidade comuns, aplique esta regra!'
No uso normal, uma regra definida em uma folha de estilo externa é substituída por um estilo definido no headdocumento, que, por sua vez, é substituído por um estilo em linha dentro do próprio elemento (assumindo a mesma especificidade dos seletores). Definir uma regra com o !important'atributo' (?) Descarta as preocupações normais no que diz respeito à regra 'posterior' substituindo as 'anteriores'.
Além disso, normalmente, uma regra mais específica substituirá uma regra menos específica. Assim:
a {
/* css */
}
Normalmente é substituído por:
body div #elementID ul li a {
/* css */
}
Como o último seletor é mais específico (e normalmente não importa onde o seletor mais específico é encontrado (na headfolha de estilo ou na externa)), ele ainda substituirá o seletor menos específico (os atributos de estilo em linha sempre serão substitua o seletor específico 'more-' ou 'less-', pois é sempre mais específico.
Se, no entanto, você adicionar !importantà declaração CSS do seletor menos específico, ela terá prioridade.
O uso !importanttem seus propósitos (embora eu tenha dificuldade em pensar neles), mas é como usar uma explosão nuclear para impedir que as raposas matem suas galinhas; sim, as raposas serão mortas, mas as galinhas também. E a vizinhança.
Isso também torna a depuração do CSS um pesadelo (por experiência pessoal, empírica).
important!(importante NOT)
A regra! Important é uma maneira de fazer com que seu CSS seja cascateado, mas também tenha sempre as regras que você considera mais cruciais. Uma regra que possua a propriedade! Important sempre será aplicada, independentemente de onde ela apareça no documento CSS.
Então, se você tem o seguinte:
.class {
color:red !important;
}
.outerClass .class {
color:blue;
}
a regra com o importante será a aplicada (sem contar a especificidade )
Eu acredito que !importantapareceu no CSS1, então todo navegador suporta (IE4 a IE6 com uma implementação parcial, IE7 + completo)
Além disso, é algo que você não deseja usar com bastante frequência, porque se estiver trabalhando com outras pessoas, poderá substituir outras propriedades.
!um símbolo para NOT em alguns idiomas, mas agora está mais clara.
!important. O CSS é diferente o suficiente de outras linguagens e é fácil esquecer como usar certas coisas.
important!, ou talvez IMPORTANT!, e não !important. Gostaria de saber se alguém (que pode ler isso) sabe por que eles definiram com a pontuação na frente? Obviamente, é tarde demais para mudar isso agora.
!important faz parte do CSS1.
Navegadores compatíveis: IE5.5 +, Firefox 1+, Safari 3+, Chrome 1+.
Significa algo como:
Use-me, se não houver mais nada importante por perto!
Não posso dizer melhor.
!importantnão está limitado apenas ao Safari 3+; ele é suportado desde o início, como todos os outros navegadores que não são do IE. IE entende a partir da versão 4 para a frente, mas só suporta partida livre de bugs da versão 7.
É usado para influenciar a classificação na cascata CSS quando a classificação por origem é feita. Não tem nada a ver com especificidade, como indicado aqui em outras respostas.
Aqui está a prioridade do menor para o maior:
Depois que essa especificidade ocorre, as regras ainda têm um dedo na torta.
Referências:
!importanté um modificador para a ordem em cascata developer.mozilla.org/en-US/docs/Web/CSS/Cascade (consulte a tabela para referência).
Ele altera as regras para substituir a prioridade das cascatas de css. Veja a especificação CSS2 .