Rand oben: 100% erhält den Wert für die Elternbreite ... seltsam

7

Ich habe sehr seltsames "Problem", auf den meisten Browsern (dh, ff, Chrome, Safari). Hier ist ein Beispielcode:

%Vor%

Wenn Sie die Breite von #aDiv ändern, ändert sich #bDiv margin-top mit demselben Wert. Ich weiß nicht, wie es möglich ist, dass die Höhe zur Breite geht. Wie auch immer, vielleicht könnte einer von Ihnen mir erklären, was los ist?

Beste Grüße;)

D.

    
Artnova Art 05.10.2011, 12:57
quelle

4 Antworten

12

Dies ist tatsächlich gemäß der Spezifikation

  

& lt; Prozentsatz & gt; Der Prozentsatz wird in Bezug auf die Breite von berechnet   Der Block der generierten Box. Beachten Sie, dass dies gilt für   "margin-top" und "margin-bottom". Wenn der umschließende Block   Die Breite hängt von diesem Element ab, und das resultierende Layout ist nicht definiert   in CSS 2.1.

Ziemlich nutzlos, oder? Haben Sie überlegt, position: absolute und bottom: 0 zu verwenden? Sie könnten mehr von dem sein, wonach Sie suchen.

    
Ryan Kinal 05.10.2011, 13:04
quelle
7

Sie könnten Viewport relative Einheiten (1vw = 1% der Breite des Darstellungsbereichs, 1vh = 1% der Höhe des Darstellungsbereichs) ausprobieren.

Versucht margin-top: 90vh; ?

    
cptstarling 21.01.2015 21:47
quelle
4
%Vor%

Es ist kein seltsames Problem. Weil Sie margin-top auf 100% gesetzt haben, da aDiv das übergeordnete Element von bDiv ist, nimmt es die Breite von aDiv als margin-top an.

    
huMpty duMpty 05.10.2011 13:03
quelle
1

Es hat alles damit zu tun, dass dein CSS auf bDiv margin-top: 100%;

hat

Wenn Sie dies entfernen, verhält sich alles wieder normal.

    
Luke 05.10.2011 13:06
quelle

Tags und Links