|
|||
![]()
Vertikale Listen für Menüs:
IE-BUG ![]() Bisher hatte ich dieses Problem mit (X)HTML-Kommentaren abgefangen. Zitat:
Bei meinen letzten Entwicklungen bin ich zur folgenden Lösung gekommen: CSS Workaround ohne Markup Veränderung Inline-Elemente werden durch die Eigenschaft [line-height] in ihrer Höhe beeinflußt/definiert. Auch für Elemente im Block-Level bzw. im List-Item-Level ist diese Eigenschaft von Bedeutung sofern ein solches Element nicht leer ist. Und hier liegt der IE-Bug, er zeigt zwar nicht den White-Space setzt aber den line-height für das li-Element. Nach diesem Verständnis habe ich nun einen Workaround gefunden. Zitat:
Zitat:
![]() Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de-DE" lang="de"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>xxxx</title> <style type="text/css" media="screen,projection" title="Druckvorschau => Markup-Semantic"> /*<![CDATA[*/ * { margin: 0; padding: 0; border-collapse:collapse; border-spacing: 0; } html, body { color: #000000; background: #DDDDDD; line-height: 1.45; } body { font-size: 100.01%; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; } #menu { width: 10em; margin: 1em auto; background-color: #00FF00; } #menu ul { list-style-type: none; margin: 0; padding: 0; } #menu li { /* Kontrollfarbe */ background-color: #FF0000; line-height: 0; } #menu li a { display: block; min-height: 1.5em; height: auto !important; height: 1.5em; line-height: 1.5; /* Dimension IE * somit voll anklickbar */ position: relative; padding: 1px 1em 2px; background-color: #FF9922; } #menu a:hover { background-color: #2299FF; } /*]]>*/ </style> </head><body> <div id="menu"> <ul>[*]item 1[*]item 2[*]<a href="#nogo">item 3 2.Zeile </a>[*]item 4[/list]</div> </body></html>
__________________
</ulle> |
Sponsored Links |
|
||||
![]() Zitat:
__________________
CSS Optimierer und Formatierer (CSSTidy) |
Sponsored Links |
|
|||
![]() Zitat:
Nachteile: 1. Der Validator meldet Fehler 2. Wenn Du keinen Zugriff aufs Markup hast - wirst Du es auch nicht veränder können. Ich versuche immer Möglichkeiten zu finden die mich vom Eingriff ins Markup schützen ![]()
__________________
</ulle> |
|
|||
![]()
Wenn man ins Markup eingreifen kann/will, dann hilft es auch, einfach eine Lücke an der richtigen Stelle einzusetzen:
Also vor dem schließenden </a> einfach ein Leerzeichen einzetzen. Ist wesentlich übersichtlicher als die oben genannten Varianten. Per CSS und ohne Eingriff ins Markup: Für Listen display:inline definieren, für die Links dann wieder display:block, damit die Links schön untereinanderstehen - also: Code:
li {display:inline;} li a {display: block;}
__________________
Grüße, Terry ... die immer noch sporadisch mitliest, auch wenn sie sich wenig zu Wort meldet ... |
|
||||
![]()
Da ich dieses Problem noch nie hatte, hab ich ulles Code mal getestet. Das einzige, was ich verändert hab, ist anstelle von mehreren Leerzeichen zur Einrückung echte Tabs zu benutzen.
Das line-height: 0; hab ich entfernt, und dennoch bleibt es auch im IE6 "sauber": Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de-DE" lang="de"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>xxxx</title> <style type="text/css" media="screen,projection" title="Druckvorschau => Markup-Semantic"> /*<![CDATA[*/ * { margin: 0; padding: 0; border-collapse: collapse; border-spacing: 0; } html, body { color: #000000; background: #DDDDDD; line-height: 1.45; } body { font-size: 100.01%; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; } #menu { width: 10em; margin: 1em auto; background-color: #00FF00; } #menu ul { list-style-type: none; margin: 0; padding: 0; } #menu li { /* Kontrollfarbe */ background-color: #FF0000; } #menu li a { display: block; min-height: 1.5em; height: auto !important; height: 1.5em; line-height: 1.5; position: relative; padding: 1px 1em 2px; background-color: #FF9922; } #menu a:hover { background-color: #2299FF; } /*]]>*/ </style> </head> <body> <div id="menu"> <ul> [*]item 1 [*]item 2 [*]<a href="#nogo">item 3 2.Zeile </a> [*]item 4 [/list] </div> </body> </html>
__________________
“My software never has bugs. It just develops random features ...” ![]() » DevShack - die Website des freien Webentwicklers Boris Bojic ![]() |
|
|||
![]()
Dass es im IE 6 sauber bleibt, liegt an der Höhe, die du vergeben hast. Ohne height hast du auch die Lücken.
Im IE 5 hast du aber ohnehin Lücken - Abhilfe s. oben.
__________________
Grüße, Terry ... die immer noch sporadisch mitliest, auch wenn sie sich wenig zu Wort meldet ... |
|
||||
![]() Zitat:
![]()
__________________
“My software never has bugs. It just develops random features ...” ![]() » DevShack - die Website des freien Webentwicklers Boris Bojic ![]() |
|
|||
![]() Zitat:
![]() Jeder der hier CODE postet wird wohl mit TABs arbeiten, die Leerzeichen kommen schlicht vom posten. (textarea!)
__________________
</ulle> |
|
||||
![]()
Ich kenn genug Programmierer, die mit Leerzeichen einrücken, weil "die Tabgröße bei jedem anders eingestellt ist". Was mir persönlich egal ist
![]()
__________________
“My software never has bugs. It just develops random features ...” ![]() » DevShack - die Website des freien Webentwicklers Boris Bojic ![]() |
Sponsored Links |
![]() |
Themen-Optionen | |
Ansicht | |
|
|
![]() |
||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Problem mit PullDown Menu auf ipad/iphone | smisonline2 | CSS | 1 | 13.05.2013 17:13 |
CSS Problem mit Menu | Alomaman | CSS | 2 | 19.06.2010 14:58 |
Kindelement eines ausgeblendeten Elternelementes ansprechen | wandler | CSS | 7 | 19.06.2010 01:32 |
CSS Flyout Menu z-index Problem? | Deluxestyler | CSS | 6 | 18.05.2010 12:05 |
Vertikale CSS Navigation mit Bildern und Text | macmensa | CSS | 2 | 25.07.2009 16:23 |