Azi*_*urt 16 html css alignment css3
我想知道是否存在一种优雅的方法来水平对齐3 divs
而不使用 float
css属性.
HTML:
<div id="parent">
<div id="first">Left</div>
<div id="second">Middle</div>
<div id="third">Right</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我问这个问题是因为父母div
没有float
属性并且添加float
到子节点会导致页面大小调整问题.
pot*_*hin 36
您可以使用display:inline-block
或display:table-cell
使用内部内容.
#parent{ display:flex; justify-content: space-between; }
Run Code Online (Sandbox Code Playgroud)
#parent{ display:table; width:100%; }
#parent div{ display:table-cell; }
#first{ text-align:left; }
#second{ text-align:center; }
#third{ text-align:right; }
Run Code Online (Sandbox Code Playgroud)
#parent{ width:100%; white-space:nowrap; }
#parent div{ display:inline-block; width:33.3%;}
#first{ text-align:left; }
#second{ text-align:center; }
#third{ text-align:right; }
Run Code Online (Sandbox Code Playgroud)
T J*_*T J 13
添加到notulysses的答案,如果古老的浏览器支持不是问题,您可以使用css3 Flexible_boxes.
通过应用display:flex
子div将水平对齐(默认情况下)
#parent{
display:flex;
justify-content:space-around;
}
Run Code Online (Sandbox Code Playgroud)
这将避免元素的空白问题inline-block