Platzieren Sie reaktionsfähige Blöcke in flexiblen Spalten
P粉545682500
2023-09-03 19:51:51
<p>Ich habe eine Gaming-Website mit einer Kopfzeile, einem Board und einer Fußzeile. Ich brauche alle drei, damit sie in das Ansichtsfenster passen. Um dies zu erreichen, sollte die Platine kleiner sein. </p>
<p>Minifizierung ist das Problem, das ich habe. Es ist mir gelungen, die Breite anzupassen, aber nicht die einschränkende Höhe. </p>
<p>Die Platine sollte quadratisch bleiben und ungenutzten Platz einnehmen oder schrumpfen, um ein Überlaufen zu verhindern. </p>
<p>Ich mache etwas in der Art wie unten, aber am Ende ragt das Brett über die Größe des Elternteils hinaus. </p>
<p>In meinem tatsächlichen Code ist die Höhe des Titels aufgrund des Zeilenumbruchs unbekannt. Fußzeilen enthalten unterschiedliche Textmengen. Innerhalb des Schachbretts gibt es eine Reihe von Divs, die die Reihen darstellen, und eine Reihe von untergeordneten Elementen, die die Felder des Schachbretts darstellen. Ein Quadrat hat ein Seitenverhältnis</p>
<p>
<pre class="brush:css;toolbar:false;">.parent {
Höhe: 100 Vh;
Hintergrundfarbe: grau;
Anzeige: Flex;
Flexrichtung: Spalte;
}
.Header {
Höhe: 10px;
Hintergrundfarbe: blau;
}
.Kind {
Hintergrundfarbe: rot;
Flex: 1 1 Auto;
}
.Schachbrett {
Breite: 100 %;
maximale Höhe: 100 %;
Seitenverhältnis: 1/1;
Hintergrundfarbe: lila;
Rand: automatisch;
}
.Fusszeile {
Höhe: 10px;
Hintergrundfarbe: grün;
}</pre>
<pre class="brush:html;toolbar:false;"><div class="parent">
<div class="header">
</div>
<div class="child">
<div class="Schachbrett">
</div>
</div>
<div class="footer">
</div>
</div></pre>
</p>
<p>Danke für jede Hilfe. </p>
你有
aspect-ratio
告诉棋盘具有与宽度相同的高度,所以如果你的宽度是3000px,你的高度将是相同的。你有选择最终答案取决于您的一些澄清。我在对这个问题的评论中问过你。但我会给出一个通用的答案。
我将简要解释下面示例中所做的事情。
我创建了一个
.chessboard-wrapper
,其中有一个。
根据需要进行缩放,并具有
aspect-ratio: 1;
。.chessboard
本身具有position:absolute;
并将采用父亲的尺寸。