 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
21.02.2008, 11:35
|
#1
|
|
TP-Moderator
Registriert seit: Jan 2004
Ort: Marbach
|
IE6 Geisterabstand zwischen 2 gefloateten Containern
Hallo liebe TP-CSS-Profis,
ich habe ein PRoblem wie im Titel schon beschrieben hiermit:
IE6 Geisterabstand zwischen 2 gefloateten Containern
Das Online-Beispiel gibt es hier: IE6 Geisterabstand zwischen 2 gefloateten Containern
Das HTML/CSS stammt aus einer Dreamweaver-Vorlage welche ich nur geringfügig im CSS abgeändert habe.
Original-CSS:
HTML-Code:
.twoColFixLtHdr #sidebar1 {
float: left; /* Da es sich hier um ein floatendes Element handelt, muss eine Breite angegeben werden. */
width: 200px; /* Die tatsächliche Breite dieses div umfasst in standardgerechten Browsern bzw. im Standardmodus von Internet Explorer außer der Breite auch die Auffüllung und den Rahmen. */
background: #EBEBEB; /* Die Hintergrundfarbe wird nur für die Länge des Spalteninhalts angezeigt. */
padding: 15px 10px 15px 20px;
}
.twoColFixLtHdr #mainContent {
margin: 0 0 0 250px; /* Durch den linken Rand dieses div-Elements entsteht die Spalte am linken Seitenrand. Der Spaltenbereich bleibt unabhängig von der Inhaltsmenge des sidebar1-div immer gleich. Sie können diesen Rand entfernen, falls der Text des #mainContent-div den Bereich von #sidebar1 füllen soll, wenn der Inhalt in #sidebar1 endet. */
padding: 0 20px; /* padding (Auffüllung) bezeichnet den Innenabstand und margin (Rand) den Außenabstand der div -Box. */
}
Modifiziertes-CSS:
HTML-Code:
.twoColFixLtHdr #sidebar1 {
float: left; /* Da es sich hier um ein floatendes Element handelt, muss eine Breite angegeben werden. */
width: 200px; /* Die tatsächliche Breite dieses div umfasst in standardgerechten Browsern bzw. im Standardmodus von Internet Explorer außer der Breite auch die Auffüllung und den Rahmen. */
background: #EBEBEB; /* Die Hintergrundfarbe wird nur für die Länge des Spalteninhalts angezeigt. */
padding: 15px 10px 15px 20px;
border: 1px solid blue;
}
.twoColFixLtHdr #mainContent {
margin: 0 0 0 232px; /* Durch den linken Rand dieses div-Elements entsteht die Spalte am linken Seitenrand. Der Spaltenbereich bleibt unabhängig von der Inhaltsmenge des sidebar1-div immer gleich. Sie können diesen Rand entfernen, falls der Text des #mainContent-div den Bereich von #sidebar1 füllen soll, wenn der Inhalt in #sidebar1 endet. */
padding: 0 20px; /* padding (Auffüllung) bezeichnet den Innenabstand und margin (Rand) den Außenabstand der div -Box. */
border: 1px solid red;
}
Es geht um den Sidebar und den Content-Container, diese sollten sich nahtlos aneinander schmiegen auch im IE
Ich habe dafür bis jetzt keine Lösung gefunden *haareausrauf*
__________________
Gruß Torsten!
Geändert von Torsten (21.02.2008 um 11:40 Uhr).
Grund: Geändertes CSS angepasst, da ein Fehler im Margin war, jetzt wird es im FF korrekt angezeigt
|
|
|
21.02.2008, 13:13
|
#2
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
auch nicht mit
* html {padding:0;margin:0} ?
|
|
|
21.02.2008, 13:26
|
#3
|
|
TP-Moderator
Registriert seit: Jan 2004
Ort: Marbach
|
Zitat:
Zitat von steffenk
auch nicht mit
* html {padding:0;margin:0} ?
|
Nein leider nicht... (habs mal im obigen Beispiel eingebaut)
Auch wenn ich das "float" herausnehme und dem Content-Div einen entsprechenden "margain-left" verpasse, entsteht im IE trotzdem dieser Abstand...
__________________
Gruß Torsten!
Geändert von Torsten (21.02.2008 um 13:27 Uhr).
Grund: Manchmal muss man einfach erklärenden Text ergänzen ;)
|
|
|
21.02.2008, 13:39
|
#4
|
|
TP-Specialist
Registriert seit: Oct 2003
Ort: Niederbayern
|
Im IE6 hab ich keinen Abstand zwischen den Boxen - Link. Hab das mal selbst nachgebaut  .
|
|
|
21.02.2008, 13:57
|
#5
|
|
TP-Moderator
Registriert seit: Jan 2004
Ort: Marbach
|
Zitat:
Zitat von Rinaldo
Im IE6 hab ich keinen Abstand zwischen den Boxen - Link. Hab das mal selbst nachgebaut  .
|
Danke Rinaldo für den Nachbau, das bringt mich aber nicht wirklich weiter...
Auf der Adobe Summer School 2007 wurde demonstriert wie mit den in Dreamweaver mitgelieferten CSS-Layouts schnell neue Seiten erstellen kann.
Dieses Feature möchte ich nutzen und erweitern.
Dazu müsste ich wissen wo in dem Adobe-CSS der Fehler liegt...
__________________
Gruß Torsten!
|
|
|
21.02.2008, 14:06
|
#6
|
|
TP-Supporter
Registriert seit: Sep 2007
Ort: Düsseldorf
|
Das ganze kommt vom Fehlerhaften Boxmodel des IE; FF rechnet korrekterweise den 1px Rahmen zur Breite dazu, IE 6 nicht. Somit ist die linke Box nur 230px breit, die rechte hat aber ein Margin von 232px. Hier müsste ne Browserweiche ran!
//Edit: kommando zurück...muss nochmal nachschauen 
|
|
|
21.02.2008, 14:23
|
#7
|
|
TP-Moderator
Registriert seit: Jan 2004
Ort: Marbach
|
Ich glaube nicht das es mit den Rahmen zu tun hat, die habe ich nur zur Visualisierung des Problemes eingefügt.
Denn auch ohne Rahmen und mit einem korrekten "marign" von 230 Pixeln baut der IE einen Abstand ein.
Siehe hier: http://www.fit-as-well.de/redesign/twoColFixLtHdr.htm
__________________
Gruß Torsten!
|
|
|
21.02.2008, 14:24
|
#8
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
21.02.2008, 14:32
|
#9
|
|
TP-Moderator
Registriert seit: Jan 2004
Ort: Marbach
|
Zitat:
Zitat von Boris
|
Vielen Dank Boris, bin gerade beim durchstöbern von Ninas IE Buglist darauf gestoßen, das es dieser 3px Bug sein könnte.
Nur kapiere ich nicht ganz was ich in meinem Beispiel aus diesem Muster machen müsste:
HTML-Code:
#floatbox {
float: left;
width: 100px;
}
p {
margin-left: 110px;
}
/* Hide from IE5-mac. Only IE-win sees this. \*/
* html #floatbox {
margin-right: 10px;
}
* html p {
height: 1%;
margin-left: 0;
}
/* End hide from IE5/mac */
Vielleicht hätte jemand mit mehr CSS und Englisch-Erfahrung (als ich sie habe) einen passenden Tipp für mich 
__________________
Gruß Torsten!
|
|
|
21.02.2008, 14:51
|
#10
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Schau bitte selbst noch ein wenig und verstehe, woher das Problem kommt und wie man es dann beseitigen kann - das bringt dir mehr als wenn man es dir jetzt vorkaut
http://www.google.de/search?q=3px+css+ie
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
22.02.2008, 09:58
|
#12
|
|
TP-Supporter
Registriert seit: Sep 2007
Ort: Düsseldorf
|
Huhu! h1 ist schuld. Wenn du im css h1 margin:0; gibst, dann funktionierts.
Du hast zwar margin und padding im body auf 0 gesetzt, aber schreib besser nochmal * {margin....} dazu.
Ich dachte zwar immer, dass nur im CSS nur formatierungen für html {} nur vom IE wahrgenommen werden, aber scheinbar ist das mit body auch ein Problem.
|
|
|
22.02.2008, 10:34
|
#13
|
|
TP-Moderator
Registriert seit: Jan 2004
Ort: Marbach
|
Verrückt selbst die Angabe von:
HTML-Code:
*html {
margin: 0;
padding: 0;
border: 0
}
veranlasst den Firefox nicht dazu den Abstand oben wegzulassen, erst das zusätzliche einfügen von:
HTML-Code:
h1 {
margin: 0
}
erziehlt das gewünschte Ergebnis.
Nun gibt es noch am Ende des div id="mainContent" einen Abstand zum Footer ebenfalls nur im Firefox, ich vermute das liegt an diesem:
<br class="clearfloat" /> mit dem CSS:
HTML-Code:
.clearfloat { /* Diese Klasse sollte in einem div- oder break-Element platziert werden und das letzte Element vor dem Schließen eines Containers sein, der wiederum einen vollständigen Float enthalten sollte. */
clear:both;
height:0;
font-size: 1px;
line-height: 0px;
}
Oder liege ich da falsch?
__________________
Gruß Torsten!
|
|
|
22.02.2008, 11:33
|
#14
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Das ist ja auch SO der Sternchen-Hack den nur der IE sehen kann (und soll).
Du musst das html weg lassen, so:
*
{
padding: 0;
margin: 0;
} 
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
22.02.2008, 13:32
|
#15
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
ist das space nicht wichtig oder ist das kein Unterschied?
* html {
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
| | |