WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   mouseover på tomma divar i IE (https://www.wn.se/forum/showthread.php?t=15630)

Robert 2006-08-16 09:21

Har ett problem som Google inte kan lösa. :)

Jag har en tom div med följande css:
position:absolute;width:20px;height:20px;backgroun d-color:transparent;top:0;left:20px;

Mitt problem är att om jag sätter bakgrundsfärgen till ingenting (eller Transparent) så fungerar inte onmouseover i IE såtillvida man inte träffar på något som ligger och skrammlar i diven, tex en text. Sätter jag någon annan bakgrundsfärg så fungerar mouseover från kant till kant så att säga... och jag behöver ha en osynlig div!

I firefox fungerar detta med en tom div samt transparent bakgrund.

Jag kan sätta pengar på att jag har gjort detta förut, men nu verkar hjärnan hänga sig kvar i semestern.

Charlie 2006-08-16 12:59

Du kanske skulle kunna sätta en bakgrundsfärg men sedan använda dig av Internet Explorers filter-funktioner eller genomskinlighetsfunktioner i CSS för att åstadkomma samma sak?

Daniel.st 2006-08-16 13:14

Hur går det om du inte sätter bakgrundsfärgen alls, alt. sätter den till blankt, ingenting?

koala 2006-08-16 14:00

Eller om du använder en genomskinlig gif-bild som bakgrundsbild?

Robert 2006-08-16 14:19

När jag inte sätter någon bakgrundsfärg alls så tar den inte onmouseover...däremot så har jag en annan webapp här som den tar onmousemove över hela tomma div'en. Får kanske använda den istället. Tyvär så triggar ju onmousemove hela tiden, till skillnad från onmouseover som bara triggar 1 gång per "muspekarbesök" ;)

Tja, visst skulle man kunna köra filter, men jag vill att det ska fungera i firefox också, och en genomskinlig gif...mja, som en absolut sista utväg kanske (i brist på bröd får man äta limpa)!

Kaffe 2006-08-16 19:27

Gjorde ett snabbt experiment, och det räcker uppenbarligen att enbart hänvisa till en bakgrundsbild, den behöver inte ens finnas där.

Kod:

div#liketotallytransparentdude { position:absolute;width:500px;height:500px;background: url(thereisnospoon) transparent;top:0;left:20px; cursor: pointer; }
Det här fungerade läskigt nog. Nu skulle jag i o f lägga in åtminstone någon form av bakgrundsbild, eller i a f ange en filändelse.

Robert 2006-08-17 09:03

Citat:

Originally posted by Kaffe@Aug 16 2006, 19:27
Gjorde ett snabbt experiment, och det räcker uppenbarligen att enbart hänvisa till en bakgrundsbild, den behöver inte ens finnas där.

Kod:

div#liketotallytransparentdude { position:absolute;width:500px;height:500px;background: url(thereisnospoon) transparent;top:0;left:20px; cursor: pointer; }
Det här fungerade läskigt nog. Nu skulle jag i o f lägga in åtminstone någon form av bakgrundsbild, eller i a f ange en filändelse.

Mycket konstigt, det fungerar med en fejkurl. Även om det känns som ett fulhack så måste jag nog norpa din idé så att jag kommer vidare. Hojta gärna till om ni stöter på en närmare förklaring.

Tack för Kaffet, kaffe. :)

dotvoid 2006-08-17 15:34

Istället för en bild som inte finns kanske det vore bättre med en genomskinlig gif i så fall. Trevligare att inte få en massa 404 i loggarna.

Charlie 2006-08-17 21:57

Citat:

Tja, visst skulle man kunna köra filter, men jag vill att det ska fungera i firefox också, och en genomskinlig gif...mja, som en absolut sista utväg kanske (i brist på bröd får man äta limpa)!

Anledningen till att jag rekommenderade filter var att det ju faktiskt var Iexplore som strulade. Du skulle kunna göra en separat CSS för Firefox där du inte ens har problemet. Hur som helst har dock även Firefox funktioner för att åstadkomma genomskinlighet :)

Kaffe 2006-08-18 06:54

Citat:

Originally posted by Xyzi@Aug 17 2006, 21:57
Citat:

Tja, visst skulle man kunna köra filter, men jag vill att det ska fungera i firefox också, och en genomskinlig gif...mja, som en absolut sista utväg kanske (i brist på bröd får man äta limpa)!

Anledningen till att jag rekommenderade filter var att det ju faktiskt var Iexplore som strulade. Du skulle kunna göra en separat CSS för Firefox där du inte ens har problemet. Hur som helst har dock även Firefox funktioner för att åstadkomma genomskinlighet :)

I så falll hade ju det här varit bättre:

Kod:

*<!--[if lt IE 7]>
 * <style type="text/css">
 * *div#liketotallytransparentdude { background: url(blank.gif) transparent; }
 * </style>
 *<![endif]-->

Övriga CSS-regler hamnar i korrekt stilmall. På det här viset får ju enbart IE den CSS-regel som den behöver. Alla andra browsers får den normala.

Finns fler webbläsare än IE och FF <_<


Alla tider är GMT +2. Klockan är nu 05:15.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson