这篇文章上次修改于 2083 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
文档流:文档中可以显示的对象在排列时所占的位置
浮动:使元素脱离正常文档流,按照指定的方向发生移动,直到碰到它的父元素的外边缘或另一个浮动元素的边框为止
float的属性值:
float: left; 左浮动
float:right; 右浮动
float:none; 不浮动
特性:
元素浮动之后不占位,父元素要有一定的高度;
层级提升——半层;
脱离正常文档流;
元素不设宽度时,宽度自适应;
使行级元素支持宽、高
浮动中存在的问题——子元素加浮动后,父元素无法撑开高度
解决办法:
1)为浮动元素的父级盒加固定的高度(闭合浮动)——不够灵活
2)为浮动元素的父级盒加overflow:hidden; ——可能会导致内容显示不完全
3)在浮动元素的后面,跟浮动元素呈并列关系的位置,加一个空div元素,在空div元素上加属性clear: both;——代码冗余
4)推荐方式:
给浮动元素的父级盒加类名clearfix——不会在结构上产生冗余代码,可以重复使用
.clearfix{ *zoom:1; }
.clearfix:after{
content:"";
display: block;
clear: both;
}
overflow: 溢出处理方式
overflow: visible; 溢出显示,默认值
overflow: hidden; 溢出隐藏
overflow: scroll; 溢出显示滚动条(横向和纵向)
overflow: auto; 自动——内容溢出显示滚动条
clear: 清浮动
clear: both; 清除两侧浮动
clear: left; 清除左侧浮动
clear: right; 清除右侧浮动
伪元素选择器:
element:before{ content:""; } 在元素内部,内容之前添加一个内容
element:after{ content:""; } 在元素内部,内容之后添加一个内容
定位技术:网页中出现覆盖关系优先考虑使用定位技术
position属性:将元素从页面中偏移或分离出来,然后设定元素的位置,实现元素的精确定位
position:static; 静态定位,相当于没有定位
position: relative; 相对定位,元素微调
不影响元素本身的特性;
不会使元素脱离正常文档流;
如果不设置定位偏移量,对元素本身没有任何影响;定义了定位偏移量,相对于原来的位置发生偏移;
提升层级
position: absolute; 绝对定位
使行级元素支持宽、高;块级元素宽度自适应(无固定宽度);
使元素脱离正常文档流,不占位;
有定位父级相对于定位父级发生偏移;没有定位父级相对于整个文档发生偏移;
提升层级
绝对定位的使用步骤:
1)为要做特殊定位的盒子(定位盒)加:position:absolute;且绝对定位,设置初始位置,通过left/right、top/bottom:
left:0;/right:0;
top:0;/bottom:0;
2)为定位盒的父级盒(有固定宽、高)加:position: relative; 相对定位
3)回到定位盒,通过定位偏移属性(横向一个,纵向一个)进行精确定位
position:fixed; 固定定位
宽度变为自适应;
元素加固定定位后脱离正常文档流,不占位;
始终相对于浏览器四个角进行定位,不随页面内容的滚动而滚动
z-index: 提升层级——为定位盒设置叠放次序,
只对定位元素生效
数值越大,叠放次序越高
正值向上调整层级,负值向下调整层级
属性值没有单位
没有评论
博主关闭了评论...