J'ai repéré ce code CSS dans un projet:
html, body { :)width: 640px;}
J'utilise CSS depuis longtemps mais je n'ai jamais vu ce code ":)" auparavant. Est-ce que cela signifie quelque chose ou est-ce juste une faute de frappe?
J'ai repéré ce code CSS dans un projet:
html, body { :)width: 640px;}
J'utilise CSS depuis longtemps mais je n'ai jamais vu ce code ":)" auparavant. Est-ce que cela signifie quelque chose ou est-ce juste une faute de frappe?
Réponses:
À partir d'un article sur javascriptkit.com , cela s'applique à IE 7 et aux versions antérieures:
si vous ajoutez un caractère non alphanumérique tel qu'un astérisque (
*
) juste avant un nom de propriété, la propriété sera appliquée dans IE et non dans d'autres navigateurs.
Il existe également un hack pour <= IE 8 :
div {
color: blue; /* All browsers */
color: purple\9; /* IE8 and earlier */
*color: pink; /* IE7 and earlier */
}
Mais ce n'est pas une bonne idée, ils ne valident pas. Vous vous sentez toujours libre de travailler avec des commentaires conditionnels pour cibler des versions spécifiques d' 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]-->
Mais pour ceux qui veulent voir le hack en vrai, veuillez ouvrir cette page dans la dernière version d'IE que vous avez. Passez ensuite en mode développeur en faisant a F12. Dans la section Emulation ( ctrl+ 8), changez le mode du document en 7
et voyez ce qui se passe.
La propriété utilisée dans la page est :)font-size: 50px;
.
:
signifie-t-il autre chose? Sinon, je ne peux pas mettre *********************font-size: "150%";
, etc.?
Il ressemble à un hack CSS pour cibler IE7 et les navigateurs précédents. Bien que ce CSS ne soit pas valide et que les navigateurs devraient l'ignorer, IE7 et versions antérieures analyseront et respecteront cette règle. Voici un exemple de ce hack en action:
CSS
body {
background: url(background.png);
:)background: url(why-you-little.png);
}
IE8 (ignore la règle)
IE7 (applique la règle)
Notez qu'il ne doit pas nécessairement être un visage souriant; BrowserHacks mentionne:
Toute combinaison de ces caractères: [avant que le nom de propriété ne fonctionne] Internet Explorer ≤ 7
! $ & * ( ) = % + @ , . / ` [ ] # ~ ? : < > |