Историческая рубрика.
Имеем атавизм в виде IE6 и непонимаемый им CSS-атрибут min-width.
Что делать?
- Аналогом min-width в IE6 какой-то мере выступают динамические выражения, встраиваемые в CSS. Эти выражения позволяют с помощью скриптов, написанных на языке JavaScript, менять значения стилевых параметров «на лету». Так, достаточно определить ширину окна браузера и если она меньше определенной величины, подставить новое значение ширины контейнера. Для этого следует написать следующую конструкцию.
width: expression(document.body.clientWidth > 420 ? "100%" : "420px")
Вначале пишем стилевой параметр width, а после двоеточия задаем ключевое слово expression. В скобках указан так называемый тернарный оператор, он трактуется следующим образом. Если ширина окна браузера (document.body.clientWidth) больше, чем 420 пикселов, то в качестве значения width используется 100%, иначе width присваивается значение 420px. (Копипаст с htmlbook.ru)
- Min-width в Internet Explorer 6 и ниже можно эмулировать стилями, без обычного, в данном случае, JavaScript (в IE7 min-width работает).
/* min-width для остальных браузеров */ body {margin:0;padding:0;} .outer { background-color:red; margin:0 auto; min-width:600px } /* стили для IE6 */ * html .outer {padding-left:600px} * html .minwidth {height:0} /* holy hack для IE, что бы включить свойство hasLayout */ * html .container {margin-left:-600px;position:relative; height:0}
HTML:
<div class="outer"> <div class="minwidth"> <div class="container"> Блок с min-width 600 пикселей. </div> </div> </div>
- Темы с http://www.cssplay.co.uk/boxes/minwidth.html, но я их не понял.
- Еще один трюк с хабра http://habrahabr.ru/blogs/webdev/68917/:
Суть трюка проста:
‹table›‹tr›‹td width=1100› — максимальная ширина
‹div width=900 /› — распорка, минимальная ширинаПричем именно так, ширина не у таблицы, а у ячейки. Таким образом шире, чем 1100 таблица не будет (в данном случае), но при этом если она уже — скроллер не появляется. При этом если ширина рабочей области менее 900 — скроллер уже отобразится.