1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 相对定位(relative) 绝对定位(absolute) 固定定位(fixed)

相对定位(relative) 绝对定位(absolute) 固定定位(fixed)

时间:2024-05-11 12:43:25

相关推荐

相对定位(relative) 绝对定位(absolute) 固定定位(fixed)

一、绝对定位 position:absolute

绝对定位是相对于元素最近的已定位的祖先元素(即是设置了绝对定位或者相对定位的祖先元素)。如果元素没有已定位的祖先元素,那么它的位置则是相对于最初的包含块(html)。

绝对定位本身与文档流无关,因此不占空间,元素会脱离文档流,普通文档流中的元素的布局就当绝对定位的元素不存时一样,所以 它们可以覆盖页面上其他的元素,并且可以通过z-index属性来控制这些层的对方顺序。

1、举个例子:

HTML代码:

现在只给第五个box设置absolute

说明:元素在没有定义宽度的情况下,宽度由元素里面的内容决定,效果和用float方法一样。

效果:

2、absolute定位原理剖析:

1.在父元素没有设置相对定位或绝对定位的情况下,元素相对于根元素定位(即html元素)(是父元素没有)。

现在给box5偏移值来验证:

效果:

2、父元素设置了相对定位或绝对定位,元素会相对于离自己最近的设置了相对或绝对定位的父元素进行定位。

现在给body元素一个绝对定位(body元素设置为了absolute,整个容器的宽度由最长div决定,宽度变小了):

此时的box5现在相对于body元素定位

效果:

对比可以看到,相对于body定位的box5距离文字box1要远一点。所以在没有父元素设置相对定位或绝对定位的情况下,设置了absolute的元素会相对于html根元素定位。

二、相对定位 position:relative

定位是相对于自身位置定位(设置偏移量的时候,会相对于自身所在的位置偏移)。设置了relative的元素仍然处在文档流中,元素的宽高不变,设置偏移量也不会影响其他元素的位置。最外层容器设置为relative定位,在没有设置宽度的情况下,宽度是整个浏览器的宽度。

relative:相对于原来位置移动,元素设置此属性之后仍然处在文档流中,不影响其他元素的布局。

给第二个box设置relative:

元素相对于原来位置偏移,宽高都没变,撑大了容器。

效果:

三、固定定位 position:fixed

固定定位,相对于视口做参照系,是将某个元素固定在浏览器的某个确定的位置,不随滚动条的移动而变化。

代码示例:

1.我们先在页面中输出一个标准情况下的 div 元素,不添加定位;

代码:

效果:

2. 然后给 div 元素添加固定定位:设置 position:fixed; left:100px; top:100px;

代码:

效果:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。