[六]HTML+CSS基础(相对/绝对/固定定位)

定位:

position属性可以控制Web浏览器如何以及在何处显示特定的元素。可以使用position属性把一个元素放置到网页中的任何位置

  • 可选值:

    • static 默认值,元素没有开启定位
    • relative 开启元素的相对定位
    • absolute 开启元素的绝对定位
    • fixed 开启元素的固定定位(也是绝对定位的一种)
  • 当开启元素的定位(position属性值为非static的值)时,可以通过left right top bottom四个属性来设置元素的偏移量

    • left 元素相对于其定位位置的左侧偏移量
    • right 元素相对于其定位位置的右侧偏移量
    • top 元素相对于其定位位置的上边偏移量
    • bottom 元素相对于其定位位置的下边偏移量

通常偏移量只需要使用两个,就可以对一个元素进行定位了。一般会选择一个水平方向的偏移量和垂直方向的一个偏移量对一个元素进行定位

/*源代码:没有设置positon*/



    
    网页标题
    


    
[六]HTML+CSS基础(相对/绝对/固定定位)_第1张图片
原图.png


一.相对定位

  • 1.当开启了元素的相对定位之后,而不设置偏移量,元素是不会发生任何变化的
  • 2.相对定位时相对于元素在原来文档流中的位置进行定位的
  • 3.相对定位的元素不会脱离文档流
  • 4.相对定位会使元素提升一个层级
  • 5.相对定位不会改变元素的性质,块还是块,内联还是内联



    
    网页标题
    


    
[六]HTML+CSS基础(相对/绝对/固定定位)_第2张图片
相对定位.png




    
    网页标题
    


    
[六]HTML+CSS基础(相对/绝对/固定定位)_第3张图片
黄色会盖住绿色.png


二.绝对定位

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





    
    网页标题
    


    
[六]HTML+CSS基础(相对/绝对/固定定位)_第4张图片
开启绝对定位.png




    
    网页标题
    


    
[六]HTML+CSS基础(相对/绝对/固定定位)_第5张图片
祖先元素没有开启定位.png




    
    网页标题
    


    
[六]HTML+CSS基础(相对/绝对/固定定位)_第6张图片
祖先元素开启定位.png


三.固定定位

固定定位也是一种绝对定位,他的大部分特点和绝对定位相同

与绝对定位不同:

  • 1.永远相对于浏览器窗口进行定位
  • 2.固定定位会固定在浏览器窗口的某个未知,不会随滚动条滚动
  • 3.IE6不兼容固定定位


层级:

通过z-index属性来设置元素的层级,可以为z-index指定一个正整数作为值,该值会作为当前元素的层级,层级越高,越优先显示

  • 没有开启定位的元素是不能设置z-index的
  • 父元素的层级再高,也不会盖住子元素




    
    网页标题
    


    
[六]HTML+CSS基础(相对/绝对/固定定位)_第7张图片
层级,黄色盖住红色,绿色盖住黄色.png




    
    网页标题
    


    
[六]HTML+CSS基础(相对/绝对/固定定位)_第8张图片
z-index.png




    
    网页标题
    


    
[六]HTML+CSS基础(相对/绝对/固定定位)_第9张图片
父元素层级再高也不会盖住子元素.png

你可能感兴趣的:([六]HTML+CSS基础(相对/绝对/固定定位))