Liste wird im IE6 anders als im Firefox u. IE7 angezeigt
Anton
- html
Hallo,
die folgende Liste wird im IE6 anders als im Firefox und im IE7 angezeigt. Im IE6 ist ein vertikaler Abstand zwischen den einzelnen Listenelementen zu sehen, obwohl ich diesen Abstand nirgends einstellt habe. Ist das ein IE6-Bug? Falls ja, wäre es nett, wenn ihr mir sagen könntet, was ich tun muß, damit die Liste im IE6 genauso angezeigt wird wie im Firefox und im IE7.
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<style type="text/css">
* {
padding: 0;
margin: 0;
}
#navigation {
width: 160px;
padding: 20px 10px;
}
#navigation a {
display: block;
}
#navigation a:hover {
color: white;
background: #3195e1;
}
</style>
</head>
<body>
<ul id="navigation">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
</ul>
</body>
</html>
Hi!
Hallo,
die folgende Liste wird im IE6 anders als im Firefox und im IE7 angezeigt. Im IE6 ist ein vertikaler Abstand zwischen den einzelnen Listenelementen zu sehen, obwohl ich diesen Abstand nirgends einstellt habe. Ist das ein IE6-Bug? Falls ja, wäre es nett, wenn ihr mir sagen könntet, was ich tun muß, damit die Liste im IE6 genauso angezeigt wird wie im Firefox und im IE7.
Das wird wohl der IE6-Whitespace-Bug sein...
MfG Ulysses
Das wird wohl der IE6-Whitespace-Bug sein...
MfG Ulysses
Du hattest recht. Es war der IE6-Whitespace-Bug. Hab mal ein bißchen gegoogelt. Hab eine ganze Menge Lösungen, für dieses Problem gefunden. Eine wirklich gute Erklärung hab ich bisher allerdings nichts gefunden. Kann mir einer erklären was der IE6 hier macht und welche Lösung warum die beste ist?
Hallo
Das wird wohl der IE6-Whitespace-Bug sein...
Du hattest recht. Es war der IE6-Whitespace-Bug. Hab mal ein bißchen gegoogelt. Hab eine ganze Menge Lösungen, für dieses Problem gefunden. Eine wirklich gute Erklärung hab ich bisher allerdings nichts gefunden. Kann mir einer erklären was der IE6 hier macht und welche Lösung warum die beste ist?
*Was* er da macht, ist klar (man kann es ja sehen), *warum* er das macht? Weil es so "reinprogrammiert" wurde (wenn auch vielleicht[1] aus Versehen)?
Die mMn einfachsten Lösungsansätze ändern den HTML-Quelltext. Kein Hack, der auf irgendetwas Anderes Auswirkungen haben könnte, nicht kompliziert ...
Da wäre einerseits die Weglassung der Zeilenumbrüche zwischen den Listenpunkten und andererseits deren Verpackung in HTML-Kommentaren. Letzteres sieht auf den ersten Blick etwas albern aus, aber durch die optische Gliederung des Quelltextes bleibt dieser besser lesbar.
[1] Wer weiß das schon, könnte ja Teil einer Weltverschwörung sein. ;-)
Tschö, Auge
Da wäre einerseits die Weglassung der Zeilenumbrüche zwischen den Listenpunkten und andererseits deren Verpackung in HTML-Kommentaren. Letzteres sieht auf den ersten Blick etwas albern aus, aber durch die optische Gliederung des Quelltextes bleibt dieser besser lesbar.
Beide Lösungen finde ich nicht gut, da hier das Markup verändert werden muss. Zum einen müssen hier sämtliche Markup-Dateien mit Listen editiert werden. Zum anderen wird das Markup dadurch unübersichtlich.
Ich hätte lieber eine Lösung die komplett auf CSS basiert. Hab mich für diese entschieden:
Ich setze einfach nur die li-Elemente der Liste auf inline. Und schon klappt es.
ul li { /* whitespace bug */
display: inline;
}
@@Anton:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
Das 'xml:lang'-Attribut wirkt nur bei Verarbeitung als XML (application/xhtml+xml). Um HTML-kompatibel zu sein, ist für Tagsoup-Parser (text/html) zusätzlich das 'lang'-Attribut zu verwenden:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
[I18N-HTML-TECH-LANG, LANGUAGE-DECL, XHTML10 §C.7, http://de.selfhtml.org/html/xhtml/unterschiede.htm#lang@title=SELFHTML]
Live long and prosper,
Gunnar