qq_乐_5
2016-04-26 20:45
不用绝对定位,用margin-left 和margin-top 来表示吧,但是用margin-left的100px和绝对定位的left100px的位置差了一点点,margin的要更靠右一些,这是为什么?
相对定位需要考虑到边框线的宽度的
在border都很细的时候,确实看上去有差别,可是当我把里面块元素的边框线增加到25px,宽度变为50,边框用dotted,外面的父包含块的宽度变成100px,边框线用solid的时候,我发现,margin和position:absolute的用法并没有什么不同,两种边框的贴合并没有区别,难道是眼睛的错觉???????
这里的left和top和margin-left和margin-top是不一样的,绝对定位的left和top是相对于浏览器的偏移,而margin是相对于上一级盒子的偏移(在此处是body)。不同浏览器的body相对于浏览器的偏移量是是不一样的。在本段代码里,如果要让绝对定位的left和right的效果和margin-left和margin-right的效果一样,必需加上一段样式body{margin:0px;},否则有明显差别。
如果是有区别的话应该就是border这个属性的原因了。
padding和margin的区别,padding在边框里,margin在边框外
然后绝对定位使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。
margin是从框外到盒子的距离
而margin和padding之间还有一段距离
这个误差可能是这一段距离造成的
刚刚学,有错匆喷,共同讨论
初识HTML(5)+CSS(3)-升级版
1225812 学习 · 18234 问题
相似问题