Vi esse código CSS em um projeto:
html, body { :)width: 640px;}
Estou com CSS há muito tempo, mas nunca vi esse código ":)" antes. Isso significa alguma coisa ou é apenas um erro de digitação?
Vi esse código CSS em um projeto:
html, body { :)width: 640px;}
Estou com CSS há muito tempo, mas nunca vi esse código ":)" antes. Isso significa alguma coisa ou é apenas um erro de digitação?
Respostas:
Em um artigo no javascriptkit.com , aplicado para o IE 7 e versões anteriores:
se você adicionar um caractere não alfanumérico, como um asterisco (
*
), imediatamente antes do nome de uma propriedade, a propriedade será aplicada no IE e não em outros navegadores.
Também há um hack para <= IE 8 :
div {
color: blue; /* All browsers */
color: purple\9; /* IE8 and earlier */
*color: pink; /* IE7 and earlier */
}
No entanto, isso não é uma boa ideia, eles não são validados. Você sempre se sente à vontade para trabalhar com comentários condicionais para segmentar versões específicas do IE :
<!--[if lte IE 8]><link rel="stylesheet" href="ie-8.css"><![endif]-->
<!--[if lte IE 7]><link rel="stylesheet" href="ie-7.css"><![endif]-->
<!--[if lte IE 6]><link rel="stylesheet" href="ie-6.css"><![endif]-->
Mas para aqueles que querem ver o hack de verdade, abra esta página na versão mais recente do IE que você possui. Em seguida, vá para o modo de desenvolvedor executando a F12. Na seção Emulação ( ctrl+ 8), altere o modo de documento para 7
e veja o que acontece.
A propriedade usada na página é :)font-size: 50px;
.
:
significa alguma outra coisa? Caso contrário, não posso colocar *********************font-size: "150%";
, etc.?
Parece um hack de CSS para atingir o IE7 e navegadores anteriores. Enquanto isso é CSS inválido e os navegadores devam ignorá-lo, o IE7 e versões anteriores analisarão e respeitarão essa regra. Aqui está um exemplo desse hack em ação:
CSS
body {
background: url(background.png);
:)background: url(why-you-little.png);
}
IE8 (ignora a regra)
IE7 (aplica a regra)
Observe que ele não precisa ser um rosto sorridente; O BrowserHacks menciona:
Qualquer combinação desses caracteres: [antes que o nome da propriedade funcione] Internet Explorer ≤ 7
! $ & * ( ) = % + @ , . / ` [ ] # ~ ? : < > |