Max-width для IE6 | описание 2-х способов

Max-width для IE6 Дата публикации: 10.01.2009 ...

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

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

Проблема

IE6 не понимает свойство max-width.

Решение

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

.block {
max-width: 1002px;
width:expression(document.body.clientWidth > 1002? "1002px": "auto" );
}

Если зависает, можно пробовать изменить условие:


.block {
max-width: 1002px;
width:expression(document.body.clientWidth < 1002? "auto": "1002px" );
}

или попробовать еще вот так — задать в условии ширину на 1 больше, чем требуется:


.block {
max-width: 1002px;
width:expression(document.body.clientWidth > 1003? "1002px": "auto" );
}

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

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

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

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


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

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

</script>
<![endif]-->
</head>
<body>
<div
id="wrap">
...содержимое...
</div>
</body>
</html>

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

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

Недостатки:

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

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

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

  • HasLayout | знакомимся, управляем, применяем
  • Min-height для IE6 | без использования expression
  • Min-width для IE6 | описание 4-х способов
  • Min-width и max-width одновременно для IE6 | описание 2-х способов
  • 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