Ie8 CSS Hack - meilleure méthode?
Peut-on recommander la meilleure façon de pirater IE8 style via CSS, j'ai récemment fait IE8 est rendu comme IE7 pour la facilité, mais se demandait si c'était mieux pour ajouter IE8 hacks?
La meilleure méthode est de ne pas utiliser des hacks à tous.
Si votre site a l'air beaucoup mieux que IE7 IE8, vous avez de sérieux problèmes.
Il ya certaines choses que IE ne rend pas de la même manière que les autres navigateurs et hacks sont très bien être utilisé pour cela. Si vous avez besoin de ensemble de feuilles de style CSS pour chaque version, alors vous avez un problème avec votre code. Directement hack une seule ligne dans un CSS entité pour IE8 et ci-dessous, vous pouvez utiliser {propriété: valeur\9;}
Mal à la tête de Votre CSS va rapidement se foiré avec ces hacks. Je ne dis pas que vous devriez avoir une feuille séparée pour chaque version de IE, je viens d'esquisser les possibilités. En général, j'en ai un pour <IE9 où j'ai mis tout ce que
J'ai trouvé que si vous écrivez votre code correctement, alors la seule correctifs sur IE7/8 (toute personne utilisant IE6 à mon avis devrait être au-delà de la portée) ont tendance à concerner des pixels (hauteur, largeur, rembourrage...) - qui peut être résolu avec un simple CSS hack et n'a pas tendance à déraper comme il est contenu dans le même CSS de l'élément. Je suis d'accord avec vous pour l'ajout d'une nouvelle feuille de style CSS pour IE9 que cette accueille de nouvelles fonctionnalités - mais cette question a été un problème entre IE7 et IE8. -> Aussi, j'étais celui qui l' +1 à votre commentaire à propos de graves problèmes
Si votre site a l'air beaucoup mieux que IE7 IE8, vous avez de sérieux problèmes.
Il ya certaines choses que IE ne rend pas de la même manière que les autres navigateurs et hacks sont très bien être utilisé pour cela. Si vous avez besoin de ensemble de feuilles de style CSS pour chaque version, alors vous avez un problème avec votre code. Directement hack une seule ligne dans un CSS entité pour IE8 et ci-dessous, vous pouvez utiliser {propriété: valeur\9;}
Mal à la tête de Votre CSS va rapidement se foiré avec ces hacks. Je ne dis pas que vous devriez avoir une feuille séparée pour chaque version de IE, je viens d'esquisser les possibilités. En général, j'en ai un pour <IE9 où j'ai mis tout ce que
filter
de la merde, et un pour IE6 si j'ai à le soutenir. Et ce n'est pas une feuille entière avec tout répéter, comme je l'ai dit dans ma réponse.J'ai trouvé que si vous écrivez votre code correctement, alors la seule correctifs sur IE7/8 (toute personne utilisant IE6 à mon avis devrait être au-delà de la portée) ont tendance à concerner des pixels (hauteur, largeur, rembourrage...) - qui peut être résolu avec un simple CSS hack et n'a pas tendance à déraper comme il est contenu dans le même CSS de l'élément. Je suis d'accord avec vous pour l'ajout d'une nouvelle feuille de style CSS pour IE9 que cette accueille de nouvelles fonctionnalités - mais cette question a été un problème entre IE7 et IE8. -> Aussi, j'étais celui qui l' +1 à votre commentaire à propos de graves problèmes
OriginalL'auteur Dancer | 2011-04-12
Vous devez vous connecter pour publier un commentaire.
Vous devez annuler votre méthode. D'abord, votre site doit regarder bien dans les navigateurs modernes (Firefox, Chrome, Opera, IE 9), et puis vous pouvez commencer à se soucier des autres.
Comme d'autres l'ont suggéré, des commentaires conditionnels peut être votre ami.
Tout d'abord, vous devez développer votre CSS à l'air très bien dans les navigateurs modernes. Ensuite, vérifiez IE8, voir quels sont les problèmes que vous obtenez. Si vous avez besoin d'un IE-feuille de style spécifique. Après cela, vous pouvez vérifier dans IE7 et IE6 puis si vous le soutenir, et ajouter d'autres correctifs.
Un exemple:
Dans ce cas, vous comprennent
normal.css
qui est pour les navigateurs modernes. Vous avez trouvé une étrange IE8, de sorte que dansie8.css
vous de résoudre les problèmes. Vous n'avez pas à inclure tous vos sélecteurs dans ce, seulement ceux qui ont besoin d'un fix (les valeurs seront remplacées pour IE 8 et inférieure). Après, si il y a encore des choses étranges dans IE7, vous pouvez ajouter votreie7.css
et de corriger ceux-ci, et ainsi de suite.Veuillez consulter les liens que les autres ont de vous pour obtenir plus d'informations sur l'utilisation des commentaires conditionnels.
Enfin:
making IE8 render as IE7 for ease
n'est jamais une bonne idée, et doit être évitée. IE7 est bien passée (dans le monde de l'informatique, IE8 devrait être le passé lointain de soit...), de développer pour le présent et l'avenir, et après que vous pouvez soin sur les personnes qui sont encore coincés avec la vieille technologie (en fonction de votre public et plan d'affaires).making IE8 render as IE7 for ease
est une mauvaise idée.Thx, je vais l'ajouter. Vous pouvez le soulignera jamais assez :).
OriginalL'auteur kapa
Utilisation les commentaires conditionnels.
OriginalL'auteur Daniel A. White
Que d'autres réponses postées,vous pouvez utiliser les Commentaires Conditionnels,mais qui permettrait d'ajouter une requête HTTP, lorsque l'utilisateur utilise IE8.
Vous pouvez utiliser le \0 hack dans le fichier css
hack
s. Les commentaires conditionnels est un moyen propre pour résoudre IE problèmes. Et sur la plupart des sites encore une demande pour un IE CSS n'est pas ce que vous devriez vous inquiéter lorsque vous commencez à optimiser :).-1 affecte IE9.
Affecte également IE10.
Les bonnes œuvres. Je suis sur un Oracle de gestion de contenu, système de quelqu'un d'autre contrôle et je ne peux pas ajouter une instruction conditionnelle si ce hack devra suffire.
OriginalL'auteur eddie yang
Pouvez-vous expliquer un peu plus ce que vous voulez?
Généralement, IE8 est tout à fait standards compatibles, donc assurez-vous que votre document HTML est en mode standard et de donner IE8 la même feuille de style comme n'importe quel autre navigateur.
Si IE est de faire des siennes, alors la meilleure solution est d'utiliser Les Commentaires Conditionnels à donner c'est à dire une feuille de style séparée.
OriginalL'auteur RoToRa
Utiliser le ie7-js bibliothèque Javascript qui fait un peu de magie pour faire les anciennes versions IE se comportent plus comme des navigateurs avec leur gestion du HTML et du CSS. Alors, comme d'autres l'ont suggéré, d'écrire du code dans un conforme aux normes de la manière dont se comporte bien avec les dernières versions de Chrome, Firefox, Opera, etc.
OriginalL'auteur entropo
Je cherchais une bonne option pour IE10 et ci-dessous le style CSS (mais cela fonctionne pour IE8 seulement), je n'ai pas envie d'une feuille de style supplémentaire pour des raisons de lisibilité, et je suis venu avec cette idée:
Je déclare mon div ou ce que vous voulez avec une classe supplémentaire, cela me permet d'avoir un surplus de CSS dans la même feuille de style dans une manière très lisible.
C'est valide W3C et pas un truc bizarre CSS hack.
OriginalL'auteur Sunkhern
ie8 seule: la meilleure façon est
body{background:#f00\0/;}
\0/) est la Ie8 CSS Hack
Vraiment? Mais je n'ai pas la voir. Êtes-vous sûr que c'est IE9?
peut-être une autre façon------------
code /* IE6 IE7 */ @media all\9 { body { background: green; } } /* IE8 */ @media \0screen { body { color: blue; } } /*IE9 IE10 */ @media screen and (min-width:0\0) { body { background: yellow; } } /* IE10 IE11 */ @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { .selector { property: value; } }
OriginalL'auteur reyhappen