CSS hover emulálása IE-ben
Hali! Nemrég olvastam olvastam hogy hogyan lehet CSS hover effektet emulálni IE-ben. Gondoltam kipróbálom. Én CSS szerkesztéshez a TopStyle 3 pro-t használom. Átállítom a CSS szintet IE6-ra és működik is. Sőt, ha a Browsers listában kiválasztom az Internet Explorer-t akkor is megy.
Viszont ha már az oldalt nézem, amelyikhez a css fájl van 'csatolva' ott már nem jó. Egyébként minden más működik.
A CSS fájl tartalma:
input
{
border: none;
background-color: #F1963F;
height: 16px;
width: 101px;
font-size: 10px;
font-family: Arial;
color: White;
padding: 1px;
}
input.hover
{
background-color: #CD853F;
}
input
{
behavior: url(hover.htc );
}
Tehát egy input mezőt szeretnék a hoverrel kicsit jobbá tenni.
A hover.htc tartalma:
<attach event="onmouseover" handler="hoverRollOver" />
<attach event="onmouseout" handler="hoverRollOff" />
<script type="text/javascript">
//
// Simple behaviour for IE5+ to emulate :hover CSS pseudo-class.
// Experimental ver 0.1
//
// This is an experimental version! Handle with care!
// Manual at: http://www.hszk.bme.hu/~hj130/css/list_menu/hover/
//
function hoverRollOver() {
element.origClassName = element.className; // backup origonal className
var tempClassStr = element.className;
tempClassStr += "Hover"; // convert name+'Hover' the last class name to emulate tag.class:hover
tempClassStr = tempClassStr.replace(/\s/g,"Hover "); //convert name+'Hover' the others to emulate tag.class:hover
tempClassStr += " hover"; // add simple 'hover' class name to emulate tag:hover
element.className = element.className + " " + tempClassStr;
//window.status = element.className; // only for TEST
}
function hoverRollOff() {
element.className = element.origClassName;
}
</script>
Ha vkinek működik ez a megoldás az szóljon.
Kösz!!
■ Viszont ha már az oldalt nézem, amelyikhez a css fájl van 'csatolva' ott már nem jó. Egyébként minden más működik.
A CSS fájl tartalma:
input
{
border: none;
background-color: #F1963F;
height: 16px;
width: 101px;
font-size: 10px;
font-family: Arial;
color: White;
padding: 1px;
}
input.hover
{
background-color: #CD853F;
}
input
{
behavior: url(hover.htc );
}
Tehát egy input mezőt szeretnék a hoverrel kicsit jobbá tenni.
A hover.htc tartalma:
<attach event="onmouseover" handler="hoverRollOver" />
<attach event="onmouseout" handler="hoverRollOff" />
<script type="text/javascript">
//
// Simple behaviour for IE5+ to emulate :hover CSS pseudo-class.
// Experimental ver 0.1
//
// This is an experimental version! Handle with care!
// Manual at: http://www.hszk.bme.hu/~hj130/css/list_menu/hover/
//
function hoverRollOver() {
element.origClassName = element.className; // backup origonal className
var tempClassStr = element.className;
tempClassStr += "Hover"; // convert name+'Hover' the last class name to emulate tag.class:hover
tempClassStr = tempClassStr.replace(/\s/g,"Hover "); //convert name+'Hover' the others to emulate tag.class:hover
tempClassStr += " hover"; // add simple 'hover' class name to emulate tag:hover
element.className = element.className + " " + tempClassStr;
//window.status = element.className; // only for TEST
}
function hoverRollOff() {
element.className = element.origClassName;
}
</script>
Ha vkinek működik ez a megoldás az szóljon.
Kösz!!
htc megfelelo header, utvonal
Az emlitett behaviort en irtam.
A forrasban levo URL-en olvashatod a pontos hasznalati utasitast is.
2 dolog lehet amit elsokent nez meg:
- a hover.htc utvonalat az IE hibasan nem a CSS-tol, hanem a html fajltol szamolja. Megoldas ha abszolut utvonalat hasznalsz.
- a hover.htc fajlt a szervernek megfelelo mime/type-pal (text/x-component) kell elkudenie, kulonben a windows xp az SP2 ota nem veszi figyelembe!
En kerdesem: a hover.htc-t te tetted be kezzel, vagy a CSS szerkeszto progi?
Hali! 1. - a hover.ht
1.
- a hover.htc utvonalat az IE hibasan nem a CSS-tol, hanem a html fajltol szamolja. Megoldas ha abszolut utvonalat hasznalsz.
Valóban. Megoldva a probléma. A html fájl mellé tettem a .htc-t.
2.
- a hover.htc fajlt a szervernek megfelelo mime/type-pal (text/x-component) kell elkudenie, kulonben a windows xp az SP2 ota nem veszi figyelembe!
Ezt konkrétan hogyan is kell csinálni?
Bocs, hogy csak most válaszoltam.
A hover.htc -t kézzel tettem be.
Ha esetleg majd a közeljövőben 'kitalálnál' hasonló okosságokat, akkor majd ne szégyeld megosztani velünk/velem is.
*******KÖSZI SZÉPEN*******
A választ meg a hover.htc-t is!!
megfelelő MIME típus beállítása
Van az apache config könyvtárban egy mime.types nevű fájl. Ebben lehet megadni, hogy adott kiterjesztés esetén milyen Content-Type fejlécet küldjön ki az apache. Itt kell megadnod, hogy htc esetén ez text/x-component legyen.
Felhő
Nekem működik ugyan, ha
Ez mitől lehet?
területek összeérnek?
a rés alatt szóközt
Ja és firefox alatt
A hover.htc, a CSS, és a HTML fájl is egy könyvtárba vannak, a linkelések jók.
Le is nyitja, csak épp amikor az almenü területre húznám az egeret, amint nem érintkezik a mutató a linkel bezárul a menü. Firefoxban hover nélkül jó, tehát valószínü hogy a HTML kód is jó, meg a CSS...
megoldás
A :hover -eknél be kell tenni egy background-color tulajdonságot.
E nélkül nem müxik IE-n.
Üdv:
Tebe