IE stellt 1 Pixel etwa 5 pixel dar

Status
Nicht offen für weitere Antworten.

mrtest

Mitglied
Hallo Leute,

habe ein Problem und bisher auch nichts gefunden was mir weiter helfen konnte.
Also mein Problem ist die unterschiedliche darstellung von Pixel zwischen IE und anderen Browsern. Ich arbeite viel mit div´s und habe besonders das Problem hier. Aber auch bei Tabellen.

hier ein auszug aus dem Quellcode

<div id="search" style="width:180px; height:50px; background-color: #000099">
<table cellpadding="0" cellspacing="0" border="0" >
<tr><td><form action="" method="get"><input name="search" size="20"></form></td>
<td><img src="go.gif" border="0"></td></tr>
</table>
</div>
Das problem hier ist, das das Bild nur in Opera direkt neben dem Eingabefeld dargestellt wird.

Vorab Danke
 
Hallo!

Bei mir wird das Bild immer direkt neben dem Eingabefeld angezeigt. Nur in Opera wird es ganz oben angezeigt (wie auch in Firefox).
Das es weiter nach unten versetzt wurde liegt beim IE daran, dass für das Form-Element platz reserviert wurde.
Setz' das einfach weiter nach unten:

HTML:
<html>
<body>
<div id="search" style="width:180px; height:50px; background-color: #000099"> 
<table cellpadding="0" cellspacing="0" border="0" >
<tr><td><form action="" method="get"><input name="search" size="20"></td><td><img src="file://localhost/e:\ilaurea/html/images/search.gif" border="0"></td></tr>
</table>
</div>
</body>
</html>

Das Ergebnis:
 

Anhänge

  • browser.png
    browser.png
    3,4 KB · Aufrufe: 38
Danke Dir,

hast mich auf die richtige spure gebracht.
Hab in der Richtung noch eine Frage. Vielleicht kannst Du mir nochmal helfen.

Warum ist generell im IE die Pixel Darstellung so anderes.

Code:
<div class="main_menu" style="border-bottom:0px"
 		    		  onMouseOver="cellMouseOver('biaography_left', 'biaography_right');" 
 		    	     onMouseOut="cellMouseOut('biaography_left', 'biaography_right');" 
 		    	     onclick="cellOnClick('biaography_left','biaography_right');
 		    	    		  clearCell();">
 		    		     <table cellpadding="0" cellspacing="0">
 		    		    	<tr>  
 		    		    		<td id="biaography_left" class="inactive_cell_l" width="5px" height="20px"></td>
 		    		    		<td id="biaography_right" class="inactive_cell_r" width="180px">Biaography</td>
 		    		    	</tr>
 		    		    </table>	
 			</div>
 			
 	<div style="height:1px"></div>
 	<!--
 				Begin of the second Navigation
 	-->
 	<div class="menu" style="border:0px">

Ich habe zwischen den zwei Menu Elementen einen Trenner eingefügt "<div style="height:1px"></div>"
IE zeigt mir dies etwas 5 mal mehr.
 
Denke einfach das es, um einen Bud des IE handelt. Abhilfe schafft eine absolute Positionierung des div´s.
Aber wäre trotzdem froh wenn ich einen alternative beschrieben bekomme.
 
Das liegt nicht an einer evtl. falschen Pixel-Darstellung des Internet Explorers.
Der IE interpretiert dieses DIV so, als wäre Inhalt in diesem vorhanden.
Verwendet man beispielsweise folgenden Code, stellt auch Opera dieses DIV so gross dar.

HTML:
<div style="height:1px">
Inhalt
</div>

Lösungsansätze, die mir spontan einfallen (haben aber alle Nachteile - insbesondere, dass man mit festen Werten arbeiten müsste):

  • Das DIV absolut positionieren (sollte helfen - wenn man denn die absolute Position kennt)
  • Ein transparentes GIF (oder PNG - im 8bit-Modus erkennt auch der IE die Transparenz) als Platzhalter verwenden
  • Tabellen verwenden
 
Status
Nicht offen für weitere Antworten.
Zurück