欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

深入了解css中的position属性

程序员文章站 2022-04-21 12:10:47
...

不知道,看我写 前端知识的程序员们,有没有和我一样的感觉,我每次写完html结构,然后写css样式内容时,心里有一个样子,但是实现后,ctrl+save确是另一个样子,心里真是不爽啊。
对于position这个属性,我每次设置他的时候,都会或多或少有点意外。
面试过两三次,但是却没有被问到这个,心里还是有侥幸的心理的。

  • position
    这个属性一共有四个值。

    • static 静态定位
      默认布局。如果是块级元素就会在页面中自上而下的堆叠起来。如果是行内元素就会在一行内由左至右延续,如果装不下就会换行,装下了继续。

    • relative 相对定位
      使得该元素相对于他原来在文档中的位置进行定位。通过top、left、bottom、left这四个属性值,来改变它的位置。
      以上还很好理解。
      不好理解在这里:为元素进行相对定位,会保留该元素原来占据的文档流空间。当对该元素进行相对定位时,比如top:20px;使得该元素距离距离他原来占据的空间顶部20px。也就是该元素向下移动了20px,但是除了该元素移动了一段距离,页面上其他元素并没有发生任何变化。

    • absolute 绝对定位
      绝对定位会彻底从文档流中拿出来,元素之前占据的空间也被回收啦。绝对定位元素的定位依靠其定位上下文。
      需要注意的是:这里写过绝对定位可以将行内元素变为块级元素的表现形式。但是确定就是一旦将行内元素进行绝对定位后,该元素的位置不好掌握,(原因:如果该元素没有设置内外边距,且前后左右也没有绝对定位元素,那么该元素会暂时停留在自己原来的位置,但是如果该元素设置了外边距,那么该元素会暂时停留在距原来位置一个外边距的距离。如果他前后左右都是设置了绝对定位的元素,那么该元素会寻找最上面一个不是绝对定位的元素下面。<有没有后悔听原因啦>)所以,一点那设置了绝对定位需要马上为该元素进行top、left定位。

      定位上下文的理解:
      相对于另一个元素移动该定位元素的位置,那么“另一个元素”即为该元素的定位上下文。
      绝对定位元素的任何祖先元素都可以成为他的定位上下文,只需把相应的祖先元素设置为position:relative;即可。
      如果其祖先元素均没有设置相对定位的,那么该绝对元素的默认定位上下文为body。

    • fixed 固定定位
      绝对定位也是完全移除文档流。但是他的定位上下文为视口,即浏览器窗口。
      固定定位不常用,最常见的情况是,用它创建不随网页而滚动而移动的导航

我在做练习是,最习惯的就是将父元素进行相对定位,然后对要其子元素需要定位的进行绝对定位。
虽然有些网页也有父元素绝对定位,子元素相对父元素再绝对定位,我不太喜欢这样写,因为父元素的位置还需要再定位一遍。

【相关推荐】

1. 免费css在线视频教程

2. css在线手册

3. php.cn独孤九贱(2)-css视频教程

以上就是深入了解css中的position属性的详细内容,更多请关注其它相关文章!

相关标签: css,position