发布网友 发布时间:2022-04-23 07:54
共3个回答
热心网友 时间:2022-04-28 06:42
position的默认值是static,(也就是说对于任意一个元素,如果没有定义它的position属性,那么它的position:static)
如果你想让这个#demo里的一个div#sub相对于#demo定位在右上角的某个地方,应该给#demo相对定位,#sub绝对定位。
absolute是相对于自己最近的父元素来定位的,如果你不给#demo相对定位,那么#sub的绝对定位就是相对于body来定位的。
relative是相对于自己来定位的,例如:#demo{position:relative;top:-50px;},这时#demo会在相对于它原来的位置上移50px。
static: 默认值。无特殊定位,对象遵循HTML定位规则;
absolute: 将对象从文档流中拖出,使用left,right,top,bottom 等属性相对于其最接近的一个最有定位设置的父对象进行绝对定位。如果不存在这样的父对象,则依据body对象。而其层叠通过z-index属性定义;
fixed:未支持。对象定位遵从绝对(absolute)方式。但是要遵守一些规范;
relative:对象不可层叠,但将依据 left,right,top,bottom 等属性在正常文档流中偏移位置;
热心网友 时间:2022-04-28 08:00
相对定位 蛮神奇的。div不脱离标准流。但是可以浮在其它层上面。
大多数人用relative都是为了给绝对定位absolute做父级div服务的。就是说。父级div使用了relative属性,其子级div可以以其父级div的长款为标准定位其横纵坐标
热心网友 时间:2022-04-28 09:35
没什么完整的用法,只有根据不同需求灵活运用各种属性.
position:relative日常应用的时候一般是设置给position:absolute;的父层的,
父层position:relative; 子层position:absolute;的话, 就是依照父层的边界进行定位的, 不然position:absolute 会逐层向上寻找设置了position:relative的元素边界, 直到body元素..
http://w3school.com.cn/css/css_positioning.asp