Есть ли способ написания CSS, чтобы определенный стиль применялся к конкретному браузеру? - PullRequest
0 голосов
/ 17 сентября 2010

У меня есть внешний CSS в моем проекте, и он содержит все стили для сайта, сайт хорошо работает с FF, но в IE становится все хуже и хуже (как обычно).

Итак, есть лиспособ написания CSS так, что конкретный стиль применяется к конкретному браузеру?

Если у меня есть класс, скажем:

.col2{ width:237px; }

Как я могу отредактировать вышеупомянутый класс, чтобы применить с различной шириной в IEи FF?

ПРИМЕЧАНИЕ. Я НЕ НУЖЕН JAVASCRIPT ДЛЯ ОПРЕДЕЛЕНИЯ БРАУЗЕРА.

Ответы [ 4 ]

5 голосов
/ 17 сентября 2010

Я думаю, что Пол Айриш придумал самое элегантное решение: http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/

1 голос
/ 17 сентября 2010

http://www.quirksmode.org/css/condcom.html

Условные комментарии - ваш друг!

Если вам просто нужно, чтобы он работал в IE6, вы можете * html 'взломать':

определите свой CSS:

.acol {
width: 100px;
}

, затем определите стиль для IE6 для переопределения:

* html .acol {
width: 200px;
}

Вторая часть для IE6 всегда должна прийти ПОСЛЕ первоначального объявления

0 голосов
/ 17 сентября 2010

Существует плагин jQuery, который называется Селектор браузера CSS .

Вы в основном указываете CSS, для какого браузера он нужен, без каких-либо условных комментариев или чего-либо еще:

.ie .myDiv 
{background-color: #f00;}

.webkit .myDiv
{background-color: #00f;}

Это действительно легко установить и использовать :)

0 голосов
/ 17 сентября 2010

Лучший способ - указать конкретные файлы CSS для IE с помощью условных комментариев: http://www.quirksmode.org/css/condcom.html

Другим способом являются хаки CSS, но они беспорядочные и обычно не приветствуются (в настоящее время): http://www.webdevout.net/css-hacks

...