Szybkie Hacki - bez zagłębiania się w zasadę działania
Długa lista hacków dla IE7. Wszystkie deklaracje zadziałają w tej przeglądarce. Listę w oryginale opublikował na swoim blogu Anne van Kesteren.
.ie7_hacks{
`background:red;
~background:red;
!background:red;
@background:red;
#background:red;
$background:red;
%background:red;
^background:red;
&background:red;
*background:red;
(background:red;
)background:red;
=background:red;
+background:red;
[background:red;
]background:red;
{background:red;
|background:red;
,background:red;
<background:red;
.background:red;
>background:red;
/background:red;
?background:red;
}W IE5, IE6, IE7(!) ustawi kolor na niebieski, w pozostałych na zielony
body{
color: green;
* color: blue;
}Ukryj przed IE5. W IE5.x/WIN (nie wiem czy Mac) ustawi szerokość na 100px, w innych przeglądarkach na 300px:
.menu{
width: 100px;
width: /**/300px;
}Styl nie zadziała w IE5-mac:
/*hack dla ie5\*/
body{background-color: red;}
/* koniec */
Styl zadziała tylko w IE6:
* html body{background-color: red;}
* html #myDiv{background-color: red;}Styl zadziała tylko w IE5.5, IE6:
.example{
_width: 100px;
}
Styl nie zadziała w IE 5.x (uwaga: ten hack przechodzi w ie jeśli backslash jest pierwszym znakiem, np: \width: 300px; zadziała):
.example{
back\ground: red;
}
.example{
heigh\t: 100px;
}
.example{
bord\er: 1px solid red;
}Styl nie zadziała w IE6:
html>body {background-color: red;}
html>body div#myDiv{background-color: red;}Styl zadziała tylko w Operach 7+:
@media all and (min-width: 0px){
.any_css_rules{width:100px;}
}Nie zadziała w starszych przegladarkach i Operach niższych niż 8 (tanhack):
body{
background-color: green;
voice-family: "\"}\"";
voice-family: inherit;
background-color: red;
}W IE w wersji 5, 6, 7.0beta2(wczesne wersje) ustawi wysokość na 100px - w innych na 200px:
.example{
height: 200px !important;
height: 100px;
}Multihack ustawia czerwony kolor dla ie, niebieski dla gecko, różowy dla opery w wersjach > 8.5:
/*ie*/
#example{
color: red;
}
/*firefox(gecko)*/
body:not([foobar]) #example{
color: blue;
}
/*opera > v8.5*/
@media all and (min-height:0px;){
body #example{
color: pink;
}
}
Komentarze warunkowe IE
nie wiem czy to powinno trafić do hacków (dlatego nie wrzucałem), ale niech będzie:
<!--[if IE]>
Kod TYLKO dla IE
<![endif]-->
możliwa składnia (numer wersji można zmieniać)
[if IE 6] - kod tylko dla IE6
[if IE 5.5] - kod tylko dla IE5.5
[if gte IE 5] - kod dla IE5 i wyższych
[if gt IE 5] - kod dla wyższych niż IE5
[if lte IE 5] - kod dla IE5 lub niższych
[if lt IE5] - kod dla niższych niż IE5
[!IE 7] - kod dla każdej wersji oprócz IE7
kod dla wszystkich przeglądarek oprócz IE:
<!--[if !IE]>< -->
kod nie dla IE
<!-- ><![endif]-->
XHTML 1.0
Wyślij mi maila / kontakt