пожалуйста, подскажите, возможно ли в стилевом файле прописать правило так, чтобы оно воспринималось только Ie7?
Вид для печати
пожалуйста, подскажите, возможно ли в стилевом файле прописать правило так, чтобы оно воспринималось только Ie7?
очень жаль, что ответ на этот вопрос так и не найден... (((
QuickSite, есть разные способы добиться определенного отображения элементов для разных версий IE.
1-й способ) Использовать условные комментарии (Conditional comments) при линковании таблиц стилей между <head></head>. Пример:
<head>
<!-- Основная таблица стилей -->
<link href="main.css" rel="stylesheet" type="text/css">
<!-- end -->
<!-- Для всех версий IE -->
<!--[if IE]><link href="ie.css" rel="stylesheet" type="text/css"><![endif]-->
<!-- end -->
<!-- Для IE 7 -->
<!--[if IE 7]><link href="ie7.css" rel="stylesheet" type="text/css"><![endif]-->
<!-- end -->
<!-- Для 6.0, 5.5, 5.01 -->
<!--[if lte IE 6]><link href="ie6.css" rel="stylesheet" type="text/css"><![endif]-->
<!-- end -->
</head>
2-й способ) это использование хаков. В отличие от условных комментариев, хаки не обязательно разносить по отдельным файлам. Пример:
CSS:
p.text1 {
backgroung: #0099CC;
//background: #00FF99;
_background: #0099CC;
\\background: #FFCC99;
}
HTML:
<p class="text1">Цвет фона данного абзаца будет закрашен в зависимости от версии IE</p>
первое свойство увидят все браузеры;
второе - проигнорируют все браузеры кроме IE 7.0 и меньше;
третье - проигнорируют все браузеры кроме IE 6.0 и меньше;
четвертое - проигнорируют все браузеры кроме IE 5.0 и IE 5.5
а это свойство
CSS:
*:first-child+html p.text1 {
background: #CC66CC;
}
воспримит только IE 7
3 способ) это использование JavaScript`ов для определения типа и версии браузера, и, исходя из полученных данных, загружать определенный стиль.
Exterior, спасибо, обязательно воспользуюсь каким-либо из перечисленных методов.
как прописать правило в Css файле, чтобы оно воспринималось только оперой?
Ответ на вопрос найден. Прошу прощения за беспокойство. Если кому интересно, то:
CSS-хаки для браузера Opera:
- @media all and (min-width: 0)
- {
- .style { background: #FF0; }
- }
- html:first-child .style
- {
- background: #FF0;
- }
- /* код валидный */
CSS-хаки для браузера FireFox:
- html:root .style
- {
- background: #FA0;
- }
- /* хак понимает Safari */
- .style, x:-moz-any-link
- {
- background: #FA0;
- }
Напишите, пожалуйста, конкретно, что и где прописать, чтобы заставить такое:"произвольный_тег" :hover{}работать в IE6!!!
Slash, вообще, чтобы CSS-правило воспринималось только IE6 и ниже, надо написать так:
произвольный тег :hover
{
_произвольное свойство:произвольное значение
}
Тут вся магия в символе подчёркивания перед свойством.
Чиловек имел ввиду скорее всего немного другое... Но выразить понятно свою мысль не смог.
Дело в том, что IE6 и ниже не воспринимают псевдокласс :hover не для каких элементов кроме ссылок.
Тоесть a:hover и капес. В то время как другие браузеры (в том числе и IE7) работают нормально и с другими элементами.
m1kola, проблема решается джаваскриптом. На сайте лебедева можно найти пример.
Да, кстати, уже достаточно долго существует проект называется_не_помню_как, который разрабатывает джаваскрипт (и последние версии очень даже удачны), заставляющий все браузеры ie обрабатывать код так, как если бы его обрабатывал ie7. Конечно, эстеты будут против, но, согласитесь, бывают случаи, когда проблемы совместимости необходимо решать любой кровью.