IE8 - Container mit Rand oben: 10px hat keinen Rand

8

EDIT: Dies geschieht nur in IE8, es funktioniert gut in IE7, Firefox, Opera usw.

Zuallererst, hier ist ein Bild, das ich in Photoshop gemacht habe, um mein Problem zu demonstrieren: Ссылка

Jetzt sollten Sie eine Vorstellung von meinem Problem haben. Hier ist eine vereinfachte Version des Markups, das ich verwende (ich habe den meisten irrelevanten Inhalt weggelassen):

%Vor%

Und CSS-Stile gehen so:

%Vor%

Offensichtlich habe ich alle unrealistischen Stile wie Ränder, Hintergrundfarben und Bilder, Schriftgrößen usw. weggelassen. Ich habe nur wichtige Sachen behalten.

Irgendeine Idee, wo könnte das Problem sein?

    
Richard Knop 07.08.2009, 17:10
quelle

7 Antworten

9

Sehen Sie, ob padding-top: 10px funktioniert. Es kann sein, dass der Rand versucht, vom oberen Rand der Seite zu gehen.

    
Justin 07.08.2009, 17:13
quelle
6

Ich denke, das ist ein IE8-Bug. Bezieht sich auf ein Geschwisterelement eines floated linken und rechten div. Mit oder ohne ein Clearing-Div verliert das endgültige nicht gefloatete Element seinen oberen Rand in IE8.

Wir haben das getestet und nur IE8 hat es falsch verstanden:

Ссылка

Wir haben auch drei Lösungen entwickelt.

    
Matt Bradley 08.08.2009 09:40
quelle
1

Versuchen Sie, Ihr freies Div zu schließen.

%Vor%     
idrumgood 07.08.2009 17:14
quelle
1

Ich verstehe diesen Ansatz nicht ganz. Sie könnten die <div> s mit der Klasse right und left in eine andere <div> einbinden und overflow: hidden , width: 100% darauf anwenden, so dass die Elemente unter floated Elemente korrekt angezeigt werden.

    
dalizard 07.08.2009 17:30
quelle
1

enter code here Versuchen Sie, einen Container mit einer Breite mit Überlauf zu verwenden: Versteckt die flotierten Divs und entfernen Sie das gelöschte div.

%Vor%

Und das CSS

%Vor%

(Entschuldigung, ich habe IE7 auf meiner Arbeitsmaschine zum Testen gelassen, damit ich das nicht überprüfen kann)

    
ScottE 07.08.2009 17:32
quelle
1

Ich habe ähnliche Probleme, und die von Matt Bradley bereitgestellten Lösungen funktionierten nicht für mich (aber danke, dass du es trotzdem gepostet hast!). Ich wollte Rand oben haben: 10px auf einem h1 Element.

Die Lösung, die ich gefunden habe, besteht darin, Position: relativ, oben: 10px und Rand oben: 0px zum h1-Element hinzuzufügen.

    
bluesun 24.01.2011 08:00
quelle
0

Ich habe IE8 nicht bei mir ... aber hast du versucht, klar zu sagen: sowohl zum unteren Div als auch zum Hinzufügen eines unteren Randes zu einem der oberen Floats? Ich bin mir ziemlich sicher, dass dies den gleichen Effekt ohne zusätzliche Divs erreichen würde.

    
kmiyashiro 08.08.2009 16:23
quelle