HTML Inline-Block-Element zum Zentrum:Wie mit Rand
<div id="wrap">
<div id="block1"></div>
<div id="block2"></div>
</div>
CSS:
div#wrap{
margin-top: 3em;
border: solid 1px black;
text-align: center;
}
div#wrap *{
display: inline-block;
width: 12.5em;
margin-top: 1em;
height: 8em;
}
div#wrap *:not(:last-child){
margin-right: 8em;
}
#block1{
background: orange;
}
div#wrap #block2{
background: magenta;
}
Diese zwei Blöcke sollen in Responsive Design-Modus zentriert werden. Wenn der Bildschirm breit genug ist, um 2 Blöcke hintereinander zu haben, funktioniert der Code. Aber wenn ich den Bildschirm nach unten verengen, wird der obere Block nach links verschoben, weil der Marge:
Ist es möglich, diese Abfragen ohne Medien zu beheben?
bearbeiten
Ich versuchte flex-box:
div#wrap{
margin-top: 3em;
border: solid 1px black;
display: flex;
flex-flow: row wrap;
justify-content: center;
}
Sie müßten die 'margin-right' Eigenschaft von dem ersten verschachtelten Elemente zu entfernen. – UncaughtTypeError
@UncaughtTypeError Ja. Aber ich brauche den Rand, wenn der Bildschirm breit genug ist, um 2 Elemente hintereinander zu enthalten. Ist die Bildschirmabfrage der Medienabfrage die einzige Lösung? – user4035
Es ist wahrscheinlich die sicherste Option mit der aktuellen * Inline-Block * -Konfiguration. Sie können mehr Optionen zur Verfügung haben, wenn Sie bereit sind, Flex-Box-Lösungen zu erkunden. – UncaughtTypeError