div布局:相对定位、绝对定位、固定定位
当用div布局,相对定位时(一个div包含另一个div),子div的位置是相对于母div来设置的(从母div左上角开始算),margin可以活动到母div外围而不会把母div撑大,padding则总是在母div内部折腾,会把母div撑大。
—————————————————————
—————————————————————
当用div布局,绝对定位时,div位置是相对整个页面来设置的(从整个网页的左上角开始算),绝对定位的div被固定在了页面某个距离的最上层,能遮住别的元素。当然这个页面指的不是可视页面,而是整个页面,因为页面内容一旦太多,拉动滚动条可以让div在视线中消失(margin不会撑大,padding同样会撑大)。
—————————————————————
—————————————————————
当div用布局,固定定位时,div的位置是相对于整个可视页面来说的(从整个可视页面的左上角开始算),它一直在可视页面的某个位置的最上层,页面再大,仍然霸屏在那里。
—————————————————————
—————————————————————
最后我还是没弄透彻padding与margin到底是怎么回事,只知道前者是内边框后者是外边框。前者是div内部的内容相对于div左上角的距离,后者是div相对于页面左上角的距离,所以内边距一大就是div内部的内容距离div左上角的距离变大,所以padding会撑大而margin不会。最后还试了一下,当绝对定位的div与固定定位的div在同一位置时,哪个会被遮住,结果发现固定定位更吊一点,毕竟它占据的是可视页面嘛。
我写这个的本意是为了让学习css涉及到这一知识点的朋友能更好地理解div定位,可是我自己却是个天生的纠结命,总喜欢不停地用代码做测试,然而不同的浏览器可能出现不同的效果,所以如果看到此文并有不同见解的朋友,你千万不要来跟我争论,真的,我会纠结死。
好了,再会!哈哈哈~~~~