Voici mon bloc de CSS:
.actual-form table {
padding: 5px 0 15px 15px;
margin: 0 0 30px 0;
display: block;
width: 100%;
background: #f9f9f9;
border-top: 1px solid #d0d0d0;
border-bottom: 1px solid #d0d0d0;
}
Je veux seulement que IE 7, 8 et 9 "voit" width: 100%
Quelle est la manière la plus simple d'y parvenir?
css
internet-explorer
Voie rapide
la source
la source
width: auto
les éléments de bloc de la même manière que d'autres navigateurs tels que Firefox ou Chrome. Dans Chrome / Firefoxwidth:auto
étendra la largeur d'un élément de bloc sur toute la largeur de son conteneur. IE ne fait pas cela et nécessitewidth: 100%
Réponses:
Mise à jour 2017
Selon l'environnement, les commentaires conditionnels ont été officiellement obsolètes et supprimés dans IE10 +.
Original
Le moyen le plus simple est probablement d'utiliser un commentaire conditionnel Internet Explorer dans votre HTML:
Il existe de nombreux hacks (par exemple le hack de soulignement ) que vous pouvez utiliser qui vous permettront de cibler uniquement IE dans votre feuille de style, mais cela devient très compliqué si vous voulez cibler toutes les versions d'IE sur toutes les plates-formes.
la source
Explication: Il s'agit d'une requête multimédia spécifique à Microsoft. En utilisant la propriété -ms-high-contrast spécifique à Microsoft IE, elle ne sera analysée que dans Internet Explorer 10 ou supérieur. J'ai utilisé les deux valeurs valides de la requête multimédia, elle sera donc analysée par IE uniquement, que l'utilisateur ait activé le contraste élevé ou non.
la source
Outre les commentaires conditionnels d'IE, il s'agit d'une liste mise à jour sur la façon de cibler IE6 vers IE10.
Voir des hacks CSS et JS spécifiques au-delà d'IE .
la source
\9
et\0/
pourdisplay
sur un sélecteur de classe, mais les deux s'appliqueront également à IE10. Existe-t-il un moyen de postuler uniquement pour IE9 [et inférieur ou non]?\0/IE9
mais ne l'avez pas testé. Sinon, je ne connais pas d'autre moyen de cibler IE9 à moins que vous n'utilisiez des clauses conditionnelles:<!--[if IE 9]><link rel="stylesheet" type="text/css" href="ie9-specific.css" /><![endif]-->
@media screen and (min-width:0\0) {
hack semble également être analysé par IE11 - donc ce n'est pas seulement 9 et 10 - veuillez vérifier et mettre à jour vos commentaires.Il existe plusieurs hacks disponibles pour IE
Utilisation des commentaires conditionnels avec la feuille de style
Utilisation des commentaires conditionnels avec la section principale css
Utilisation de commentaires conditionnels avec des éléments HTML
Utilisation de la requête multimédia
la source
min-width:0\0
) s'applique également à IE11En plus d'un commentaire conditionnel, vous pouvez également utiliser le sélecteur de navigateur CSS http://rafael.adm.br/css_browser_selector/ car cela vous permettra de cibler des navigateurs spécifiques. Vous pouvez ensuite définir votre CSS comme
Cela vous permettra également de cibler des navigateurs spécifiques dans votre feuille de style principale sans avoir besoin de commentaires conditionnels.
la source
.ie9
ne fonctionne pas car il n'a pas été mis à jour depuis 2010.Je pense que pour les meilleures pratiques, vous devriez écrire une déclaration conditionnelle IE à l'intérieur de la
<head>
balise qui contient un lien vers votre feuille de style spéciale. Cela DOIT ÊTRE après votre lien css personnalisé afin qu'il remplace ce dernier, j'ai un petit site donc j'utilise le même css css pour toutes les pages.cela diffère de la réponse de James comme je pense (opinion personnelle parce que je travaille avec une équipe de concepteurs et je ne veux pas qu'ils touchent mes fichiers html et gâchent quelque chose là-bas), vous ne devriez jamais inclure de styles dans votre fichier html.
la source
Un peu tard sur celui-ci mais cela a parfaitement fonctionné pour moi lorsque j'ai essayé de masquer l'arrière-plan pour IE6 et 7
J'ai eu ce hack via: http://briancray.com/posts/target-ie6-and-ie7-with-only-1-extra-character-in-your-css/
la source
Bienvenue BrowserDetect - une fonction géniale.
Le
Object
BrowserDetect fournit également desversion
informations afin que nous puissions ajouter des classes spécifiques - par exemple.$('*').addClass('ie9');
si(BrowserDetect.version == 9)
.Bonne chance....
la source
Cela dépend vraiment des versions d'IE ... J'ai trouvé cette excellente ressource qui est à jour depuis IE6-10 :
la source
Pour / * Internet Explorer 9+ (une ligne) * /
Seule cette solution fonctionne parfaitement pour moi.
la source
la source
la source