前端新手坑之float:left

相信很多刚学前端的同学们,都会遇到这样一个问题:我的背景(图片)怎么突然消失不见了,而且找不到原因。

float:left;(左浮动)他使得指定元素脱离普通的文档流而产生的特别的布局特性。并且FLOAT必需应用在块级元素之上

例子1代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <style type="text/css">
        .one{
            width: 400px;
            height: 400px;
            background: red;
        }
        .one div{
            float: left;

        }
        .one-l{
            width: 100px;
            height: 100px;
            background: pink;
        }
        .one-r{
            width: 200px;
            height: 200px;
            background: gray;
        }
        .clear{
            clear: both;

        }
    </style>
</head>
<body>
    <div class="one">
        <div class="one-l"></div>
        <div class="one-r"></div>
    </div>
</body>
</html>

e.g.:one是父盒子,one-l、one-r是子盒子;

例子1:当父盒子有宽度和高度时,是能显示出来背景的,之后不论怎么使用float:left;都是不会造成背景丢失的;
(总结:当父盒子的背景丢失时,不妨先给父盒子加个高度和宽度,这是最简单粗暴的方法)

第一种情况:子盒子的宽度和高度小于父盒子的宽度和高度,背景能正常显示,子盒子都在父盒子中。
在这里插入图片描述
第二种情况:子盒子高度宽度大于父盒子的高度宽度时,父盒子的背景是能显示的,子盒子宽度超出父盒子。(我这边是将one-r宽度改成500px
在这里插入图片描述
例子2代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <style type="text/css">
        .one{
            background: red;
        }
        .one div{
            float: left;

        }
        .one-l{
            width: 100px;
            height: 100px;
            background: pink;
        }
        .one-r{
            width: 500px;
            height: 200px;
            background: gray;
        }
        .clear{
            clear: both;

        }
    </style>
</head>
<body>
    <div class="one">
        <div class="one-l"></div>
        <div class="one-r"></div>
        <div class="clear" style="float:none;"></div>
    </div>
</body>
</html>

例子2:父盒子都没有宽度和高度,当父盒子没有宽度和高度时,它是靠子盒子的宽高来撑开的,所以说当你子盒子的float状态下的话,子盒子现在是浮动状态(你可以想象成子盒子现在的漂浮在父盒子上,父盒子被压在子盒子底下)现在的父盒子没有被子盒子撑开,父盒子没有宽和高
(总结:可以在父盒子下加个<div class=“clear” style=“float:none;”></div>,用clear:both清除浮动)

第一种情况:可以看到,背景是没有显示出红色的;
在这里插入图片描述
第二种情况:加入
clear:both;清除浮动,可以看到如下效果。浮动被清除,父盒子有了高度被撑开,而因为div是块元素
,它占据的是一整行。
在这里插入图片描述
如果不想父盒子占据一整行,可以给父盒子加个宽度。

  • 20
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值