Textsprung im IE7

08154711

Erfahrenes Mitglied
Hi,

Habe ein Problem mit dem sogenannten 3px Textsprung. Im IE7 rutscht die Navigation ein paar Pixel runter obwohl ich den Holy Hack anwende. Hier mal der Code, vielleicht habe ich das ganze irgendwie auch falsch interpretiert.
Code:
body, html {
	height:100%;
	margin : 0;
	padding : 0;
	background-image : url(../img/background1.jpg);
	background-repeat : repeat-x;
}

/* hide hack from Mac-IE5 \*/
* html .container {
	height: 1%;
}

/* end hiding */

/*navigation*/
#menu_tab {
	width : 1000px;
	height : 50px;
	background-color : #fff;
}

ul.menu {
	font-family : Arial, Helvetica, sans-serif;
	list-style-type : none;
	float : left;
	display : block;
	width : 1000px;
	margin : 0;
	padding : 0;
	background : url(../img/menu_bg.gif) repeat-x;
}

ul.menu li {
	display : inline;
	font-size : 11px;
	font-weight : bold;
	line-height : 50px;
}

ul.menu li.line {
	display : inline;
	width : 2px;
	height : 50px;
	float : left;
	background : url(../img/menu_line.gif) no-repeat center;
}

a.nav1:link, a.nav1:visited {
	display : block;
	float : left;
	padding : 0 8px 0 22px;
	margin : 0 14px 0 14px;
	height : 50px;
	text-decoration : none;
	background : url(../img/home.png) no-repeat left;
	color : #676d77;
}

a.nav2:link, a.nav2:visited {
	display : block;
	float : left;
	padding : 0 8px 0 22px;
	margin : 0 14px 0 14px;
	height : 50px;
	text-decoration : none;
	background : url(../img/produkte.png) no-repeat left;
	color : #676d77;
}

a.nav3:link, a.nav3:visited {
	display : block;
	float : left;
	padding : 0 8px 0 22px;
	margin : 0 14px 0 14px;
	height : 50px;
	text-decoration : none;
	background : url(../img/referenzen.png) no-repeat left;
	color : #676d77;
}

a.nav4:link, a.nav4:visited {
	display : block;
	float : left;
	padding : 0 8px 0 22px;
	margin : 0 14px 0 14px;
	height : 50px;
	text-decoration : none;
	background : url(../img/carhifi.png) no-repeat left;
	color : #676d77;
}

a.nav5:link, a.nav5:visited {
	display : block;
	float : left;
	padding : 0 8px 0 22px;
	margin : 0 14px 0 14px;
	height : 50px;
	text-decoration : none;
	background : url(../img/kontakt.png) no-repeat left;
	color : #676d77;
}

a.nav6:link, a.nav6:visited {
	display : block;
	float : left;
	padding : 0 8px 0 22px;
	margin : 0 14px 0 14px;
	height : 50px;
	text-decoration : none;
	background : url(../img/impressum.png) no-repeat left;
	color : #676d77;
}

a.nav1:hover, a.nav2:hover, a.nav3:hover, a.nav4:hover, a.nav5:hover, a.nav6:hover {
	color : #333333;
	text-decoration : overline;
}

/*end navigation*/

div#container {
	position : relative;
	margin : 0 auto;
	width : 1000px;
	background-color:#FFF;
	min-height : 100%;
	height : auto !important;
	height : 100%;
}

#p {
	margin: 50px;
	width : 900px;
	text-align : justify;
	font-family : Arial, Helvetica, sans-serif;
	font-size : 12px;
}
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
<link href="css/layout.css" rel="stylesheet" type="text/css" />
</head>
<body><div id="container">
<img src="img/header1.jpg" width="1000" height="197" alt="header" />
<ul class="menu">
	<li><a href="index.html" class="nav1">Home</a></li>
	<li class="line">&nbsp;</li>
	<li><a href="#" class="nav2">Leistung</a></li>
	<li class="line">&nbsp;</li>
	<li><a href="#" class="nav3">Referenzen</a></li>
	<li class="line">&nbsp;</li>
	<li><a href="#" class="nav4">Car Hifi</a></li>
	<li class="line">&nbsp;</li>
	<li><a href="#" class="nav5">Kontakt</a></li>
	<li class="line">&nbsp;</li>
	<li><a href="impressum.html" class="nav6">Impressum</a></li>
	<li class="line">&nbsp;</li>
</ul>
<div id="p"><p>TEXT<br />
</p></div></div>
</body>
</html>
 
Hi,

der "Star-HTML-Hack", mit dem du den "Holy Hack" deklarierst, wird vom IE7 im standardkonformen Modus überhaupt nicht unterstützt.

Nutze hier stattdessen einen Conditional Comment als CSS-Browserweiche für die IE-Familie, und notiere dann in diesem Stylesheet lediglich:

CSS:
.container {
	height: 1%;
}

Außerdem seh ich im HTML-Code nirgends ein Element mit der Klasse .container.

mfg Maik
 
Hi

Versteh ich das so das ich in der externen sylesheet datei in diesem Fall den code einfügen muß?

Code:
* #container {width 1000px;
}
 
Ich hab dir doch gezeigt, was im IE-spezifischen Stylesheet notiert werden soll.

Falls du übrigens mit dem "Textsprung" die Lücke zwischen der Header-Grafik und dem Menü meinst, ist der "Holy Hack" hier eh nutzlos, weil wirkungslos :)

Außerdem existiert er nicht nur im IE, sondern auch im FF2.

Ansonsten kann ich mit deinem Quellcode nirgends einen 3px-Versatz im Textfluß ausfindig machen.

Lösung:

Code:
<img id="header" src="img/header1.jpg" width="1000" height="197" alt="header" />
CSS:
img#header { display:block; }


mfg Maik
 
Habe mich mit dem Textsprung verkehrt ausgedrückt. Der Text bleibt so wie er soll. Was ich meinte ist das Layout. Im IE taucht die Scollleiste auf dabei rutscht das Layout um einige Pixel "zusammen". Mein Editor gab bei der Prüfung der Browserkompatibilität den Fehler 3Pixel Textsprung aus.
 
Is ja drollig, was "dein" Editor so an Fehlermeldungen ausspuckt: Der Srollbalken besitzt in seiner Breite nämlich mehr als drei Pixel (~18px) :suspekt:

Außerdem hat dies mit dem The IE6 Three Pixel Text-Jog herzlich wenig zu tun, zumal dieser Bug von den MS-Entwicklern im IE7 behoben wurde :)

Code:
body, html {
        height:100%;
        margin : 0;
        padding : 0;
        background-image : url(../img/background1.jpg);
        background-repeat : repeat-x;
        overflow:auto;
}

... so wird der Scrollbalken erst dann im Anzeigefenster eingeblendet, wenn er darin tatsächlich benötigt wird.

Ohne jegliche Angabe zeigt hier ansonsten die IE-Familie nämlich den "inaktiven" vertikalen Scrollbalken an.

mfg Maik
 
Hi Maik,
Sieht besser aus, allerdings sieht man jetzt genau das die Navileiste breiter (ca.3-4 Pixel) wirkt beim Umschalten auf den IE - im FF ist alles okay. Könnte es sich hier bei eventuell um einen Float Drop-Bug handeln?
 
Habe mal zwei Screenshots gemacht einmal FF und den IE. Lt. der Messung sind es ca.3px ...
 

Anhänge

  • FF.jpg
    FF.jpg
    3 KB · Aufrufe: 192
  • IE.jpg
    IE.jpg
    3,1 KB · Aufrufe: 193
Der vertikalen Messung zufolge handelt es sich nicht um die Breite der Navileiste :suspekt:

Und wenn ich die beiden Schnappschüsse miteinander vergleiche, erkenne ich im rechten Bild deutlich die von mir vorhin angesprochene Lücke (weiß) zwischen der Header-Grafik (dunkelblau) und dem Navi-Hintergrund (milchgrau), die 3px beträgt :)

Ich hab auch mal das Maßband über den IE 6 + 7 gelegt, um zu dokumentieren, dass die Navileiste von ihnen in der gewünschten Höhe angezeigt wird:

ie6.jpg ie7.jpg

... es existiert in ihnen blos ein geringfügiger vertikaler Abstand zwischen den beiden Seitenbereichen.

Desweiteren spielt sich im IE6 sein The IE5/6 Doubled Float-Margin Bug ab, wenn du dir den linken Abstand des "Home"-Links genauer anschaust.

Ansonsten kann ich im IE7 keine Darstellungsunterschiede gegenüber FF & Co. ausmachen.

mfg Maik
 
Zurück