In een poging om een compatible dropdown menu te creëren loop ik tegen een frustrerend probleem aan. De bedoeling is om zoveel mogelijk gebruik te maken van css. Na veel geklooi en gezoek op GoT & Google is het dan eindelijk gelukt om een dropdown menu te maken met setTimeout, clearTimeout, alles wat ik mezelf maar kon wensen.
Bij de vormgeving loop ik echter tegen een klein probleem aan. Wanneer ik de onmouseover aanroep, wordt er een tabel in een layer geopend. Deze tabel wordt opgemaakt dmv de volgende code:
Geen probeem zou je zeggen, tabelletje ziet er helemaal perfect uit. Alleen worden de 1px solid borders #343A7C van de betreffende td's al weergegeven nog voordat de layer geshowed (onmouseover) moet worden.
Na wat speurwerk blijkt dit probleem te zitten in de border-collapse:collapse;
Haal ik deze weg, dan sluiten de tr's of td's niet goed op elkaar aan, wat dus wel de bedoeling is. Dit kan ik oplossen door cellspacing="0" toe te voegen aan de html-pagina, maar ik wil de tabel eigenlijk in z'n geheel opmaken in css, zonder de cellspacing attribuut dus.
Hieronder heb ik drie voorbeelden staan:
1. Pagina wordt op deze manier precies weergegeven zoals ik wil, echter wordt dit gedaan na toevoeging van de cellspacing attribuut, wat niet de bedoeling is:
http://www.man84.com/menu/cellspacing/index.html
2. Pagina wordt goed weergegeven, buiten het feit dat het onmouseover menu ruimte laat zien tussen de betreffende rijen.
http://www.man84.com/menu/none/index.html
3. Dit kan ik oplossen door border-collapse:collapse; toe te voegen. Het menu wordt dan weer perfect werkend, alleen verschijnen de borders al voordat de layer wordt aangeroepen... het hele effect van het menu verdwijnt dus.
http://www.man84.com/menu/border-collapse/index.html
Methode 3 werkt overigens prima in Firefox, Internet Explorer geeft echter problemen. Wat moet ik nu ondernemen om, of te zorgen dat het menu nog niet wordt weergegeven voor de onmouseover enerzijds, of de cellspacing terug te brengen zonder gebruik te maken van het cellspacing attribuut anderzijds...
Ik zit zelf al te lang te zwoegen op dit probleem, waarschijnlijk iets heel kleins, maar ik zie het over het hoofd..
Bij de vormgeving loop ik echter tegen een klein probleem aan. Wanneer ik de onmouseover aanroep, wordt er een tabel in een layer geopend. Deze tabel wordt opgemaakt dmv de volgende code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| .submenu-tabel
{
width:144px;
padding:0px;
margin:0px;
background-color:#FFFFFF;
border:0px;
border-collapse:collapse;
}
.submenu-tabel td
{
background-color:#E5F5FF;
border-bottom:1px solid #343A7C;
margin:0px;
text-align:left;
vertical-align:middle;
padding-left:28px;
padding-right:10px;
cursor:pointer;
font-family:arial,helvetica, sans-serif;
font-size:8pt;
text-decoration:none;
color:#000000;
font-weight:100;
} |
Geen probeem zou je zeggen, tabelletje ziet er helemaal perfect uit. Alleen worden de 1px solid borders #343A7C van de betreffende td's al weergegeven nog voordat de layer geshowed (onmouseover) moet worden.
Na wat speurwerk blijkt dit probleem te zitten in de border-collapse:collapse;
Haal ik deze weg, dan sluiten de tr's of td's niet goed op elkaar aan, wat dus wel de bedoeling is. Dit kan ik oplossen door cellspacing="0" toe te voegen aan de html-pagina, maar ik wil de tabel eigenlijk in z'n geheel opmaken in css, zonder de cellspacing attribuut dus.
Hieronder heb ik drie voorbeelden staan:
1. Pagina wordt op deze manier precies weergegeven zoals ik wil, echter wordt dit gedaan na toevoeging van de cellspacing attribuut, wat niet de bedoeling is:
http://www.man84.com/menu/cellspacing/index.html
2. Pagina wordt goed weergegeven, buiten het feit dat het onmouseover menu ruimte laat zien tussen de betreffende rijen.
http://www.man84.com/menu/none/index.html
3. Dit kan ik oplossen door border-collapse:collapse; toe te voegen. Het menu wordt dan weer perfect werkend, alleen verschijnen de borders al voordat de layer wordt aangeroepen... het hele effect van het menu verdwijnt dus.
http://www.man84.com/menu/border-collapse/index.html
Methode 3 werkt overigens prima in Firefox, Internet Explorer geeft echter problemen. Wat moet ik nu ondernemen om, of te zorgen dat het menu nog niet wordt weergegeven voor de onmouseover enerzijds, of de cellspacing terug te brengen zonder gebruik te maken van het cellspacing attribuut anderzijds...
Ik zit zelf al te lang te zwoegen op dit probleem, waarschijnlijk iets heel kleins, maar ik zie het over het hoofd..
