课程
/前端开发
/HTML/CSS
/网页布局基础
为什么mainbody必须设置为relative?
2015-08-23
源自:网页布局基础 4-4
正在回答
因为需要以mainbody为基准点,即以mainbody所在左上点为基准来设置content的位置。
如果光设置content为绝对定位,那么会以<html>为基准点放置content,会造成content覆盖box1的位置或者处于页面最上部分的内容。所以应用老师所说“有已定位祖先元素,以距其最近的已定位祖先元素为偏移参照基准”,即要把content上的父结点mainbody设一个绝对定位,这样content最会在mainbody的位置来放置。
那么mainbody只要设置绝对定位中的静态定位与相对定位都可以说其已经是“已定位祖先元素”了。
当定位为绝对定位且有偏移量时,此种情况属于我下图中打勾的这类情况:
大家的普遍认识就是: 因为有absolute所以要设置relative.这种观念是错误的,父级的relative完全可以不要.
可以设置成相对定位,绝对定位,固定的任意一种,但是相对定位元素处于文档流之中,即便有偏移,偏移也是参照最初始的位置,比绝对定位稳定,所以需要一个参照基准的时候,会把父包含块设置成相对定位。
具体可以再看看上一个视频4-3 绝对定位。
那要看需求 因为下方有absolute所以要设置relative
举报
让你精通CSS中三大定位机制,彻底掌握网页布局的相关知识