美文网首页
CSS文档流以及元素层级关系

CSS文档流以及元素层级关系

作者: Cissy_fba3 | 来源:发表于2020-04-23 14:21 被阅读0次

正常文档流
正常文档流:dom节点在排版布局过程中,block元素从上往下,inline元素自动从左往右的流式排列

<div class="father">
  <div class="son son1">1</div>
  <div class="son son2"> 2 </div>
  <div class="son son3">3</div>
  <div class="son">4</div>
  <div class="son">5</div>
  <div class="son">6</div>
  <div class="son">7</div>
  <div class="son son8">8</div>
</div>

//css
.father{border:1px solid;position:relative;}
.son{background:pink;margin:10px;}
正常文档流.png

position:absolute
给son1加个绝对定位,son1脱离了文档流,并且在文档流里面原来的位置消失不见;层级关系:absolute>正常文档流

.father{border:1px solid;position:relative;}
.son{background:pink;margin:10px;text-align:center}
.son1{position:absolute;background:red;}
absolute.png
position:fixed
给son2加个固定定位,son2脱离了文档流,并且在文档流里面原来的位置消失不见后叠在son1上面;层级关系:fixed>absolute>正常文档流
.father{border:1px solid;position:relative;}
.son{background:pink;margin:10px;text-align:center}
.son1{position:absolute;background:red;width:40px}
.son2{position:fixed;background:yellow;}
fixed1.png

ps:有fixed定位的元素是相对于屏幕视口(viewport)的位置来定位的,跟父元素无关。(给son2加个bottom:400px如图下)

.father{border:1px solid;position:relative;}
.son{background:pink;margin:10px;text-align:center}
.son1{position:absolute;background:red;width:40px}
.son2{position:fixed;background:yellow;bottom:400px}

fixed2.png
float
.father{border:1px solid;position:relative;display:float}
.son{background:pink;margin:10px;text-align:center;float:left}
.son1{position:absolute;background:red;width:40px} 
.son2{position:fixed;background:yellow;}
float.png

flex

.father{border:1px solid;position:relative;display:flex}
.son{background:pink;margin:10px;text-align:center;}
.son1{position:absolute;background:red;width:40px} 
.son2{position:fixed;background:yellow;}
flex.png

由以上可以看出,float的父元素没有高度且脱离了正常文档流。flex父元素有高度(高度为子元素撑起的高度)没有脱离正常流。所以层级关系:fixed>absolute>float>flex正常文档流

相关文章

  • CSS文档流以及元素层级关系

    正常文档流正常文档流:dom节点在排版布局过程中,block元素从上往下,inline元素自动从左往右的流式排列 ...

  • 居中,定位

    margin:0 auto;absolute 而是出现了层级关系,脱离文档流,溢出。float:float元素本身...

  • 浮动、定位

    1 . 文档流的概念指什么,有哪种方式可以让元素脱离文档流 CSS普通流/文档流(normal flow)是元素按...

  • CSS浮动学习小记

    CSS定位机制分为文档流,浮动和定位。如果不对元素进行浮动处理的话,元素应该按照文档流排列,否则元素就会...

  • CSS小技巧——高度与文档流

    在CSS里,一个元素的高度是由其内部文档流元素高度总和决定的!那么文档流是什么呢?(加border可检测) 文档流...

  • 巧用display:inline-block;(1)-----

    案例:用a 标签做菜单 优点: 1.不脱离文档流。 2.减少层级嵌套关系。 坑----内联元素代码换行写浏览器会把...

  • CSS定位与浮动

    CSS定位机制 CSS 有三种定位机制 普通流(文档流)、浮动和绝对定位。浮动和绝对定位可以让一个元素脱离文档流。...

  • 前端07

    元素层级 (脱离文档流) 必须开启position定位如果层级大小一样(比如还没有设置层级) 下面的回复盖上面的父...

  • weex的v-if会影响定位元素的层级

    weex的v-if会影响定位元素的层级,这里的层级是由元素在文档流中的顺序觉得的,而不是z-index,weex不...

  • css的绝对定位、相对定位、固定定位、粘性定位的区别

    相对定位:position: relative 没有脱离标准文档流 层级自动提高,会覆盖浮动元素 left:距离左...

网友评论

      本文标题:CSS文档流以及元素层级关系

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