web-dev-qa-db-fra.com

Que signifie le smiley ":)" en CSS?

J'ai repéré ce code CSS dans un projet:

html, body { :)width: 640px;}

Cela fait longtemps que je suis avec CSS, mais je n'avais jamais vu ce code ":)" auparavant. Est-ce que ça veut dire quelque chose ou est-ce juste une faute de frappe?

316
Mark

D'un article sur javascriptkit.com , c'est appliqué pour IE 7 et les versions antérieures:

si vous ajoutez un caractère non alphanumérique, tel qu'un astérisque (*) immédiatement avant un nom de propriété, la propriété sera appliquée dans IE et non dans les autres navigateurs.

Il y a aussi un hack pour <= IE 8 :

div {
  color: blue;      /* All browsers */
  color: purple\9;  /* IE8 and earlier */
 *color: pink;      /* IE7 and earlier */
}

Cependant, ce n'est pas une bonne idée, ils ne valident pas. Vous vous sentez toujours libre de travailler avec Commentaires conditionnels pour cibler des versions spécifiques de 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 piratage en temps réel, veuillez ouvrir cette page dans la dernière version de IE que vous avez. Ensuite, passez en mode développeur en faisant un F12. Dans la section Emulation (ctrl+8) changez le mode document en 7 et voyez ce qui se passe.

enter image description here

La propriété utilisée dans la page est :)font-size: 50px;.

275
revo

Cela ressemble à un hack CSS pour cibler les navigateurs IE7 et précédents. Bien que cette soit CSS non valide et que les navigateurs ne l'ignorent pas, IE7 et les versions antérieures analyseront et honoreront 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)

Example 1 - IE8

IE7 (applique la règle)

Example 1 - IE7

Notez qu'il ne doit pas nécessairement s'agir d'un visage souriant; BrowserHacks mentionne:

Toute combinaison de ces caractères:
! $ & * ( ) = % + @ , . / ` [ ] # ~ ? : < > |
[avant que le nom de la propriété puisse fonctionner] Internet Explorer ≤ 7


L’exemple du stand de hot dogs GAH est ici .

169
Salman A