Да, это неправильно с точки зрения стандартов и некрасиво, но таким способом гораздо проще верстать.
CSS-хаки для браузера Opera
1 2 3 |
*|html[xmlns*=""] .style { background: #F00; } |
1 2 3 4 5 |
html:first-child .style { background: #F00; } /* код валидный */ /* только для Opera < 9.5 */ |
1 2 3 4 5 |
opera:-o-prefocus .style { background: #F00; } /* для Opera 9.5 - 12.16 */ /* вместо "opera" можно подставить любое слово/символ */ |
CSS-хак для браузера FireFox
1 2 3 |
@-moz-document url-prefix() { .style {background: #F00;} } |
CSS-хаки для браузера Internet Explorer 6
1 2 3 4 |
.style { _background: #F00; } /* код валидный */ |
Несмотря на то, что CSS-валидатор принимает хак с подчеркиванием за ошибку, спецификация CSS 2.1позволяет использовать данную конструкцию.
1 2 3 4 |
* html .style { background: #F00; } /* код валидный */ |
CSS-хаки для браузера Internet Explorer 7
1 2 3 4 |
*+html .style { background: #F00; } /* код валидный */ |
1 2 3 4 |
*:first-child+html .style { background: #F00; } /* код валидный */ |
1 2 3 |
html>body .style { *background: #F00; } |
CSS-хак для браузера Internet Explorer 8
1 2 3 |
:root .style { background: #F00\9; } |
К сожалению, IE10 тоже понимает данный хак.
CSS-хак для браузера Internet Explorer 10
1 2 3 |
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { .style {background: #F00;} } |
CSS-хаки для браузера Safari
1 2 3 4 |
body:last-child:not(:root:root) .style { background: #F00; } /* для Safari < 4.0 */ |
1 2 3 4 |
html[xmlns*=""] body:last-child .style { background: #F00; } /* для Safari < 4.0 */ |
CSS-хаки для браузера Google Chrome
Пока не найдены.