问答详情
源自:13-6 万事无绝对 -层模型之绝对定位

找个也可以用margin-left 和margin-top 来表示吧?

不用绝对定位,用margin-left  和margin-top 来表示吧,但是用margin-left的100px和绝对定位的left100px的位置差了一点点,margin的要更靠右一些,这是为什么?

提问者:qq_乐_5 2016-04-26 20:45

个回答

  • HI13260
    2016-04-26 20:51:33
    已采纳

    相对定位需要考虑到边框线的宽度的

  • franzimoney
    2016-06-18 11:20:35

    在border都很细的时候,确实看上去有差别,可是当我把里面块元素的边框线增加到25px,宽度变为50,边框用dotted,外面的父包含块的宽度变成100px,边框线用solid的时候,我发现,margin和position:absolute的用法并没有什么不同,两种边框的贴合并没有区别,难道是眼睛的错觉???????

  • huanranwo
    2016-05-10 17:14:31

    这里的left和top和margin-left和margin-top是不一样的,绝对定位的left和top是相对于浏览器的偏移,而margin是相对于上一级盒子的偏移(在此处是body)。不同浏览器的body相对于浏览器的偏移量是是不一样的。在本段代码里,如果要让绝对定位的left和right的效果和margin-left和margin-right的效果一样,必需加上一段样式body{margin:0px;},否则有明显差别。

  • 慕粉3282307
    2016-04-28 23:59:29

    如果是有区别的话应该就是border这个属性的原因了。

  • 九日谈
    2016-04-26 21:01:14

    padding和margin的区别,padding在边框里,margin在边框外


    然后绝对定位使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。

    margin是从框外到盒子的距离

    而margin和padding之间还有一段距离

    这个误差可能是这一段距离造成的

    http://img.mukewang.com/571f66940001304305570259.jpg




    刚刚学,有错匆喷,共同讨论