浮动盒子

CSS布局的三种机制”

网页布局的核心—用css来摆放盒子
在这里插入图片描述

为什么要用浮动

在这里插入图片描述

  1. 可以让多个盒子排成一行并且没有缝隙。(margin设置成负数也可以实现,但是又要调试又要设置div为inline-block)
  2. 可以实现盒子的左右浮动(同上,margin也可以,但是很麻烦)

在这里插入图片描述

什么是浮动

浮动可以让元素:

  1. 脱离便准普通流的控制(可以压在标准流的上面)
  2. 移动到指定位置
    在这里插入图片描述

因为没有设置width,此时这个盒子会根据文字多少来浮动
在这里插入图片描述

如果此时我们设置文字为:”天王盖地虎“:显示为
在这里插入图片描述
如果此时我们设置文字为:”天王盖地虎,小鸡炖蘑菇“:显示为
在这里插入图片描述
此时我们知道float属性让其成为根据文字多少来浮动。

如果我们设置:
在这里插入图片描述
此时便可以实现没有缝隙的相邻效果:
在这里插入图片描述

同理左右,让three设置成right即可
在这里插入图片描述
漏的特点举例:浮动的盒子不占有位置,它的位置给了标准流的普通盒子

	<style>	
		.kid2{
            width: 5000px;
            height: 200px;
            background-color: pink;
        }

		.kid{
            width: 200px;
            height: 200px;
            float: left;
            background-color: red;
        }
        
    </style>


 <div class="kid">子元素1</div>
 <div class="kid2">子元素2</div>

结果如下:
在这里插入图片描述
这时候我们知道红色的区域为什么没有在粉色下面是因为粉色是浮动的,不再占位置,此时红色则会取代黄色,先把自己全部大小的位置占了,才显示粉色。

值得注意的是:如果我们设置粉色跟红色一样大小,那么粉色标签数字将会显示在红色下面,为的是提醒一下下面还压着一个浮动属性的盒子
例如:

<style>	
		.kid2{
            width: 200px;
            height: 200px;
            background-color: pink;
        }

		.kid{
            width: 200px;
            height: 200px;
            float: left;
            background-color: red;
        }
        
    </style>


 <div class="kid">子元素1</div>
 <div class="kid2">子元素2</div>

运行结果为:
在这里插入图片描述

float的应用

浮动应当要注意搭配,因为会影响到标准流元素,所以应该给浮动元素加一个标准流的父亲,避免这样的情况。
在这里插入图片描述

清除浮动

清除浮动主要是为了解决父级元素因为子级浮动引起的内部高度为0的问题,清除浮动后,父级会根据浮动的子盒子自动检测高度,因为父级有了高度,就不会影响下面的标准流
在这里插入图片描述

清除浮动的方法:

  1. 额外标签法
    在浮动标签的最后一个标签后面再创建一个标签,写:clear: both;
    在这里插入图片描述
    例如:
    在这里插入图片描述

  2. 给父级元素添加overflow
    父级元素里加一句:overflow:hidden即可。(但是貌似框框还是会多出一点)
    在这里插入图片描述

  3. 父级添加after伪元素
    在父级元素中添加以下代码即可(目前不懂什么意思)

.clearfix:after{
	conten: "";//内容为空
	display: block;
	height: 0;
	visibility: hidden;
	clear: both;
}

.clearfix{
	*zoom: 1;//ie6,7,专门清除浮动的样式,即为了兼容性
}
  1. 父级添加双伪元素方式
    在父级加上下面代码(同样也是目前不知道什么意思)
.clearfix:before,
.clearfix:after{
	conten: "";//伪元素一定要写的
	display: table;
}
.clearfix:after{
	clear: both;
}

.clearfix{
	*zoom: 1;//ie6,7,专门清除浮动的样式,即为了兼容性
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值