Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2010-11-06 10:34:34

artoodetoo
Admin by chance
Зарегистрирован: 2008-09-09
Сообщений: 887
Сайт

Уголок ненависти. hover в IE6 или как я чуть не свихнулся.

Прямого отношения к Flux это не имеет, конечно. Все мы люто ненавидим Internet Explorer 6 smile Только совсем не учитывать его существование пока не можем.

Расскажу как я едва не сошел с ума. Как известно IE6 не понимает псевдокласс :hover когда он применяется НЕ к тегу <a>. Есть разные рецепты лечения, на мой взгляд самый удобный через behavior. Файл .htc это на самом деле javascript который воспринимает только IE.

<!--[if lt IE 7]>
<style type="text/css" media="screen">
body { behavior:url("../js/csshover.htc"); }
</style>
<![endif]-->

Так вот, решение известное. Поставил себе тестовый пример странички с "выпадающим меню на голом CSS". Для IE6 включил behaviour - не работает. Файл .htc скачивается, а пример не работает! Пробую открыть эту же страничку не через http, а просто как файл - работает. Что за нах!!!

К счастью догадался обратиться к Яндексу и нашел вот это объяснение: http://forum.dklab.ru/viewtopic.php?t=28800
Оказывается мой Apache должен просто возвращать "правильный" заголовок для .htc файла, тогда глупый ослик будет работать правильно.

Бонус

Пример кросс-браузерного выпадающего меню без Javascript от Stu Nicolls. Original. Фишки: выскакивающие подменю могут выравниваться влево и вправо, автоматическая ширина подменю. Stu использует хак с условными комментариями и вложенностью <a> <table> для IE6. Посмотрите код страницы и поймёте. Работает совсем без JS.
Я переделал на behaviour, т.к. всё равно буду его использовать для других фишек, зачем мне лишняя разметка!

  • Оригинальный пример: test 1

  • Моя версия: test 2

Одним архивом: zip


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Offline

#2 2010-11-06 20:08:13

scalemaster
Участник
Зарегистрирован: 2009-08-10
Сообщений: 134

Re: Уголок ненависти. hover в IE6 или как я чуть не свихнулся.

Вторю. IE ещё то Г.
У меня, конечно, проблемы несколько иного масштаба, т.к. в CSS мало понимаю. Просто столкнулся со следующим: вчера целый день делал шаблон. Получилось для чайника довольно неплохо. Всё было нормально, т.к. проверял имеющимися браузерами (Firefox, K-Meleon, Opera, Chrome). А тут чёрт дёрнул погуглить по теме, и, гляжу, многие офигевают от IE6. Хорошо, поставил его (он у меня снесён под корень из соображений безопасности  big_smile  ) . В оригинале песочный фон, зелёненький ободок, светленькие жёлто-зелёные панели. В ишаке почему-то всё покрылось серыми горизонтальными полосами, хотя серого цвета нет и в помине. Пришлось опять гуглить, и нашёл хак по теме: _background: #
Уж не знаю. как 7-й IE (не ставится), а 6-й скушал.

Offline

Подвал доски

Под управлением FluxBB. Хостинг Hostens