Ausgabe verschiebt sich im IE

Status
Nicht offen für weitere Antworten.

kbit

Erfahrenes Mitglied
Hi, ich habe jetzt die ganze Zeit meinen Code im FF getestet. Gerade habe ich das ganze mir mal im IE ausgeben lassen und direkt sind ein paar sachen schief gelaufen. Ich lasse mir im linken teil ein texfeld ausgeben, dass eine Suchabfrage abschickt. Das Ergebnis soll in der mitte angezeigt werden. Im FF zeigt er mir das auch an im IE zeigt er mir das unter dem textfeld an.
Code:
#links {
    width: 30%;
    float: left;
    margin-left:10px;
}
#mitte {
    width: 69%;
    float:left;
}

Wenn in unter #mitte width auf 68% setzte zeigt er mir das im IE auch in der mitte an.

Da ich noch nicht so viel erfahrungen mit css habe, da ich sonst nur den php code schreibe, würde mich mal interessieren woran das liegt und was man dagegen tun kann?
Kann man das nur immer und immer wieder testen und sich anzeigen lassen in alle Browsern oder gibt es da ne andere Möglichkeit um sowas zu verhindern ?
 
Hi,

im IE tritt beim DIV #links der sog. "Double-Margin-Bug" in Erscheinung, d.h. margin-left:10px wird stattdessen mit 20 Pixel dargestellt.

Abhilfe schafft da die Hinzunahme von display:inline.

Code:
#links {
    width: 30%;
    float: left;
    margin-left:10px;
    display:inline;
}
 
Ah so, sowas muss man erst einmal wissen. Tritt das nur bei margin auf das er das verdoppelt oder bei padding auch ?
 
Ich meine mich zu erinnern, dass dieser Darstellungsfehler auch schon mal bei einem User mit der padding-Eigenschaft aufgetreten ist.

Da haben wir dann mit Hilfe der !important-Regel den padding-Wert für den IE halbiert:

Code:
padding-left:10px !important; /* moderne Browser */
padding-left:5px; /* IE */
 
Ich hab gerade noch einen fehler gefunden wo er mir was verschoben hat. Hab jetzt schon einiges Probiert aber irgendwie klappt es nicht.

PHP:
function login_function() 
{ 
   echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"page.css\" />\n";
   echo "<div class=\"login\">";
   echo "<div class =\"login2\">";
   echo "<form method=\"post\" 
            action=\"$_SERVER[PHP_SELF]\">";    
   echo "Benutzername:: <input type=\"text\" name=\"username\" size=\"30\" /> 
            <br />"; 
   echo "Passwort <input type=\"password\" 
            name=\"password\" size=\"30\" /><br />"; 
   echo "<input type=\"submit\" value=\"Login\"  />"; 
   echo "</form>";
 
   
   echo "<a href=\"frame.php\">Zurück zur Startseite </a>";
    echo "</div>";
	echo "</div>";

}

Code:
.login{
width:300px;
height:160px;
margin:0px auto;
border:1px solid #bcbcbc;
border-style:dashed;
margin-top:200px;

}

.login2{
height:125px;
width:250px;
text-align:left;
margin-left:40px;

}

Im FF zeigt er mir das mittig an und im IE links am rand. Wieso verschiebt es sich denn da ?
 
Wie lautet denn die Doctype-Angabe für das Dokument?

Sieht nämlich so aus, dass das Dokument im Quirksmode übergeben wird, und in diesem Darstellungsmodus unterstützt der IE nicht margin:0 auto zum horizontalen Zentrieren eines Elements.

Das Problem haben wir aber heute aktuell in dem Thread margin: 0px auto funktioniert nicht mehr im IE behandelt.
 
PHP:
echo "<!DOCTYPE html PUBLIC\"-//W3C//DTD XHTML 1.0 Strict//EN\"\n";
echo "\http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">";
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"page.css\" />\n";
   
echo"<script type=\"text/javascript\">
document.write(\"Darstellungsmodus:\" + document.compatMode);
</script>";
Ich hab das jetzt mal über meine Funktion login_function() geschrieben. Jetzt stellt er mir das auch richtig dar. Was aber komisch ist das er mir im FF anzeigt ich wäre im BackCompat Modus und wenn ich das im IE öffne sagt er mir ich bin im CSS1Compat Modus?
 
Ja stimmt habe ich übersehn. Ich hab jetzt noch ein Problem und zwar nun umgekehrt nun macht der FF Probleme und der IE gibt es richtig aus.

PHP:
echo "<div class=\"user\">";
include"userinfo.html";
$form=&$User->getForm();
$form->addElement('submit','absenden','speichern');
$form->addElement('reset','','löschen');
if (false==$form->validate()){
	$form->display();	
}
Code:
.user{
background-color:#B5B5B5;
width:50%;
margin:0px auto;
margin-top:100px;
text-align:center;
border: 3px solid;
}

Und zwar soll mir der text und das mit pear erstellte Formular in der mitte ausggeben werden. Im IE klappt es und im FF ist es so das er mir den text der in userinfo steht mittig ausgibt aber das formular dadrunter wird links angezeigt
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück