321 votes

Quel est le smiley ":)" signifie en CSS?

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

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

J'ai été autour des avec le CSS pour un long moment maintenant, mais je n'ai jamais vu cela ":)" code avant. Signifie-t-il quelque chose ou est-ce juste une faute de frappe?

279voto

revo Points 5311

À partir d'un article à l'javascriptkit.com, qui est appliqué pour IE 7 et versions antérieures:

si vous ajoutez un caractère non-alphanumérique comme un astérisque (*) immédiatement avant le nom d'une propriété, la propriété sera appliquée dans IE et pas sous les autres navigateurs.

Il y a également 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 n'ont pas de valider. Vous êtes toujours libre de travailler avec des commentaires Conditionnels pour le ciblage spécifique des versions 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 voulez-vous voir le hack dans le réel, s'il vous plaît ouvrir cette page dans la dernière version de IE que vous avez. Ensuite, allez à la mode développeur en faisant F12. Dans la partie Émulation (ctrl+8) changement du mode de document en 7 et voir ce qui se passe.

enter image description here

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

171voto

Salman A Points 60620

Il ressemble à un CSS hack pour cible IE7 et plus tôt les navigateurs. Tout cela est non valide CSS et les navigateurs devraient l'ignorer, IE7 et le plus tôt sera d'analyser et de rendre hommage à 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 (s'applique la règle)

Example 1 - IE7

Notez qu'il n'a pas à être un smiley; BrowserHacks mentionne:

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


Ces est l'original stand de hot-dog par exemple.

IE8 (ignore la règle)

Example 2 - IE8

IE7 (s'applique la règle)

Example 2 - IE7

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X