navigationsbar: problem med at gøre <ul></ul> usynlig

Tags:    html css

Hej

Undskyld den noget kryptiske overskrift, men det var det bedste jeg kunne finde på !

Jeg sidder og roder med en navigationsbar lavet HTML og CSS og den volder mig ikke så få problemer, så jeg håber en af jer lige vil give mig en hand.

Det er vigtigt for mig, at understrege, at jeg ikke har nogen erfaring med at lave en navigationsbar med submenuer, så dette er et lille project jeg burger til at samle noget erfaring, derfor er det også vigtigt at navigationsbarens CSS er så simple som muligt, da den er nemmere for mig at overskue.

Mit problem er at jeg ikke kan få fjernet den blå farve under menu-punktet "products" uden at jeg fjerner hele farven fra navigationsbaren.

Jeg er godt klar over, at grunden til at højden på dette list item er det den er, er fordi den har indhold.

Fold kodeboks ind/udHTML kode 


Fold kodeboks ind/udCSS kode 


Link en jsfiddle, som illustrerer problemet

Der ser udtil at være en forskydning af submenuen products - det er der ikke på min skærm herhjemme, så hvad der lige sker ved jeg ikke !



Indlæg senest redigeret d. 08.03.2014 23:38 af Bruger #16670
2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Der er lidt tvetydigheder i din CSS, som gør at det ikke fungerer for dig.

Jeg har ændret lidt i den, og her er resultatet: http://jsfiddle.net/gfsz3/3/



Der er lidt tvetydigheder i din CSS, som gør at det ikke fungerer for dig.

Jeg har ændret lidt i den, og her er resultatet: http://jsfiddle.net/gfsz3/3/




Hej

Tak for hjælpen - jeg kan se, at jeg næsten havde lavet den korrekt og at djævlen lå i små-detaljerne.

Fold kodeboks ind/udCSS kode 


Det kniber lidt med min forstålelse af den fundamentale forskel på brugen af ">" mellem elementerne og når de ikke bruges !

Jeg mener:

#navigation_bar > ul > li > ul

betyder: vælg alle <ul> hvor forældren(e) er <li>, hereafter vælg alle <li> hvor forældren(e) er <ul> og til sidst vælg alle <ul> hvor forældren(e) er #navigation_bar

Men er det ikke stort set det damme som:

#navigation_bar ul li ul

betyder: vælg alle <ul> inde i <li>, hereafter vælg alle <li> inde i <ul> og til sidst vælg alle <ul> inde i #navigation_bar

mit sidste eksempel burger jeg hele tiden (og det gør I sikkert også).

Jeg har kigget inde på W3schools og kan se at ifølge deres oversight:

CSS Selector Reference så tilhører ul li CSS1, mens ul > li er CSS2

Nå, men jeg må vel bare vænne mig til at det er sådan det er selvom jeg har set flere flere eksempler, hvor man godt kan lave en navigationsbar uden brug af ">".

Edit

Så har jeg googlet lidt mere I min søgen efter den mest basale navigationsbar med dropdown/submenuer og nu tror jeg nok, at det er lykkedes !

læg marke til at here ikke gøres brug af ">" og det ser ud til at virke fint alligevel...

Fold kodeboks ind/udHTML kode 


min lidt modificeret CSS

Fold kodeboks ind/udCSS kode 


Her er den originale CSS

Fold kodeboks ind/udCSS kode 


Her er et link til siden som demonstrere koden i function:
Show Hide Dropdown Using CSS

Her en jsfiddle som viser min modificerede kode i funktion




Indlæg senest redigeret d. 09.03.2014 17:11 af Bruger #16670
t