Wie richtet man drei Divs (links/Mitte/rechts) in einem Div aus?
P粉092778585
2023-08-21 15:09:18
<p>Ich möchte 3 Divs innerhalb eines Container-Divs ausrichten, etwa so: </p>
<pre class="brush:php;toolbar:false;">[[LINKS] [MITTE] [RECHTS]]</pre>
<p>Die Breite des Container-Divs beträgt 100 % (es ist keine Breite festgelegt) und das mittlere Div sollte nach der Größenänderung des Containers in der mittleren Position bleiben. </p>
<p>Also habe ich Folgendes eingestellt: </p>
<pre class="lang-css Prettyprint-override"><code>#container{width:100%;}
#left{float:left;width:100px;}
#right{float:right;width:100px;}
#center{margin:0 auto;width:100px;}
</code></pre>
<p>Aber das Ergebnis war: </p>
<pre class="brush:php;toolbar:false;">[[LINKS] [MITTE] ]
[RECHTS]</pre>
<p>Irgendwelche Vorschläge? </p>
使用Flexbox水平对齐三个div
这是一种在另一个div中水平对齐div的CSS3方法。
jsFiddle
justify-content属性有五个值:
在所有情况下,三个div在同一行上。有关每个值的描述,请参见:https://stackoverflow.com/a/33856609/3597276
flexbox的好处:
了解更多关于flexbox的信息:
浏览器支持: Flexbox受到所有主要浏览器的支持,除了IE < 10。一些最近的浏览器版本,如Safari 8和IE10,需要供应商前缀。要快速添加前缀,请使用Autoprefixer。更多详细信息请参见这个答案。
使用这个CSS,将你的div放置如下(首先是浮动):
附注:你也可以先浮动右边,然后左边,再居中。重要的是浮动的内容要在“主要”中心部分之前。
附注:通常你会想在
#container
中的最后加入这段代码:<div style="clear:both;"></div>
,它会使#container
的高度垂直延伸,以容纳两侧的浮动内容,而不仅仅是从#center
的高度来定位,这样可以避免两侧内容溢出底部。