Css-хак под любой браузер — легко!
Обычно я не беру материалы с популярных источников, не читать же моим читателям одно и тоже по сто раз, но это будет исключение, не могу удержатся поделится с остальными такой полезной вещью.
С помощью этого хака можно будет изменять вид вашего сайта(редактируемой странички) для любого браузера и любой ОС в отдельности.
Смотрим код:
<script type="text/javascript">
var cssFix = function(){
var u = navigator.userAgent.toLowerCase(),
addClass = function(el,val){
if(!el.className) {
el.className = val;
} else {
var newCl = el.className;
newCl+=(" "+val);
el.className = newCl;
}
},
is = function(t){return (u.indexOf(t)!=-1)};
addClass(document.getElementsByTagName('html')[0],[
(!(/opera|webtv/i.test(u))&&/msie (\d)/.test(u))?('ie ie'+RegExp.$1)
:is('firefox/2')?'gecko ff2'
:is('firefox/3')?'gecko ff3'
:is('gecko/')?'gecko'
:is('opera/9')?'opera opera9':/opera (\d)/.test(u)?'opera opera'+RegExp.$1
:is('konqueror')?'konqueror'
:is('applewebkit/')?'webkit safari'
:is('mozilla/')?'gecko':'',
(is('x11')||is('linux'))?' linux'
:is('mac')?' mac'
:is('win')?' win':''
].join(" "));
}();
</script>
Думаю после просмотра кода Вы поняли в чем суть этого скрипта.
Изменять css свойства для разных браузеров мы будем с помощью следующих css классов:
Классы ОС:
- .win - Windows
- .linux - Linux
- .mac - MacOS
Классы браузеров:
- .ie - все версии ИЕ
- .ie8 - ИЕ 8.х
- .ie7 - ИЕ 7.x
- .ie6 - ИЕ 6.x
- .ie5 - ИЕ 5.x
- .gecko - все версии фаерфокса, и остальные гекко-браузеры
- .ff2 - фаерфокс 2
- .ff3 - фаерфокс 3
- .opera - все версии оперы
- .opera8 - опера 8.x
- .opera9 - опера 9.x
- .konqueror - konqueror
- .safari - сафари
К примеру на нужно изменить цвет шрифта для третьей версии Firefox запущенной под Windows.
.win .ff3 {
color: #000000;
}
На мой взгляд, просто и гениально. Единственный минус этого способа — javascript, так что все юзеры с отключенным javascript'ом отсекаются.
Используйте на здоровье! ;-)

Спасибо
Особенно радует «Написал Я собственной персоной» ;)
Подумываю убрать этот кусочек кода в вордпресс.
Тогда никого это не будет радовать (-:
Приеду — уберу.
Эмм, а мне казалось, что когда откуда-то берут статью, ставят ссылку а источник :)
Я когда на хабре прочитал, еле удержался от копипаста :)
а ссылку на хабраисточник? А то некрасиво ж…
2aratak, ну автор в самом начале поста написал что не претендует на своё авторство. А вот ссылка – правило хорошего тона. В принципе настоящий автор, не требовал ссылку при цитировании.
значит это не автор а копипастер
значит будем навариваться на деликатных нежадных авторах, которые вместо здрасьте сразу в лоб не требуют ссылку? я когда копипастю – мне пофигу – просил автор, или требовал – я поставлю ссылку на источник – для меня самого это важно в первую очередь.
«Я помню чудное мгновение» – это очень красиво, но даже тому, кто никогда не читал Пушкина, я не буду тереть что это мои стихи – мне самому стыдно и неприятно будет, да, таким мама воспитала.
Как сказал кто-то умный, если оно есть в интернет, значит у этого есть бесконечное количество копий.
Извините, у меня день рождения был, писал заметку на скорую руку, и честно говоря, забыл про ссылку ;-)
Поздравляю :), как говорится с прошедшим.
поздравляемъ
[кстати, прикрути кнопку удаления сессии в комментировании]
кстати
.win .ff3 {
color: #000000;
}
не будет работать так как оба класа установлены у html а в css идет клас за класом селектор :)
Вот это то что давно искал спасибо.
Смысл от этого, тогда уж проще сделать отдельные файлы для каждого браузера, чтобы не грузить бестолковый для меня стиль IE / Safari / Oper’ы и еще кучки браузеров если я сижу в FF, да и вобще …
Спасибо))Сохранил на винт))
Неплохо продумано, но в основном все проблемы связаны с IE. Поэтому под все остальные браузеры можно не париться, потому что они обычно отображают так, как показывает опера или файерфокс. Для меня IE – это заноза в заднице, все там как-то криво.
ненавижу код без отступов ;-( уж в одну строку всё написали бы
>Неплохо продумано, но в основном все проблемы связаны с IE. Поэтому под все остальные браузеры можно не париться
Хе хе. А под другие ОС? Сравните ФФ 3 под мак и под вынь =)
Полезный скрипт. Активно юзаю подобный.
А если у меня к примеру. Как его совместить с win. ie.?
Запарился разбираться с хаками для IE. Половина того что пишут миф.
А за это большое человеческое спасибо.