文档流(normal flow)

网页是一个多层的结构,一层摞着一层

通过CSS可以为每一层设置样式

用户只能看到最上面一层

最底下的一层称为文档流,文档流是网页的基础

我们所创建的元素默认都是在文档流中进行排列的

元素的主要有两个状态:

1、在文档流中

2、不在文档流中(脱离文档流)

元素在文档流中的特点:

块元素:在文档流中独占一行

默认宽度是父元素的全部(会把父元素撑满)

默认高度是被内容撑开(子元素)

行内元素:不会独占页面一行,只占自身大小

行内元素正在页面中自左向右水平排列,如果一行中不能容纳下所有的行内元素,则会换到第二行自左向右排列(按照书写习惯)

float特性

加浮动元素,会脱离文档流,会延迟父容器靠左或靠右排列,如果之前已经有浮动元素,会挨着浮动的元素进行排列

float的取值:left、right、none(默认值)

设置float的元素会脱离文档流,

注意:

浮动元素只会影响其后面的元素,不会影响其前面的元素

 

 #div1{
           background-color:greenyellow;
           width:200px;
           height:200px;
           
       }
       #div2{
           background-color:red;
           width:300px;
           height:300px;
           float:right;
          
           
       }
       #div3{
           background-color:grey;
           width:400px;
           height:400px;
       }
       body{
           border:solid black;
       }

 #div1{
           background-color:greenyellow;
           width:200px;
           height:200px;
           
       }
       #div2{
           background-color:red;
           width:300px;
           height:300px;
           float:left;
          
           
       }
       #div3{
           background-color:grey;
           width:400px;
           height:400px;
       }
       body{
           border:solid black;
       }

 

 可通过此方法实现图文环绕

默认宽根据内容来决定

 以下图片是设置了浮动特性的运行结果

 当一行不能放下所有的浮动元素的时候,浮动元素会自动换行

浮动主要用于块元素

清除float浮动

上下排列:clear属性,表示清楚浮动的,(left、right、both)

要使被浮动元素影响的元素不受影响,就应该对受影响元素设置clear属性,且属性值需要与float属性值一致

 #div2{
           background-color:red;
           width:300px;
           height:300px;
           float:left;
          
           
       }
       #div3{
           background-color:grey;
           width:400px;
           height:400px;
           clear:left;
       }

高度塌陷问题

当子元素脱离文档流的时候父元素会出现高度塌陷问题

BFC(Block formatting context)会计格式化环境,可以为一个元素开启BFC,开启BFC该元素会变成一个独立的布局区域

元素开启BFC的元素

不会被浮动元素所覆盖

子元素和父元素的外边距不会重叠

可以包含浮动的子元素

可以通过特殊的方式开启BFC

1、设置浮动(不推荐)

2、将元素设置为行内块元素(不推荐)

3、将元素的overflow设置为一个非visible的值

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值