HTML学习总结(4)-浮动,清浮动
2016-07-06 11:21
573 查看
HTML学习总结(4)浮动
float浮动
脱离文档流
提升层级【半层】
内容撑开宽高【默认】
内联支持宽高
块显示在一排
float–>value[浮动起来]
right 元素向右浮动
left 元素向右浮动。
none 默认值,不浮动
inherit 规定应该从父元素继承 float 属性的值。
clear–>value[不许浮动]
right
left
none
inherit
both 霸气—>[左右都不许浮动]
清除浮动的方法
加高【扩展不好】
父级浮动【页面中所有元素加浮动,margin左右自动失效】
inline-block 清除浮动【margin左右自动失效】
空标签清除浮动【IE6最小高度19px->解决后IE6还有2px偏差】
br清除浮动【不符合w3c标准 (不符合结构样式行为三者分离的要求)】
after清楚浮动<推荐>
after:元素末尾加内容【ie6,7下不兼容(IE6,7下有宽度不需清浮动 box{width:50px;})】
zoom:触发IE下haslayout,使元素根据自身内容计算宽高
overflow:hidden 清楚浮动【需要配合宽度 或者zoom 兼容IE6,7】
浮动兼容性问题
- IE6双边距
IE6下块属性标签浮动,有横向margin时,横向margin加倍
解决:display:inline;
- IE6 li部分兼容性问题
–>左右两列布局,右边右浮动IE6 IE7下折行;(左边元素浮动)
解决:左边元素浮动
–>IE6 IE7 li 下元素都浮动 在IE6 IE7下 li 下方会产生4px间隙问题;(加vertical-align:top;)
解决:1.li加 浮动 2.li加 vertical-align:top;
///—–代码——
清除浮动
使元素脱离文档流,按指定方向移动,遇到父级边界或相邻浮动元素停下float浮动
脱离文档流
提升层级【半层】
内容撑开宽高【默认】
内联支持宽高
块显示在一排
float–>value[浮动起来]
right 元素向右浮动
left 元素向右浮动。
none 默认值,不浮动
inherit 规定应该从父元素继承 float 属性的值。
clear–>value[不许浮动]
right
left
none
inherit
both 霸气—>[左右都不许浮动]
清除浮动的方法
加高【扩展不好】
box{}
父级浮动【页面中所有元素加浮动,margin左右自动失效】
.box{float:left;}
inline-block 清除浮动【margin左右自动失效】
.box{display:inline-block;}
空标签清除浮动【IE6最小高度19px->解决后IE6还有2px偏差】
.clear{ height:0px;clear:both;/*font-size:0; IE6 还有2px偏差----解决:overflow:hidden;*/}
br清除浮动【不符合w3c标准 (不符合结构样式行为三者分离的要求)】
<br clear="all" /> /*浮动元素下加*/
after清楚浮动<推荐>
after:元素末尾加内容【ie6,7下不兼容(IE6,7下有宽度不需清浮动 box{width:50px;})】
zoom:触发IE下haslayout,使元素根据自身内容计算宽高
.clear:after{content:'';display:block;clear:both;} .clear{zoom:1;} /*加这里--> <div class="box clear"> */
overflow:hidden 清楚浮动【需要配合宽度 或者zoom 兼容IE6,7】
.box{overflow:auto; zoom:1;}
浮动兼容性问题
- IE6双边距
IE6下块属性标签浮动,有横向margin时,横向margin加倍
解决:display:inline;
- IE6 li部分兼容性问题
–>左右两列布局,右边右浮动IE6 IE7下折行;(左边元素浮动)
解决:左边元素浮动
–>IE6 IE7 li 下元素都浮动 在IE6 IE7下 li 下方会产生4px间隙问题;(加vertical-align:top;)
解决:1.li加 浮动 2.li加 vertical-align:top;
///—–代码——
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <style> body{margin:0;padding:0;} .box{/*width:960px; margin:0 auto;*/border: 3px solid #b200ff;} .left{width:300px;float:left;} .left div{height:298px;background:#ffd800;border: 3px solid #0026ff;} .center{width:360px;float:left;} .center div{height:198px; background:#ff0000;border: 3px solid #0026ff;} .right{width:300px;float:right;} .right div{height:298px;background:#808080;border: 3px solid #0026ff;} </style> </head> <body> <div class="box"> <div class="left"> <div></div> <div></div> <div></div> </div> <div class="center"> <div></div> <div></div> </div> <div class="right"> <div></div> <div></div> </div> <!-- <div class="clear"></div> <br clear="all" /> --> </div> </body> </html>
相关文章推荐
- 清除浮动
- 在Windows 8.1的IE 11中屏蔽双击放大功能
- CSS浮动和定位学习笔记
- HTML5调用摄像头实例
- Powershell 创建炫丽美观的Html报表
- Apple官网研究之使用Justify布局导航
- 关于前端的思考与感悟
- 又被事件冒泡坑了一把,这次要彻底弄懂浏览器的事件流
- 移动端点击事件全攻略,这里的坑你知多少?
- $q 实例分析 Angular 中的 Promise
- Angular directive 实例详解
- 关于浮动与清除浮动,你应该知道的
- 通过Mootools 1.2来操纵HTML DOM元素
- jQuery Html控件基本操作(日常收集整理)
- WEB标准网页布局中尽量不要使用的HTML标签
- Flash 与 html 的一些实用技巧
- html工作中表格<tbody>标签的使用技巧
- HTML 向 XHTML1.0 兼容性指导