@mkoreshkov

Условные комментарии или мозга за мозгу заехала

Столкнулся с тем, что при верстке нужно использовать не хаки, а условные комментарии. И сижу почему-то в полном ступоре.
Допустим, мы имеем комментарий:
<!--[if lt IE 8]><link href="ie7.css" rel="stylesheet" type="text/css" /><![endif]--> 


Какой текст у нас находится в ie7.css? Тот же что и в main.css? C хаками?
  • Вопрос задан
  • 2486 просмотров
Пригласить эксперта
Ответы на вопрос 6
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Т.к. этот этот файл будет прочитан только ie7, нет нужды писать там * html .myClass, достаточно .myClass

Это, конечно, не отменяет необходимости в expression'ах, zoom: 1, трюках для работы inline-block и тому подобной прелести.
Из main.css все эти «сокровища» надо удалить и перенести в ie7.css.
Ответ написан
taliban
@taliban
php программист
Конечно (см как что хочешь то и пиши там), просто при выносе Вам будет удобней исправлять глюки «для ие», да и мусора будет меньше в основном файле со стилями.
Ответ написан
Комментировать
@skvot
Попробую объяснить на пальцах. Предположим, вы верстаете макет. Смотрите на результат в своем любимом браузере — все отлично. Открываете в IE — вот черт! Центральным блок съехал на 15 пикселей влево! В таком случае разумно воспользоваться условным комментарием и вернуть для IE блок на место.
Другой случай — вы верстаете и в процессе пользуетесь прозрачностью. Большинство браузеров поймут селектор opacity, но для IE придется использовать filter: alpha. И этот «ИЕшный» селектор вы можете написать и в основном файле стилей — на отображение страницы в других браузерах он не повлияет. В таком случае условный комментарий излишен.
Все примеры вымышлены :)
Ответ написан
bigdogsru
@bigdogsru
Просто подключаете файл ie7.css через условные комментарии последним, после общего файла со стилями. И соответственно прописываете в нем только те правила, которые должны исправить ошибки в ie7. Например, expressions для прозрачных png.
Ответ написан
Комментировать
barmaley_exe
@barmaley_exe
Не совсем понял сути вопроса.
Выносите в подключаемый файл те стили, которые нужны только для ie6-7. Данный файл будет подключен только этими браузерами, остальные его проигнорируют. Естественно, другие файлы стилей, подключенные на странице, также будут загружены.
Ответ написан
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Да просто посмотрите, как сделано хотя бы здесь: habrahabr.ru/css/1300975367/ie7.css
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы