请问#one中的float:left起什么作用?我把它去掉以后就不会居中了
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
#one{
position: relative;
left: 50%;
border:1px solid;
}
#two{
width: 400px;
height: 200px;
background: gray;
position: relative;
left: -50%;
}
</style>
</head>
<body>
<div id="one">
<div id="two"></div>
</div>
</body>
使用
display:inline-block
也是一样的。目的是使
#one
变成行内块,宽度由子元素#two
撑开,而不是占满父元素body
的宽度。这样
#two
的left: -50%;
就会相对于自身宽度(父元素宽度,但是两者相等)向左移动50%
,达到#two
居中的效果。