Min-width и max-width одновременно для IE6 | описание 2-х способов

Min-width и max-width одновременно для IE6 Дата публикации: 10.01.2009...

Дата публикации: 10.01.2009

Последнее обновление: 31.01.2009

Проблема

IE6 не понимает min-width и max-width

Решение

Метод 1 — используем expression

.block {
min-width: 400px;
max-width: 800px;
width:expression(document.body.clientWidth > 800? "800px" : (document.body.clientWidth
}

Плюс данного метода — простота реализации.

Недостатки данного метода:

  • не всегда возможно его использовать, из-за невозможности привязки к ширине масштабируемого блока
  • может подвисать браузер (IE6)
  • замедляет работу браузера (IE6)
  • требует включенного Javascript
  • не проходит валидацию
Метод 2 — используем Javascript

Включаем в код страницы скрипт:


<html>
<head>
<style
type="text/css">
* {margin: 0; padding:0;}
#wrap {
min-width: 400px;
max-width: 800px;
}
</style>
<!--[if lte IE 6]>
<script type="text/javascript">
window.attachEvent("onload", mmwidth);

window.attachEvent("onresize", mmwidth);
function mmwidth(){
document.getElementById("wrap").style.width = (document.body.clientWidth 800 ? "800px" : "100%")) };

</script>
<![endif]-->
</head>
<body>

<div id="wrap">
...содержимое...
</div>
</body>
</html>

Плюсы данного метода:

  • не подвисает браузер
  • валидный код

Недостатки:

  • должен быть включен Javascript
  • довольно много «лишнего кода» (можно обойти, если скрипт вынести в отдельный js файл)
Теги:

Смотрите также в этом разделе

Смежные материалы, которые могут быть вам полезны

  • HasLayout | знакомимся, управляем, применяем
  • Max-width для IE6 | описание 2-х способов
  • Min-height для IE6 | без использования expression
  • Min-width для IE6 | описание 4-х способов
  • PNG и прозрачность в IE6 | 4 метода | обход проблем
  • position:fixed для IE6 | описание 4-х способов
  • Блочная модель в IE6 | решаем проблему с размерами блоков для IE6
  • Высота блока 1px для IE6 | решаем проблемы с блоками небольшой высоты
  • Для IE6 устраняем flickering — обращение к серверу при наведении на элемент
  • Дублирование символов в IE6
  • Дырка под футером при показе блока в IE 6
  • Как перекрыть поверх слоем select в IE6
  • Как перекрыть поверх слоем select в IE6
  • Обрезка контента c отрицательным margin в IE6
  • Отступы плавающих блоков в IE6 | решаем проблему с большим отступом у плавающих блоков
  • Псевдокласс :first-child для ИЕ6
  • Псевдокласс hover в IE 6
  • Селектор потомков > для IE6
  • Селекторы атрибутов [type=…] в ИЕ6
  • Сестринский селектор для IE6
  • Ссылки с вложением
  • Убираем смещение на 1px в IE6 для right:0 и bottom:0