Я создаю сайт, используя новый Twitter Bootstrap. Сайт выглядит нормально и работает во всех необходимых браузерах, кроме IE8.
В IE8, похоже, отображаются элементы мобильной версии, но они растянуты на весь экран моего рабочего стола. Я полагаю, что проблема, с которой я столкнулся, заключается в том, что загрузчик Twitter является мобильным. Так что по какой-то причине IE8 идет на эту опцию.
Я также заметил, что container
класс, кажется, не использует свойства CSS максимальной ширины, как предполагалось. Кто-нибудь может увидеть, что я сделал не так?
<!-- 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>
Ответы:
Вы получили свой CSS из CDN (bootstrapcdn.com) response.js работает только для локальных файлов. Так что попробуйте свой сайт на IE8 с локальной копией bootstrap.css. Или читайте: Настройка CDN / X-Domain
Примечание. См. Также: https://github.com/scottjehl/Respond/pull/206.Обновить:
Пожалуйста, прочитайте: http://getbootstrap.com/getting-started/#support
Смотрите также: https://github.com/scottjehl/Respond
По этой причине базовый шаблон содержит следующие строки в разделе заголовка:
источник
respond.js
??Я также должен был установить следующий тег META:
источник
<div class="left-finger-picker img-responsive">
чтобы показать изображение, где:left-finger-picker
выглядит следующим образом:.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; }
однако в IE8 оно не отзывчивоУ меня была такая же проблема при переходе с Bootstrap 2 на 3. Я уже получил response.js и html5shiv.js и установил мета в край. Я пропустил, что от 2 до 3 изменился тип элемента navbar. В Bootstrap 2 это был nav. В Bootstrap 3 теперь это заголовок. Таким образом, чтобы полностью решить проблему, мне пришлось
Поместите это сразу после того, как я загрузил свой CSS:
а затем изменить
в
Ох, и для хорошей меры я также добавил
просто потому, что это то, что есть у самого сайта Bootstrap.
источник
<div class="left-finger-picker img-responsive">
чтобы показать изображение, где:left-finger-picker
выглядит следующим образом:.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; }
однако в IE8 оно не отзывчивоВ моем случае проблема была связана с уменьшенным загрузчиком CSS. Чтобы сделать загрузочную версию 3.0.2 адаптивной в IE8 (эмулированную с помощью инструментов разработчика F12), мне пришлось:
1 - Установите флаг X-UA-Compatible.
2 - использовать не минимизированный bootstrap.css вместо bootstrap.min.css
3 - Добавьте response.js (и html5shiv.js)
источник
<div class="left-finger-picker img-responsive">
чтобы показать изображение, где:left-finger-picker
выглядит следующим образом:.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; }
однако в IE8 оно не отзывчивопоместите
respond.js
внизу страницы, но перед закрытиемbody
тега, вот ссылкаrespond.js
и запустите этот код на вашем локальном хосте.https://github.com/scottjehl/Respond
источник
respond.js
следует загружать после таблиц стилей.На всякий случай. Убедитесь, что вы загружаете специфичные для IE файлы js после загрузки файлов css.
источник
Не забудьте разместить ваши ссылки CSS в
<head>
asrespond.js
принимает только те.источник
Как указывалось ранее, есть две разные проблемы: 1) IE8 не поддерживает медиазапросы 2) response.js, используемый вместе с междоменными css файлами, должен быть включен, как описано ранее.
Если вы хотите использовать BootstrapCDN, вот рабочий пример:
Также не забудьте скопировать response.proxy.gif, response.min.js и response.proxy.js в локальные каталоги
источник
После проверки:
Все еще col-lg, col-md и col-sm не работали. Наконец, я переместил ссылки на bootstrap до ссылок на html5shiv.js и response.js, и все заработало.
Вот фрагмент:
источник
Из объяснения говорится, что IE8 - это стандартная версия для вас, и она
content="IE=edge"
будет отображать страницу в самом высоком режиме. Чтобы сделать его совместимым, измените его наcontent="IE=8"
.Ссылка Что делает <meta http-equ = "X-UA-Compatible" content = "IE = edge">?
источник
Нужно добавить -
<meta http-equiv="X-UA-Compatible" content="IE=edge">
Я использовал Bootstrap 3 - он работал на IE на моем локальном компьютере.
Я положил это вживую не работает в IE.
Просто Bootstrap не включает эту строку кода в свои шаблоны, я не уверен, почему, но это может быть связано с тем, что он не совместим с W3C.
источник
У меня есть решение этой проблемы. На самом деле IE7 и 8 не поддерживают @media должным образом, и если вы проверите css для классов «col-md- *», и ширина указана в медиа-ширине 992px. Просто создайте новый CSS-файл IE, например: IE.css, и добавьте условные комментарии. А затем просто скопируйте классы, необходимые для вашего дизайна, напрямую с любыми медиа-запросами, и все готово.
источник
У меня была точно такая же проблема при переходе с bootstrapv2 на v3.
Если (как и я) вы мигрировали, заменив старый spanX на col-sm-X, вам также нужно добавить классы col-X. col-X - это стили, которые находятся за пределами любых блоков @media, поэтому они работают без поддержки медиазапросов.
Чтобы установить ширину контейнера, вы можете установить его вне блока @media. Что-то вроде:
источник
Я страдаю той же проблемой в IE 10.0. Я знаю, что это не совсем проблема в ОП, но, возможно, это будет полезно для других.
В моем случае у меня была пустая строка в начале документа:
Если между DOCTYPE и тегом находится пустая строка, проблема также отображается:
После того, как я удалил пустую строку и без волшебной мета X-UA-Compatible, IE 10 начал правильно отображать сайт.
Если вы используете PHP и Smarty, будьте осторожны с комментариями Smarty, потому что они добавят эти проблемные пустые строки :-)
источник
моя голова тег выглядит так:
если вы хотите попробовать в локальном ... попробуйте через localhost, или создайте QA-сервер и установите содержимое и попробуйте.
Нам нужен response.js для начальной загрузки 3, и он не будет работать на локальной машине, если мы просто поместим его в js и добавим его в html в заголовке. Будет сказано, что доступ запрещен. он работает только через сервер, так как IE имеет ограничение безопасности. :П
источник
Я прочитал каждый комментарий здесь, попробовал все ... но не смог заставить его работать с Windows 7 - Internet Explorer 11 ( с режимом документа: IE8 ).
Затем пришло в голову, что режим работы с документами (IE8) отличается от реального IE8, поэтому я установил Windows Virtual PC ( Windows 7 с Internet Explorer 8 ) и tadaaaa ... он работает как шарм!
Я поместил этот кусок кода просто внизу страницы, чтобы он работал:
источник
Просто как головы. У меня была такая же проблема, и ни один из вышеперечисленных не решил ее для меня. В конце концов я обнаружил, что response.js не анализирует CSS, на который ссылается @import . У меня было целое
bootstrap.min.css
импортировано через@import
мойmain.css
.Поэтому убедитесь, что у вас нет CSS, содержащего ваши медиа-запросы, на которые ссылается @import .
источник
Я решил следующие шаги.
(1) установлен модуль Respond.js для drupal 7. (2) модуль lessphp для drupal 7 установлен в библиотеках вместо папки модуля. (3) (3.1)
<meta http-equiv="X-UA-Compatible" content="IE=edge">
(3.2)
используя загрузчик cdn из настроек темы.
Чтобы узнать больше, просмотрите мой блог на сайте, посвященный дизайну и разработке drupal www.devangsolanki.com
источник
Если вы используете Bootstrap 3 и все отлично работает в других браузерах, кроме IE, попробуйте следующее.
источник
Используйте это решение
Эта строка
<script src="js/css3-mediaqueries.js"></script>
включает медиазапросы. Эта строка<link rel="stylesheet" type="text/css" href="css/bootstrap-ie7.css" />
включает загрузочные шрифты.Проверено на Bootstrap 3.3.5
Ссылка для скачивания mediaqieries.js . Ссылка для загрузки bootstrap-ie7.css
источник
Убедитесь, что вы связываете источник начальной загрузки отдельно
Если вы используете
LESS
илиSASS
не быть жадным с компиляцией стилей. В моем проекте я включилbootstrap.min.css
свой основной стиль вверху файла - поэтому для всех стилей должен быть только один запрос.И из-за этого классы Boostrap не работали должным образом. При добавлении отдельно работает как положено.
источник
Я столкнулся с той же проблемой, попробовал первый ответ, но чего-то не хватало.
Если вы, ребята, используете Webpack, ваш css будет загружен как тег стиля, который не поддерживается response.js, ему нужен файл, поэтому убедитесь, что bootstrap загружен как файл css.
Лично я пользовалась
extract-text-webpack-plugin
Надеюсь, это поможет вам
источник