慕仰0359230
2020-04-10 16:21
我想让两个div并列显示然后居中,为什么我设置了margin:10px auto却还是不能居中?
body{
display:flex;
justify-content: center;
}
查了下,给父元素设置FLEX布局居中可以
因为设置float后元素自动变为inline-block,不管之前是什么类型,会没有margin
10px 的 margin 是有显示的,只是不明显,你可以设置 200px 试试看。
对于 margin: 0 auto; 的使用,是有限制条件的,一个就是 div 得设置宽度,但是设置宽度之后又居中不了。
我的猜想是可能与 float 有关,我取消float之后,两个 div 是能居中显示的,不过就没有并列居中的效果了。
现在整个body没有高度,目前我所学到的使用一个外层div,设置一下宽高包裹一下就可以居中了
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>浮动模型</title>
<style type="text/css">
.div{
position: absolute;
width: 408px;
height: 400px;
right: 0;
left: 0;
top: 0;
bottom: 0;
margin:auto;
}
#div1,#div2{
border: 2px red solid;
width: 200px;
height: 400px;
float:left;
}
</style>
</head>
<body>
<div class="div">
<div id="div1">栏目1</div>
<div id="div2">栏目2</div>
</div>
</body>
</html>
使用了float模型,两个div会显示在同一行,所以其实已经居中了吧?(把两个div看成一个整体)
初识HTML(5)+CSS(3)-升级版
1225812 学习 · 18234 问题
相似问题