min-width и max-width для IE6 одновременно

Используя выражения в CSS-файле для Internet Explorer 6, можно добиться поведения, которое все нормальные браузеры уже давно умеют, а именно min-width и max-width свойства для блока:

#someblock{
width:expression(((document.documentElement.clientWidth ||↵
document.body.clientWidth) < 990) ? '990px' : ↵
((document.body.clientWidth > 1280) ? ‘1280px’ : ‘100%’));
} 

Данная заметка является скорее чем-то вроде self-note, но вдруг будет полезна и вам.

P.S. Не забывайте выносить стили для IE в отдельные файлы с помощью Conditional Comments и будет вам счастье :)

Upd.:

После общения с uggallery в коментариях, было решено оптимизировать скрипт так, чтобы не использовать expressions, из-за которых частенько подвисает браузер. Вот что из этого получилось:

Так как скрипт нужен нам только для IE6, выделяем его с помощью Conditional Comments. Скрипт срабатывает на двух событиях - onload и onresize, что не обязательно:

 <!--[if lte IE 6]>
<script type="text/javascript">
window.attachEvent(‘onload’, mmwidth);
window.attachEvent(‘onresize’, mmwidth);
function mmwidth(){
document.getElementById(‘wrap’).style.width = ↵
((document.documentElement.clientWidth || ↵
document.body.clientWidth) < 990) ? ‘190px’ :↵
((document.body.clientWidth > 1280) ? ‘1000px’ : ‘1000px’);
};
</script>
<![endif]--> 

Все что нужно сделать - это подставить id нужного вам элемента, ну и конечно значения максимальной и минимальной ширины. document.body.clientWidth соответственно тоже меняйте по вкусу.

Скрипт на оригинальность не претендует, да по большому счету от expression и не отличается, просто вынесен из CSS. Знаете как сделать лучше? Нашли ошибку? Коментируйте.

За идею спасибо uggallery, за консультацию copyhold‘у.

Рабочий пример.

Internet Explorer 7 завоевывает рынок

Интернет Эксплорер 7Вышло обновление для Интернет Эксплорера 7. В своем стремлении завоевать рынок Майкрософт отменил проверку Windows Genuine Advantage validation при установке браузера, что само по себе хорошо и указывает на желание мелкомягких охватить как можно большую часть рынка.

Теперь не нужно никаких ухищрений для установки IE7, только скачать и установить. Изменений в движке почти нет, и на сколько я понял, локализованые версии еще не проапдейтились.

Из минорных изменений:
- Меню теперь видно по дефолту
- Обновлен онлайн-тур для новичков и любопытствующих
- Изменен инсталятор .msi, изменение касается администраторов сетей.

Для тех, кто использует описаный мною способ установки IE6 и IE7 на одну машину одновременно нужно всего лишь положить скачаный дистрибутив в папку со всеми остальными файлами.

Качаем

Safari под Windows

Да, да. Я не ошибся. Вышла публичная бета версия Safari 3 для Windows. Для меня это стало приятной неожиданностью.

Safari

Теперь у разработчиков есть реальная возможность тестировать свои творения под Safari, да и просто попользоваться этим браузером. А у MSIE в очередной раз отбирают долю пользователей. Качаем.

А для тех из вас, кто уже озадачился описанием специфических стилей предлагаю вариант, найденый мной на просторах Сети:

::root p { color: red; }

Этот стиль будет читаться только в Safari. Если знаете другие варианты - вэлкам в комменты.

P.S. Для тех, у кого проблемы со шрифтами в Safari под Windows в продолжении способ лечения. Читать дальше >>

Двойной слэш

Выяснил для себя еще один способ отделения стилей для Интернет Эксплорера в одном и том же файле.

Все дело в том, что только Интернет Эксплорер прочтет свойства в файлах стилей, отмеченные с помощью двойного слэша ( // ).

Соответственно при описывании стиля для того или иного элемента нужно описать все свойства, а в конце дописать исправления для IE, выделив их двойным слэшем.

#some_block{
width: 130px; - Все браузеры
//width: 100px; - Интернет Эксплорер
}

Любой нормальный браузер игнорирует эти свойства, а Интернет Эксплорер прочтет и имплементирует.

Все довольны, стили для IE описаны, валидация CSS сохранена. Но никто не отменял вот это.

Баг элемента select в Интернет Эксплорер 7?

Столкнулся с очень неприятным моментом при создании формы. Проблема наблюдается только в Интернет Эксплорере 7. При нажатии на select вывод опций блокируется так, как будто это popup, хотя никакого popup там нет.

IE 7 sucks
Кликнуть для увеличения

Складывается неприятная ситуация. Стрелками можно выбирать опции, а мышкой нельзя. Код валидный + CSS, Javascript’ом даже не пахнет. Проверил на других сайтах - то же самое.

А может это и не баг вовсе? Но если не баг, то хамство со стороны мелкомягких как минимум. На скриншоте все хорошо видно.

Пока даже не знаю в какую сторону смотреть. Никто не сталкивался с этим?

Upd. Пока что ничего кроме симпатичной картинки не нашел:

IE7 bug

Upd. 2 Проблема оказалась в моем компьютере. Весь сыр-бор из-за того что на машине бегут 6 и 7 Интернет Эксплореры одновременно. И так как 7-ой IE в систему не установлен как положено, вот он и глючит.