CSS—position

作者: Miss____Du | 来源:发表于2015-01-17 16:22 被阅读493次

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

  • position
    这个属性一共有四个值。
  • static 静态定位
    默认布局。如果是块级元素就会在页面中自上而下的堆叠起来。如果是行内元素就会在一行内由左至右延续,如果装不下就会换行,装下了继续。
  • relative 相对定位
    使得该元素相对于他原来在文档中的位置进行定位。通过top、left、bottom、left这四个属性值,来改变它的位置。
    以上还很好理解。
    ** “ ** 不好理解在这里:为元素进行相对定位,会保留该元素原来占据的文档流空间。当对该元素进行相对定位时,比如top:20px;使得该元素距离距离他原来占据的空间顶部20px。也就是该元素向下移动了20px,但是除了该元素移动了一段距离,页面上其他元素并没有发生任何变化。
  • absolute 绝对定位
    绝对定位会彻底从文档流中拿出来,元素之前占据的空间也被回收啦。绝对定位元素的定位依靠其定位上下文。
    需要注意的是:这里写过绝对定位可以将行内元素变为块级元素的表现形式。但是确定就是一旦将行内元素进行绝对定位后,该元素的位置不好掌握,(原因:如果该元素没有设置内外边距,且前后左右也没有绝对定位元素,那么该元素会暂时停留在自己原来的位置,但是如果该元素设置了外边距,那么该元素会暂时停留在距原来位置一个外边距的距离。如果他前后左右都是设置了绝对定位的元素,那么该元素会寻找最上面一个不是绝对定位的元素下面。<有没有后悔听原因啦>)所以,一点那设置了绝对定位需要马上为该元素进行top、left定位。

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

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

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

相关文章

  • 2017-12-30

    position:absolute and position:relative 的理解 Absolute,CSS中...

  • css粘性定位position: sticky

    css粘性定位position:sticky问题采坑position: sticky 详解(防坑指南)CSS中po...

  • CSS

    absolute position和relative position:https://css-tricks.co...

  • emmet语法,加快你的写代码速度

    Css pos position:relative; pos:s position:static; pos:a p...

  • CSS - 定位

    CSS 中的层级概念 CSS中分为3层 最上层:定位元素层(position:relative、position:...

  • position:sticky

    position:sticky是一个css3属性,类似position:relative和position:fix...

  • Day15:大前端

    垂直水平居中 css: position几个属性 position: relative, absolute, fi...

  • css定位

    CSS position属性 CSS display属性 CSS float属性 (引用:https://www...

  • HTML&&CSS初学问题汇总

    CSS Position定位理解:https://www.runoob.com/css/css-positioni...

  • 【图解CSS#Position】

    关于CSS position,来自MDN的描述: CSS position属性用于指定一个元素在文档中的定位方式。...

网友评论

  • jProvim:"
    绝对定位元素的任何祖先元素都可以成为他的定位上下文,只需把相应的祖先元素设置为position:relative;即可。
    "

    父元素只要不是默認的,static, 子元素用absolute的話, position都是相對與父元素的.

    top, left, right, bottom: specifies the offsets used in absolute, fixed, and relative positions

本文标题:CSS—position

本文链接:https://www.haomeiwen.com/subject/pugcxttx.html