no expression
Использование expression для решения проблемы max/min-width в отношении к любимом браузеру IE6, не всем по нутру. Одно время занимался эмуляцией оного и не без успеха. Тем, кто категорически не переносит его применение и посвящена данная заметка.
Понятное дело, тут будет затронут только max/min-width.
Часто ссылаюсь на "Комплект шаблонов". Если не обращать внимание на не возможность печати в Internet Explorer и перемещение по странице без перезагрузки с помощью меток-якорей, то можно признать приведенное там решение практически безукоризненным.
Тех кого не пугает данный расклад, приглашаю ознакомиться с не много препарированным макетом поближе, в свете собственной концепцией блочно-модульной верстки под не скромным названием Техника Gordi.
Основой послужит блок #middle описанный ранее в "Возвращение к истокам"./p>
Напомню стандартную трех колоночную разметку:
<div id="middle">
<div class="wrap">
<div class="content">Middle Content</div>
</div>
<div class="right">Middle Right</div>
<div class="left">Middle Lef></div>
</div>
Чтобы получить рабочую эмуляцию max/min-width понадобится дополнительный контейнер:
<div class="main"> Тут блок #middle со всеми своими вложениями </div>
Стили:
/* NO */
* {margin:0;padding:0;}
*html .main {float:right;}/ * без этого в IE6 полная резина */
#middle,
.wrap,
.content,
.left,
.right {overflow:hidden;}
#middle,.wrap {height:100%;}
.wrap {margin-right:-100%;width:100%;}
.wrap,.left {float:left;}
.left,
.right {margin-bottom:-32767px;padding-bottom:32767px;}
.right {float:right;}
/* YES */
body {background-color:#eee;font:11px/1.18 verdana;}
body {
margin:5px 2%;/* 2% max-width */
padding:0 0 0 700px;/* min-width */
}
.main {
border:silver 1px solid;
margin:0 0 0 -700px;/* min-width */
}
#middle {background-color:#fff;}
.content {padding:0 200px;}
.left {background:#eee;width:200px;}
.right {background:#ddd;width:200px;}
Вот так, все легко и просто :)
Стоит пойти и посмотреть, ищем ссылку no expression_middle
Там же по методе "Footer Gordi", но без сто процентной высоты страницы, показана возможность полноценной разметки - линк no expression_footer.
Иное расположение колонок отведенных под навигацию относительно области контента, мной было представлено, найти большого труда не составит и по аналогии у вас все получится в лучшем виде :)
А вот заниматься footer-ом, который всегда внизу, нет никакого желания :) Поверьте не стоит он того.
К сожалению в первом приближении, попытка обойтись без блока main простым сдвигом на один уровень вверх, не дала результата. Причем именно в IE6, а из-за него собственно весь этот сыр-бор, к тому же попутно была прихвачена и семерка, макет оказался резиновым. А вот и FireFox2(3) и OPERA9.23(9.5) оказались на высоте.
Смотрит там же, ссылка no expression_html_body
Во всех случаях играем размерами окна браузера по горизонтали.
Подобного рода изыски, сейчас не только об expression, через год, два потеряют свою актуальность.
Уход на заслуженную пенсию "любимого" браузера оставит в памяти яркие страницы сражений и поражений на поле брани - верстке.