标签:另一个 play float 直接 解决 隔离 方法 python 清除
标准文档流,又叫普通流
文档流的布局方式:从左到右,从上到下
脱标:
什么叫脱离文档流?,浮动后的块状元素是行内元素吗?
脱标是什么:
元素脱标后,浮在标准流上层,后面的元素对象,就视它不存在
注意,只有绝对定位absolute、浮动float、固定定位才会脱离文档流!
脱标后的,部分无视和完全无视的区别?
部分无视:使用float脱离文档流时,其他盒子会无视这个元素,但其他盒子内的文本依然会为这个元素让出位置,环绕在周围。
完全无视:对于使用绝对定位脱离文档流的元素,其他盒子与其他盒子内的文本都会无视它。
如果对盒子没有指定宽高,那么盒子的宽高,由其子元素来撑开
什么时候用内边距 什么时候用外边距
绝大多数情况下可以混用,想用什么就用什么,但是总有一个
最好用的,建议
优先使用width (内容的宽度)> padding > margin
margin调整元素位置
三种布局 标准流 浮动 定位
浮动
为什么:
就是为了文字环绕,后来可以让块状元素并排
怎么浮动的:
float:left 或float:right
浮动过程:
元素从当前位置为浮起来,离开原来的位置,左右浮动, 浮动元素的外边缘碰到包含框或另一个浮动元素的边框为止
*****口诀:浮动,先浮后动;
特点 :
1 浮动的元素脱离标准文档流,脱标后不占用文档空间,后面的盒子前移
2 浮动的元素不能撑开父亲 ,宽度不够会把浮动元素往下挤,别卡住了
3、子盒子浮动 不会压住父盒子的padding和margin,只会在内容范围内浮动
4、浮动元素改变元素的模式,无论行内元素还是块级元素 设置浮动后都具有行内块元素特性
* 竖直方向的margin塌陷现象消失
只有标准流中才有margin塌陷情况
* 字围现象
图片和文字搭配的时候,图片浮动,文字不浮动,会造成字围现象
* 清除浮动方法
为什么要清除浮动?
浮动元素会对后面的元素有影响,后面的盒子会无视浮动的元素,会上移,对布局产生影响。为了不影响后面的元素,所以要求浮动的元素也要占用文档空间,所以要清除浮动
1 给父亲增加高度(有高度的盒子可以关住浮动)-------不推荐
缺点:实际工作中很少给父亲直接加高度,一般都是由儿子撑开
并不能清除浮动对后面的影响,因为对父元素设置宽高,只是增加了父元素的宽高,看起来把父元素撑开了,实际没撑开,只是看上去好像撑开了。而且字环绕现象还是存在的。
2 clear: both
clear: both的作用能清除之前的浮动元素对本元素的影响,也清除了浮动对它后面元素的影响
3 隔墙
外墙
清除浮动元素后,浮动元素对本元素和后面元素没有影响了,但是浮动元素对他的父元素还是有影响的,因为父元素没有清除浮动,所以浮动元素撑不开父元素
内墙
内墙元素后面是父元素,所以清楚浮动后对父元素无影响,所以撑开了父元素
把clear: both写在一块div中然后进行隔离
4 overflow:hidden
解决方案 偏方,在父元素中增加 overflow:hidden
overflow:hidden 本意 让多余的内容隐藏
5、使用伪元素
/*伪元素产出的是行内元素*/
.clearfix::after {
content: "."; /*尽量加不要空 */
display: block; /*转块元素*/
clear: both; /*清除浮动*/
height: 0; /*高度为0*/
visibility: hidden;/*隐藏盒子*/
}
.clearfix {
*zoom: 1; /* zoom是ie6 7 清除浮动用的属性
*表示该属性只有ie6 7 识别
*/
}
6、 v 双伪元素 (推荐使用)
/* 推荐使用 代码简洁*/
.clearfix:before,
.clearfix:after {
content: "";
display: table; /* 触发BFC BFC可以清除浮动*/
}
.clearfix:after {
clear: both;
}
标签:另一个 play float 直接 解决 隔离 方法 python 清除
原文地址:https://www.cnblogs.com/xuanjian-91/p/10986998.html