Ich habe ein zentriertes div (mit absoluter Positionierung und Transformation: translate (-50%, - 50%) wie beschrieben here). Wenn der Inhalt des Child Div kurz ist, funktioniert alles gut. Wenn der Inhalt lang ist, ist die untergeordnete div-Breite auf 50% des Container-Div beschränkt (wahrscheinlich, weil left auf 50% gesetzt ist).Maximale Breite des absolut positionierten Elements
Gibt es eine Möglichkeit, die untergeordnete div nur auf die volle Breite zu erweitern, wenn der Inhalt lang ist?
.container {
position: relative;
display: inline-block;
width: 200px;
height: 200px;
margin-left: auto;
margin-right: auto;
border: 2px solid black;
}
.child {
position: absolute;
transform: translate(-50%, -50%);
left:50%;
top:50%;
background:lightgreen;
}
<div class="container">
<div class="child">short</div>
</div>
<div class="container">
<div class="child">long long long long long long long</div>
</div>
bearbeiten: Ich fand eine Erklärung, die mich um diese in this Antwort wickeln meinen Kopf geholfen.
Ihre Lösung ist nicht vertikal zentriert. – cyrix
Meine Lösung sollte nicht vertikal zentriert werden, sondern nur, um die ursprüngliche Sorge von OP zu adressieren: "Max Breite des absolut positionierten Elements" - was es hat. Ich finde Ihren Downvote nicht gerechtfertigt. – UncaughtTypeError
Danke für die Beschreibung Ihrer Absicht, ich habe den Downvote entfernt und das OP entscheiden lassen. – cyrix