Как сделать таблицу стилей Chrome / Opera?
мне нужно chrome / opera хаки из-за сценария замены шрифта, который хочет клиент, который ломает вещи... это печально, но все работает в IE6-7, FF2-3 и Safari. У меня нет способа исправить сам скрипт, я могу только взломать его с помощью CSS и HTML.
Я пытаюсь сделать что-то в строках :
<!--[if IE 6]>
<link rel="stylesheet" href="ie6.css" type="text/css" media="screen" />
<![endif]-->
это возможно?
Я видел этот способ выполнения конкретных исправлений chrome, таких как:
body:nth-of-type(1) .elementOrClassName
{
/* properties go here */
}
Is это работает? Есть ли более простой способ? как насчет оперы?
спасибо!
6 ответов
чистый javascript способ сделать это:http://rafael.adm.br/css_browser_selector/
Это объявления браузера конкретных классов к тегу тела вашего html, который вы можете использовать в css, как:
.opera #thingie, .chrome #thingie {
do: this;
}
надеюсь, что это помогает.
избегайте CSS-хаков. Они сломаются.
Google Chrome:
@media not all and (-webkit-min-device-pixel-ratio:0)
{
#example
{
width: 200px;
}
}
сафари:
@media screen and (-webkit-min-device-pixel-ratio:0)
{
#example
{
width: 200px;
}
}
Опера:
@media not screen and (1)
{
#example
{
width: 200px;
}
}
сделать CSS применяться только для Opera 11?
для Google (и Safari) вы можете просто использовать следующее;
<link rel="stylesheet" href="style-sheet_chrome.css" type="text/chrome/safari" />
это загрузит определенную таблицу стилей webkit. "Тип" может быть назван как угодно, но должен быть включен.
вы просто идете вперед и создаете свою таблицу стилей, как вам нравится, и все браузеры, отличные от webkit, просто игнорируют ее.
вам придется использовать хаки выше для оперы. Лучше всего мне работало следующее:
@media not screen and (1)
{
#example
{
width: 200px;
}
}
я использовал его для загрузки браузер-конкретный шрифт-лицо @деклараций.
Я не тестировал это решение, но согласно запись в блоге, вы можете попробовать следующее для Chrome:
if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1)
{
var chromeCss = document.createElement("link");
chromeCss.rel = "stylesheet";
chromeCss.href = "ChromeStyle.css";
document.getElementsByTagName("head")[0].appendChild(chromeCss);
}
.ie-Internet Explorer (все версии)
.ie10-Internet Explorer 10.x
.ie9-Internet Explorer 9.x
.ie8-Internet Explorer 8.x
.ie7-Internet Explorer 7.x
.ie6-Internet Explorer 6.x
.ie5-Internet Explorer 5.x
.gecko-Firefox (все версии), Camino, SeaMonkey
.ffxx-Firefox xx (изменить xx с номером конкретной версии) new
.ff4-Firefox 4.x
.ff3-Firefox 3.x
.ФФ2 - в Firefox 2.x
.opera-Opera (все версии)
.opera12 - опера 12.x
.opera11 - Опера 11.x
.opera10 - Опера 10.x
.opera9 - Опера 9.x
.opera8 - Опера 8.x
.konqueror-Konqueror
.webkit-Safari, NetNewsWire, OmniWeb, Shiira, Google Chrome
.chrome-Google Chrome (все версии)
.chromexx-Chrome xx (изменить xx с номером конкретной версии) new
.safari-Safari (все версии) new
.утюг - SRWare Железо!--24-->
.[Код ОС].[Код браузера] .yourclass { padding-left:5px; font-size: 14px }
тело { фон-цвет:#000 }
.ИЕ8 тело {фонового цвета:#111 } (специфические для Интернет Эксплорер 8.х)
.выиграть.ИЕ8 тело { фонового цвета:#222 } (специфические для Интернет Эксплорер 8.x, в Microsoft Windows всех версий)
.Opera body { background-color:#333 } (все версии Opera)
.FF15 body { background-color:#444 } (специально для Firefox 15.x)
.Линукс.геккон body { background-color:#555 } (Firefox, Camino, SeaMonkey все версии, на x11 и Linux )
.ie7 #правильно,.ie7 #слева { ширина: 320px }
для получения дополнительной информации, посетите эту ссылку http://cssbs.altervista.org/
просто помните, что: "пользователь-агент нюхает baaaddd"
Это не и никогда не будет хорошей практикой.
это просто боль в заднице, чтобы поддерживать веб-сайт, где реализуется нюхание пользовательского агента.
вы должны предпочесть отдельные таблицы стилей или css-хаки, если они находятся в низком количестве или если у вас нет времени, чтобы сделать несколько таблиц стилей.
для Opera вы можете использовать этот трюк :
@media all and (-webkit-min-device-pixel-ratio:10000),
not all and (-webkit-min-device-pixel-ratio:0) {
#id {
css rule;
}
}
и, к сожалению, каждый Chrome css хаки также применяются к Safari.
нет способа разделить 2 визуализации, за исключением старых версий Safari (