Ich versuche, ein untergeordnetes div-Tag am unteren Rand oder an der Grundlinie des übergeordneten div-Tags auszurichten.
Alles, was ich tun möchte, ist, das Kind Div an der Basislinie des Eltern-Div zu haben. So sieht es jetzt aus:
HTML
<div id="parentDiv">
<div class="childDiv"></div>
</div>
CSS
#parentDiv
{
width:300px;
height:300px;
background-color:#ccc;
background-repeat:repeat
}
#parentDiv .childDiv
{
height:100px;
width:30px;
background-color:#999;
}
Hinweis
Ich werde mehrere childDiv
s mit unterschiedlichen Höhen haben, und ich werde sie alle brauchen, um sich an der Grundlinie / am Boden auszurichten.
absolute
Positionierung entsprechend dem übergeordneten Element verwenden.Antworten:
Sie müssen Folgendes hinzufügen:
Beim Deklarieren
absolute
Element ist es positioniert entsprechend seiner nächsten Elternteil , das nicht der Fall iststatic
(es muss seinabsolute
,relative
oderfixed
).quelle
Sieben Jahre später wird bei der Suche nach vertikaler Ausrichtung immer noch diese Frage aufgeworfen. Daher werde ich eine weitere Lösung veröffentlichen, die uns jetzt zur Verfügung steht: die Flexbox-Positionierung. Stellen Sie einfach
display:flex; justify-content: flex-end; flex-direction: column
das übergeordnete Div ein (auch in dieser Geige gezeigt ):quelle
align-items: flex-start;
Sie diese Option, wenn Sie die Elemente nicht strecken möchten.Verwenden Sie die CSS-Anzeigewerte von Tabelle und Tabellenzelle:
HTML
CSS
Ich habe hier eine JSBin-Demo erstellt: http://jsbin.com/INOnAkuF/2/edit
Die Demo enthält auch ein Beispiel für die vertikale Ausrichtung mittels derselben Technik.
quelle
das funktioniert (ich habe nur ie & ff getestet):
hoffentlich hilft das.
quelle
Die Antwort von Y. Shoham (unter Verwendung der absoluten Positionierung) scheint in den meisten Fällen die einfachste Lösung zu sein, wenn der Container eine feste Höhe hat. Wenn der übergeordnete DIV jedoch mehrere DIVs enthalten und seine Höhe basierend auf dem dynamischen Inhalt automatisch anpassen muss, dann Es kann ein Problem geben. Ich brauchte zwei Blöcke mit dynamischem Inhalt. eine auf die Oberseite des Containers und eine auf die Unterseite ausgerichtet, und obwohl ich den Container dazu bringen könnte, sich an die Größe des oberen DIV anzupassen, würde die Größe des Containers nicht die Größe des Containers ändern, sondern sich nach außen erstrecken . Die oben von romiem beschriebene Methode unter Verwendung der Positionierung im Tabellenstil ist zwar etwas komplizierter, in dieser Hinsicht jedoch robuster und ermöglicht die Ausrichtung nach unten und die korrekte automatische Höhe des Containers.
CSS
HTML
Mir ist klar, dass dies keine neue Antwort ist, aber ich wollte diesen Ansatz kommentieren, da er mich dazu brachte, meine Lösung zu finden, aber als Neuling durfte ich nicht kommentieren, sondern nur posten.
quelle
Sie müssten wahrscheinlich das Kind div einstellen, um zu haben
position: absolute
.Aktualisieren Sie Ihren untergeordneten Stil auf
quelle
Ein alter Beitrag, aber ich dachte, ich würde eine Antwort für jeden teilen, der sucht. Und weil bei der Verwendung etwas
absolute
schief gehen kann. Was ich tun würde, istHTML
Die Css
Und das würde einfach das untere Div wieder in das übergeordnete Div setzen. sicher auch für die meisten Browser
quelle
Ich hatte etwas Ähnliches und brachte es zum Laufen, indem ich dem Kind effektiv etwas Polsterung hinzufügte .
Ich bin sicher, dass einige der anderen Antworten hier zur Lösung führen würden, aber ich konnte sie nicht dazu bringen, nach langer Zeit einfach zu arbeiten. Stattdessen habe ich die Padding-Top-Lösung gefunden, die in ihrer Einfachheit elegant ist, mir aber irgendwie hackig erscheint (ganz zu schweigen davon, dass der eingestellte Pixelwert wahrscheinlich von der Höhe der Eltern abhängt).
quelle
Das ist meine Lösung
quelle
Wenn Sie mehrere untergeordnete Divs in Ihrem übergeordneten Div haben, können Sie die vertikal ausgerichtete Eigenschaft wie folgt verwenden:
quelle