Je crée un site en utilisant le nouveau Twitter Bootstrap. Le site a l'air bien et fonctionne dans tous les navigateurs requis sauf IE8.
Dans IE8, il semble afficher des éléments de la version mobile mais s'étendant sur tout l'écran de mon bureau. Je crois que le problème que j'ai, c'est que le bootstrap Twitter est d'abord mobile. Donc, pour une raison quelconque, IE8 opte pour cette option.
Je remarque également que la container
classe ne semble pas tirer les propriétés CSS de largeur maximale comme prévu. Quelqu'un peut-il voir ce que j'ai fait de mal?
<!-- Favicon -->
<link rel="shortcut icon" href="/favicon.ico">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
<!-- Bootstrap -->
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0-rc1/css/bootstrap.css" rel="stylesheet">
<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.min.css" rel="stylesheet">
<script src="/SiteFiles/js/modernizr.js"></script>
<!-- CSS -->
<link href="/SiteFiles/css/main.css" rel="stylesheet">
<header>
<div class="topArea clearfix">
<div class="container">
<div class="topLinks">
<div class="btn-group">
<span class="flag" data-toggle="dropdown"> </span>
<ul class="dropdown-menu">
<li><a href="#">Country 1</a></li>
<li><a href="#">Country 2</a></li>
<li><a href="#">Country 3</a></li>
<li class="divider"></li>
<li><a href="#">Country 4</a></li>
<li><a href="#">Country 5</a></li>
<li><a href="#">Country 6</a></li>
</ul>
</div>
<div class="visible-sm btn-group">
<div class="plus" data-toggle="dropdown"><i class="icon-plus icon-2x"> </i></div>
<ul class="dropdown-menu">
<li><a href="#">Parts & Service</a></li>
<li><a href="#">Store Locator</a></li>
<li><a href="#">Find a Service Centre</a></li>
<li><a href="#">Parts List</a></li>
<li><a href="#">Tool Vibration</a></li>
<li><a href="#">Resource Centre</a></li>
<li><a href="#">Media Centre</a></li>
<li><a href="#">Register your Tools</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">
<button type="button" class="btn btn-default">Where to Buy</button></a></li>
</ul>
</div>
<div class="topNav">
<ul class="hidden-sm">
<li>
<div class="btn-group">
<a href="#" data-toggle="dropdown">Parts & Service</a>
<ul class="dropdown-menu">
<li><a href="#">Store Locator</a></li>
<li><a href="#">Find a Service Centre</a></li>
<li><a href="#">Parts List</a></li>
<li><a href="#">Tool Vibration</a></li>
</ul>
</div>
</li>
<li><a href="#">Resource Centre</a></li>
<li><a href="#">Media Centre</a></li>
<li><a href="#">Register your Tools</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">
<button type="button" class="btn btn-default">Where to Buy</button></a></li>
</ul>
</div>
<div class="searchArea">
<input type="text" />
<a href="#" class="goBtn">GO</a>
</div>
</div>
</div>
</div>
<div class="mainNavArea">
<div class="container rel">
<div class="logo">
<img src="/SiteFiles/img/logo.png" title="Milwaukee - Nothing but heavy duty" alt="Milwaukee - Nothing but heavy duty" />
</div>
<div class="navi">
<div class="navbar">
<div class="container">
<!-- .navbar-toggle is used as the toggle for collapsed navbar content -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-responsive-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- Place everything within .navbar-collapse to hide it until above 768px -->
<div class="nav-collapse collapse navbar-responsive-collapse">
<ul class="nav nav-justified">
<li><span class="dropArrow"> </span><span class="topNavPosition">Power Tools</span>
<div class="navDrop">
<div class="navDropInner">
<div class="row">
<div class="hidden-sm col-sm-4 col-lg-4">
<img src="/SiteFiles/img/drill.jpg" alt="" />
</div>
<div class="col-12 col-sm-8 col-lg-8">
<h2>Power Tools</h2>
<div class="row">
<div class="col-6 col-sm-6 col-lg-6">
<a href="#">Cutters</a>
<a href="#">Levels</a>
<a href="#">Pliers</a>
<a href="#">Saws</a>
<a href="#">Screwdrivers</a>
</div>
<div class="col-6 col-sm-6 col-lg-6">
<a href="#">Snips</a>
<a href="#">Utility Knives</a>
<a href="#">Combo Knives</a>
<a href="#">Hand Tool Accessories</a>
</div>
</div>
</div>
</div>
</div>
<a href="#" class="closeNav">X</a>
</div>
</li>
<li><span class="dropArrow"> </span><span class="topNavPosition">Hand Tools</span>
<div class="navDrop">
<div class="navDropInner">
<div class="row">
<div class="hidden-sm col-sm-4 col-lg-4">
<img src="/SiteFiles/img/drill.jpg" alt="" />
</div>
<div class="col-12 col-sm-8 col-lg-8">
<h2>Hand Tools</h2>
<div class="row">
<div class="col-6 col-sm-6 col-lg-6">
<a href="#">Cutters</a>
<a href="#">Levels</a>
<a href="#">Pliers</a>
<a href="#">Saws</a>
<a href="#">Screwdrivers</a>
</div>
<div class="col-6 col-sm-6 col-lg-6">
<a href="#">Snips</a>
<a href="#">Utility Knives</a>
<a href="#">Combo Knives</a>
<a href="#">Hand Tool Accessories</a>
</div>
</div>
</div>
</div>
</div>
<a href="#" class="closeNav">X</a>
</div>
</li>
<li><span class="dropArrow"> </span><span class="topNavPosition">Test & Measurement</span>
<div class="navDrop">
<div class="navDropInner">
<div class="row">
<div class="hidden-sm col-sm-4 col-lg-4">
<img src="/SiteFiles/img/drill.jpg" alt="" />
</div>
<div class="col-12 col-sm-8 col-lg-8">
<h2>Test & Measurement</h2>
<div class="row">
<div class="col-6 col-sm-6 col-lg-6">
<a href="#">Cutters</a>
<a href="#">Levels</a>
<a href="#">Pliers</a>
<a href="#">Saws</a>
<a href="#">Screwdrivers</a>
</div>
<div class="col-6 col-sm-6 col-lg-6">
<a href="#">Snips</a>
<a href="#">Utility Knives</a>
<a href="#">Combo Knives</a>
<a href="#">Hand Tool Accessories</a>
</div>
</div>
</div>
</div>
</div>
<a href="#" class="closeNav">X</a>
</div>
</li>
<li><span class="dropArrow"> </span><span class="topNavPosition">Accessories</span>
<div class="navDrop">
<div class="navDropInner">
<div class="row">
<div class="hidden-sm col-sm-4 col-lg-4">
<img src="/SiteFiles/img/drill.jpg" alt="" />
</div>
<div class="col-12 col-sm-8 col-lg-8">
<h2>Accessories</h2>
<div class="row">
<div class="col-6 col-sm-6 col-lg-6">
<a href="#">Cutters</a>
<a href="#">Levels</a>
<a href="#">Pliers</a>
<a href="#">Saws</a>
<a href="#">Screwdrivers</a>
</div>
<div class="col-6 col-sm-6 col-lg-6">
<a href="#">Snips</a>
<a href="#">Utility Knives</a>
<a href="#">Combo Knives</a>
<a href="#">Hand Tool Accessories</a>
</div>
</div>
</div>
</div>
</div>
<a href="#" class="closeNav">X</a>
</div>
</li>
</ul>
</div>
<!-- /.nav-collapse -->
</div>
<!-- /.container -->
</div>
<!-- /.navbar -->
</div>
</div>
</div>
</header>
Réponses:
Vous avez obtenu votre CSS de CDN (bootstrapcdn.com) respond.js ne fonctionne que pour les fichiers locaux. Essayez donc votre site Web sur IE8 avec une copie locale de bootstrap.css. Ou lisez: CDN / X-Domain Setup
Remarque Voir également: https://github.com/scottjehl/Respond/pull/206Mettre à jour:
Veuillez lire: http://getbootstrap.com/getting-started/#support
Voir aussi: https://github.com/scottjehl/Respond
Pour cette raison, le modèle de base contient ces lignes dans la section head:
la source
respond.js
??J'ai également dû définir la balise META suivante:
la source
<div class="left-finger-picker img-responsive">
pour afficher une image où:left-finger-picker
est comme suit:.left-finger-picker { width: 200px; height: 210px; position : relative; background-size: cover; background-image : url("../myPics/leftHand.png"); background-repeat: no-repeat; background-size: contain; }
cependant, il ne répond pas dans IE8J'ai eu ce même problème lors de la transition de Bootstrap 2 à 3. J'avais déjà obtenu respond.js et html5shiv.js et mis ma méta à bord. J'avais manqué que de 2 à 3 le type d'élément navbar avait changé. Dans Bootstrap 2, c'était nav. Dans Bootstrap 3, c'est maintenant l'en-tête. Donc, pour résoudre complètement le problème, je devais
Mettez cela juste après avoir chargé mon css:
puis changer
à
Oh et pour faire bonne mesure, j'ai également ajouté
simplement parce que c'est ce que le site Bootstrap lui-même a.
la source
<div class="left-finger-picker img-responsive">
pour afficher une image où:left-finger-picker
est comme suit:.left-finger-picker { width: 200px; height: 210px; position : relative; background-size: cover; background-image : url("../myPics/leftHand.png"); background-repeat: no-repeat; background-size: contain; }
cependant, il ne répond pas dans IE8Dans mon cas, le CSS bootstrap minifié était à l'origine du problème. Pour rendre bootstrap 3.0.2 réactif dans IE8 (émulé à l'aide des outils de développement F12), j'ai dû:
1 - Définissez le drapeau compatible X-UA.
2 - Utilisez le bootstrap.css non minifié, au lieu de bootstrap.min.css
3 - Ajoutez le respond.js (et html5shiv.js)
la source
<div class="left-finger-picker img-responsive">
pour afficher une image où:left-finger-picker
est comme suit:.left-finger-picker { width: 200px; height: 210px; position : relative; background-size: cover; background-image : url("../myPics/leftHand.png"); background-repeat: no-repeat; background-size: contain; }
cependant, il ne répond pas dans IE8mettre
respond.js
en bas de page mais avant de fermer labody
balise et voici le lien derespond.js
et exécuter ce code dans votre localhost.https://github.com/scottjehl/Respond
la source
respond.js
devrait être chargé après les feuilles de style.Au cas où. Assurez-vous de charger les fichiers js spécifiques à IE après avoir chargé vos fichiers css.
la source
N'oubliez pas de placer vos liens css dans le
<head>
carrespond.js
ne prend que ceux-ci.la source
Comme indiqué précédemment, il existe deux problèmes différents: 1) IE8 ne prend pas en charge les requêtes multimédias 2) respond.js utilisé conjointement avec les fichiers css interdomaines doit être inclus comme décrit précédemment.
Si vous souhaitez utiliser BootstrapCDN, voici un exemple de travail:
Assurez-vous également de copier respond.proxy.gif, respond.min.js et response.proxy.js dans les répertoires locaux
la source
Après avoir vérifié:
Col-lg, col-md et col-sm ne fonctionnaient toujours pas. Enfin, j'ai déplacé les références à bootstrap avant les références à html5shiv.js et respond.js et tout a fonctionné.
Voici un extrait:
la source
D'après l'explication, il est dit que IE8 est la version standard pour vous et faire
content="IE=edge"
affichera la page dans le mode le plus élevé. Pour le rendre compatible, changez-le encontent="IE=8"
.Référence Que fait <meta http-equiv = "X-UA-Compatible" content = "IE = edge">?
la source
Nécessaire à ajouter -
<meta http-equiv="X-UA-Compatible" content="IE=edge">
J'utilisais Bootstrap 3 - le faisait fonctionner sur IE sur mon local.
Je l'ai mis en direct ne fonctionnait pas dans IE.
Just Bootstrap n'inclut pas cette ligne de code dans leurs modèles, je ne sais pas pourquoi, mais cela pourrait être dû au fait qu'il n'est pas compatible W3C.
la source
J'ai un correctif pour ce problème. En fait, IE7 et 8 ne prennent pas correctement en charge @media et si vous vérifiez le css pour les classes «col-md- *» et que la largeur est indiquée en largeur de média 992px. Créez simplement un nouveau fichier css IE par exemple: IE.css et ajoutez les commentaires conditionnels. Et puis copiez simplement les classes requises pour votre conception directement avec toutes les requêtes multimédias et vous avez terminé.
la source
J'ai eu exactement le même problème lors de la migration de bootstrapv2 vers la v3.
Si (comme moi) vous avez migré en remplaçant l'ancien spanX par col-sm-X, vous devez également ajouter des classes col-X. col-X sont les styles qui sont en dehors de tous les blocs @media afin qu'ils fonctionnent sans prise en charge des requêtes multimédias.
Pour fixer la largeur du conteneur, vous pouvez la définir vous-même en dehors d'un bloc @media. Quelque chose comme:
la source
J'ai rencontré le même problème dans IE 10.0. Je sais que ce n'est pas exactement le problème dans le PO, mais ce sera peut-être utile pour d'autres.
Dans mon cas, j'avais une ligne vide au début du document:
Si la ligne vierge se trouve entre le DOCTYPE et la balise, le problème est également affiché:
Une fois que j'ai supprimé la ligne vierge, et sans la méta magique compatible X-UA, IE 10 a commencé à rendre le site correctement.
Si vous utilisez PHP et Smarty, soyez prudent avec vos commentaires Smarty car ils ajouteront ces lignes vierges problématiques :-)
la source
mon étiquette de tête est comme ceci:
si vous voulez essayer en local ... essayez via localhost, ou créez un serveur QA et définissez le contenu et essayez.
Nous avons besoin de respond.js pour le bootstrap 3 et cela ne fonctionnera pas sur la machine locale si nous le mettons simplement dans js et l'ajoutons à html dans l'en-tête. Il dira que l'accès est refusé. cela ne fonctionne que via le serveur car IE a une restriction de sécurité. : P
la source
J'ai lu tous les commentaires ici, j'ai tout essayé .. mais je n'ai pas pu le faire fonctionner avec Windows 7 - Internet Explorer 11 ( avec le mode document: IE8 ).
Ensuite, il m'est venu à l'esprit que l'exécution d'un mode document (IE8) n'est pas la même chose que le vrai IE8, j'ai donc installé Windows Virtual PC ( Windows 7 avec Internet Explorer 8 ) et tadaaaa ... cela fonctionne comme un charme!
J'ai mis ce morceau de code JUSTE en bas de la page pour le faire fonctionner:
la source
Tout comme un avertissement. J'ai eu le même problème et rien de ce qui précède ne l'a résolu pour moi. Finalement, j'ai découvert que respond.js n'analysait pas le CSS référencé via @import . J'ai fait
bootstrap.min.css
importer le tout via@import
monmain.css
.Assurez-vous donc que vous n'avez pas de CSS contenant vos requêtes multimédias référencées via @import .
la source
J'ai résolu les étapes ci-dessous.
(1) installé le module Respond.js pour drupal 7. (2) module lessphp pour drupal 7 défini dans les bibliothèques, au lieu du dossier du module. (3) (3.1)
<meta http-equiv="X-UA-Compatible" content="IE=edge">
(3.2)
en utilisant cdn bootstrap à partir du réglage du thème.
Pour en savoir plus, consultez mon blog de site Web pour la conception et le développement de drupal www.devangsolanki.com
la source
Si vous utilisez Bootstrap 3 et que tout fonctionne correctement sur d'autres navigateurs à l'exception d'IE, essayez ce qui suit.
la source
Utilisez cette solution
Cette chaîne
<script src="js/css3-mediaqueries.js"></script>
active les mediaqueries. Cette chaîne<link rel="stylesheet" type="text/css" href="css/bootstrap-ie7.css" />
active les polices d'amorçage.Testé sur Bootstrap 3.3.5
Lien pour télécharger mediaqieries.js . Lien pour télécharger bootstrap-ie7.css
la source
Assurez-vous de lier la source d'amorçage séparément
Si vous utilisez
LESS
ouSASS
ne soyez pas trop gourmand avec la compilation des styles. Dans mon projet, j'ai inclusbootstrap.min.css
dans mon style principal, en haut du fichier - il ne devrait donc y avoir qu'une seule demande pour tous les styles.Et à cause de cela, les classes boostrap ne fonctionnaient pas correctement. Lorsqu'il est ajouté séparément, fonctionne comme prévu.
la source
J'ai fait face au même problème, j'ai essayé la première réponse mais quelque chose manquait.
Si vous utilisez Webpack, votre css sera chargé comme une balise de style qui n'est pas prise en charge par respond.js, il a besoin d'un fichier, alors assurez-vous que le bootstrap est chargé en tant que fichier css
Personnellement j'ai utilisé
extract-text-webpack-plugin
J'espère que cela vous aidera
la source