关于浮动知识的总结

关于浮动知识的总结

1.通常我们为了将几个块级元素排成一列,又或者是我们想要让元素关于父元素进行左定位或者右定位,会将它们的属性设置为float:left或者float:right.
代码如下:

//html:
<div class="div1">
    div1
</div>
<div class="div2">
    div2
</div>

//css:
.div1{
    float:left;
    width: 200px;
    height: 200px;
    background: #000;
}
.div2{
    float:left;
    width: 200px;
    height: 200px;
    background: yellow!
}

效果:
这里写图片描述

左右浮动:

//html:
<div class="div1">
    div1
</div>
<div class="div2">
    div2
</div>

//css:
.div1{
    float:left;
    width: 200px;
    height: 200px;
    background: #000;
}
.div2{
    float:right;
    width: 200px;
    height: 200px;
    background: yellow!
}

左右浮动

2.浮动虽然用起来很爽,但是浮动会部分脱离文档流,什么是脱离文档流呢?就是其他元素会当浮动元素不存在,其他元素的margin值对浮动元素不起作用,并且浮动元素会遮住后面的元素.
代码如下:

//html:
<div id="left"></div>
<div id="right"></div>

//css:
#left{
    float: left;
    width: 200px;
    height: 200px;
    background: #000;
}
#right{
    width: 300px;
    height: 300px;
    background: yellow;
}

效果如下:
这里写图片描述

可以看到背景为黑色的div遮住了黄色的div,为什么会这样呢?因为黄色div在文档流中会无视黑色div的存在,所以黑色div就浮在了上面.
但是为什么我说float是部分脱离文档流呢?因为当元素浮动时,下面的div会被遮住,但是下面的文字不会被掩盖,而是在浮动元素的周围显示!
代码如下:

//html:
<div id="left">
    div1
</div>
<div id="right">
    div2
</div>

//css:
#left{
    float: left;
    width: 200px;
    height: 200px;
    background: #000;
}
#right{
    width: 200px;
    height: 200px;
    background: yellow;
}

效果:
这里写图片描述

可以看到黄色的div被黑色div遮住了,但是黄色div的文字却没有被遮盖,我们再看一个例子:

<div id="left">
    div1
</div>
<p>12345自学前端,自学前端,自学前端,自学前端,自学前端,自学前端,自学前端,自学前端,自学前端,自学前端,自学前端,自学前端,自学前端,自学前端,自学前端,自学前端,</p>

//css
#left{
    float: left;
    width: 200px;
    height: 200px;
    background: #000;
}

效果:
这里写图片描述

为了更好的看到效果,将浏览器的尺寸调小了点,这样看的更明白,可以看到上面的文字完全浮动在了黑色div的周围,所以说float是部分脱离文档流,很神奇。

3.另外我还发现了浮动的一个奇葩之处,就是当div重叠之后,被遮住的div设置margin-top会带着浮动的元素一起向下移动,但是设置margin-left却没效果.
代码如下:

//html
<div id="left">div1</div>
<div id="right"></div>

//css
#left{
    float: left;
    width: 200px;
    height: 200px;
    background: #000;
}
#right{
    width: 200px;
    height: 200px;
    background: yellow;
    margin-top: 100px;
}

效果:
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值