CSS-13-浮动

1.float浮动流

1.写法:

	float:left; 左浮动
	float:right; 右浮动

2.浮动的初衷
浮动一开始不是拿来做布局,而是为了解决文字环绕图片的问题(了解,面试题可能有)
强行要求浮动作为一种布局手段

3.特点
浮动元素,可以实现模式转换,拥有行内块的特点
浮动元素,脱离标准流/脱标,不占据标准流的位置,导致后面的标准流会被浮动的遮住 浮动流的层级比标准流高

4.浮动的顺序
浮动元素的顺序与css代码没有关系
由html的结构代码顺序决定
浏览器渲染代码的顺序,是先渲染html,再渲染css样式

5.父子元素浮动
当父盒子浮动了,那么子盒子会跟着父盒子
子盒子浮动的范围,只能在父盒子内

6.浮动导航栏正确结构
正确的导航栏结构
ul > li > a
a的文本颜色不能继承,只能直接作用
给li添加一个浮动

2.浮动的影响是什么?

1.影响

当所有的子元素都浮动了,那么父元素有可能会失去高度.

原因:

因为父盒子是标准流,但是子元素是浮动流,浮动的元素不占据标准流的位置,所以父元素失去高度
.

2.清除浮动

1.利用高度法清除浮动影响

父盒子没有高度,就给父盒子设置一个高度.
高度法适合固定高度的盒子
但是如果高度是动态(子元素多就高,子元素少就矮),那么高度法就不适合.

2.利用overflow来清除浮动的影响

给父盒子设置overflow:hidden;
固定的可以用,动态的也可以用

建议不要用,本职工作不是清除浮动影响,而是为了处理超出的元素

3.额外标签法清除浮动影响
官方推荐:额外标签法
在子元素的最后面添加一个额外标签,并且设置clear:both属性
因为会添加很多没有意义的结构代码,所以不用
例子:

	 .clear {
		clear: both;
	}
<div class="clear"></div>在子元素下的额外标签

4.单伪元素清除浮动影响
伪元素:在不改变结构代码的前提下,添加额外的元素----优势
在用到的标签添加一个.clearfix类就好了.

	.clearfix::after {
		content: ".";
		/* 为了兼容某一个低级版本的火狐浏览器 */
		clear: both;
		display: block;
		height: 0;
		visibility: hidden;
		/* 元素的可见性: 隐藏 */
	}
	/* 针对低级ie浏览器做兼容 */
	.clearfix {
		*zoom: 1;
	}

5.双伪元素清除浮动影响

	.clearfix::after,
	.clearfix::before{
		content: "";
		display: block;
	}
	.clearfix::after {
		clear: both;
	}
	/* 针对低级ie浏览器做兼容 */
	.clearfix {
		*zoom: 1;
	}

7.伪元素拓展
.clearfix::before 表示在.clearfix的子标签之前.
.clearfix::after 表示在.clearfix的子标签之后.
content: “”; 这个属性必须有.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值