4 回答
TA贡献14条经验 获得超3个赞
position:absolute;这个是相对body的,margin-left:-200px; margin-top:-100px是减去DIV盒子自身高度一半和宽度的一半,不然它top:50%,left:50%; 之后,你有没有想过此时他的bottom和right的边距是否也都是50%? 答案肯定是不是,如果上下左右都50%的话 你的盒子的宽度高度就必须为0。,你要把盒子的宽度和高度考虑进去。
TA贡献3条经验 获得超1个赞
你的效果是div居中的。由于你的position设置绝对与body,top与left各50%,所以居中的是div的左上角。又由于width:400px,那么就要向左移动一半,即margin-left:-200px;,又由于height:200px,那么就要向上移动一半,即margin-top:-100px,这样div就居中了
TA贡献3593条经验 获得超0个赞
TA贡献222条经验 获得超80个赞
原理:绝对定位的元素定义的top、right、bottom、left等值是元素自身的边界到最近的已定位的祖先元素的距离,这个元素自身的边界指的就是margin定义的边界,所以,如果margin为正的时候,那它的边界是向外扩的,如果margin为负的时候,则它的边界是向里收的。
前提是你知道需要居中的元素的宽高,然后将margin-left、margin-top的绝对值分别设为宽高的一半;所以你也能明白你代码中元素width:400px;height:200px,margin-left:-200px; margin-top:-100px的原因了。
- 4 回答
- 0 关注
- 2431 浏览
相关问题推荐
添加回答
举报