首页 > 试题广场 >

position相关属性

[问答题]

1、static,默认值

说到这里我们不得不提一下一个定义——文档流,文档流其实就是文档的输出顺序,也就是我们通常看到的由左到右、由上而下的输出形式,在网页中每个元素都是按照这个顺序进行排序和显示的,而float和position两个属性可以将元素从文档流脱离出来显示。

默认值就是让元素继续按照文档流显示,不作出任何改变。


2、relative,相对定位

  1. 当开启了元素的相对定位以后,而不设置偏移量时,元素不会发生任何变化。
  2. 相对定位是相对于元素在文档流中原来的位置进行定位。并且定位不会影响其他相邻的元素。
  3. 相对定位的元素不会脱离文档流。可以这么理解,因为在开启相对定位后,虽然设置偏移元素可以进行移动,但是原来的物理空间还始终被实实在在地占用着。
  4. 相当于使元素提升一个层级。为什么说相当于呢?因为原来的位置还在被始终占用着,也并没有脱离文档流,只是把表现出来的内容位移了一下。
  5. 相对定位不会改变元素的性质,块还是块,内联还是内联。


3、absolute,绝对定位

  1. 开启绝对定位,会使元素脱离文档流。
  2. 开启绝对定位以后,如果不设置偏移量,则元素的位置不会发生变化。
  3. 绝对定位是相对于离他最近的开启了定位的祖先元素进行定位的(一般情况,开启了子元素的绝对定位都会同时开启父元素的相对定位)如果所有的祖先元素都没有开启定位,则会相对于浏览器窗口进行定位。
  4.  绝对定位会使元素提升一个层级。
  5. 绝对定位会改变元素的性质, 内联元素变成块元素,块元素的宽度和高度默认都被内容撑开。



4、fixed,固定位置

固定定位也是一种绝对定位,它的大部分特点都和绝对定位一样 ,不同的是: 固定定位永远都会相对于浏览器窗口进行定位 ,固定定位会固定在浏览器窗口某个位置,不会随滚动条滚动,IE6不支持固定定位 。比如:



5、sticky,粘性定位

可以认为是 relative 和 fixed 的混合,元素在跨越特定阈值前为相对定位,之后为固定定位。
也就是说 sticky 会让元素在页面滚动时如同在正常流中(relative定位),但当滚动到特定位置时就会固定在屏幕。

编辑于 2021-11-25 08:23:43 回复(0)
<p>static:静态定位,也是position的默认属性,当不设置position时,就默认这种属性,他会按照码源顺序来对元素进行排序</p><p>relative:相对定位,是相对于static属性的位置进行偏移</p><p>fixed:固定定位,相对于浏览器窗口进行定位,这就意味着当浏览器页面滚动时,被定位的元素不会随着其滚动</p><p>absolute:绝对定位,一般是相对于其上一级的父级元素进行定位</p>
发表于 2020-05-26 17:52:50 回复(0)