CSS清浮动
前面的话
人们经常谈起清浮动,其实就是解决浮动元素的包含块高度塌陷的问题
定义
clear 清除
值: left | right | both | none | inherit
初始值: none
应用于: 块级元素(块级元素指block元素,不包括inline-block元素)
继承性: 无
left:左侧不允许存在浮动元素
right:右侧不允许存在浮动元素
both:左右两侧不允许存在浮动元素
none:允许左右两侧存在浮动元素
[注意]设置clear属性的元素并不能改变浮动元素,而只能改变自身
CSS2.1引入了一个清除区域,清除区域是在元素上外边距之上增加的额外间隔,不允许任何浮动元素进入这个范围,这意味着元素设置clear属性时,它的外边距不改变
方法
对于标准浏览器来说,清浮动其实就两种方法,一种是在浮动元素下面添加新元素设置clear属性;另一种是触发包含块的BFC,使其包含浮动元素。而对于IE7-浏览器,则用到其特有属性haslayout
【1】clear属性
[1]<div style="clear:both"></div>
<注意>并不是很适用,若包含块为<ul>,则子元素只能为<li>,则在<li>后面添加<div>元素不合适
[2]<br style="clear:both">
<注意>虽然clear属性只应用于块级元素,但在除IE7-以外的其他浏览器都可以将clear属性应用于<br>元素
[3]为浮动元素的after伪元素设置clear属性
.clear:after{content:""; display: block; clear: both;}
<注意>IE7-浏览器不支持after伪元素
【2】BFC
[1]float: left/right
[2]position:absolute/fixed
[3]display:inline-block/table-cell/table-caption/flex
[4]overflow:hidden/scroll/auto
【3】IE7-
关于IE7-浏览器有一个其特有的属性haslayout,当触发包含块的haslayout时,浮动元素被layout元素自动包含
[1]display:inline-block
[2]height/width:除auto外
[3]float: left/right
[4]position: absolute
[5]writing-mode: tb-rl
[6]zoom: 除normal外
兼容
在所有浏览器中都兼容的清浮动方案如下:
.clear:after{content:""; display: block; clear: both;}
.clear{zoom: ;}
除了清除浮动外,常常也需要解决外边距margin重叠的问题。这时,清除浮动和解决margin重叠的代码如下
.clear:before,.clear:after{content:"";display:table;}
.clear:after{clear:both;}
.clear{zoom:}
CSS清浮动的更多相关文章
- CSS清浮动处理(Clear与BFC)
在CSS布局中float属性经常会被用到,但使用float属性后会使其在普通流中脱离父容器,让人很苦恼 1 浮动带来布局的便利,却也带来了新问题 <!doctype html> <h ...
- css清浮动与动态计算元素宽度
css常用清浮动写法 /*清除浮动*/| .clears:after{ display: block; content: ''; clear: both; height: ; visibility: ...
- CSS清浮动办法
骨灰级解决办法: .clear{clear:both;height:0;overflow:hidden;} 上诉办法是在需要清除浮动的地方加个div.clear或者br.clear,我们知道这样能解决 ...
- CSS清浮动方法总结
浮动----会使当前标签产生上浮效果,从而导致父标签高度塌陷的问题 1. 给父元素指定高度 <div style="height:200px"> <div sty ...
- css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?一起来$('.float')
一.抛一块问题砖(display: block)先看现象: 分析HTML代码结构: <div class="outer"> <div class=&quo ...
- CSS浮动与清浮动
浮动 ( float css属性) float : left right Elements are floated horizontally, this means that an element c ...
- 【转】css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?
摘要: css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响? 一.抛一块问题砖(display: block)先看现象: 分析HTML代码结构: <div class ...
- 细微之处:比较两种CSS清除浮动的兼容
http://www.cnblogs.com/bienfantaisie/archive/2011/05/27/2059597.html 清除浮动是连续浮动元素之后的必备工作,在工作中我做到需要清除浮 ...
- CSS 中浮动的使用
float none 正常显示 left 左浮动 right 右浮动 clear none 允许两边浮动 left 不允许左边浮动 right 不允许右边浮动 both 不允许两边浮动 <!DO ...
随机推荐
- SQL SERVER 2000数据库置疑处理
由于服务器意外的断电,导致SQL SERVER服务器上数据库出现“置疑”而无法使用,通过网上搜索,找到以下方法解决问题,这里记录一下: 产生数据库置疑的时侯,数据库文件和日志文件都是存在的,如果数据库 ...
- Android中将布局文件转成bitmap
在实践中发现,有些需要打印的小票高度小于屏幕的高度,而有些小票内容过多高度高于屏幕高度. 小于屏幕高度的布局文件转成bitmap较为容易,高于屏幕高度的布局文件转成长图bitmap较为复杂. 一.小于 ...
- 安装CAS服务器
1.简介 参考: http://www.coin163.com/java/cas/cas.html CAS主要用于多系统单点登录,属于WEB SSO.SSO体系主要角色有三种:User(多个),WEB ...
- Hadoop伪分布搭建
一.伪分布式的搭建 1.准备Linux环境 1.0点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改 ...
- Runtime 动态加载方法
动态加载 #import"ViewController.h" #import"Person.h" @interfaceViewController() @end ...
- 如何在Hdevelop加入自己的算子
halcon中允许用户编写自定义函数,同时也可以将此函数保存在其他工程中调用. 以halcon12讲解 创建自定义函数 本地程序函数:创建后仅能在当前工程使用 hdevelop函数文件 ...
- toolControls添加工具项
最近参考Arcengine的Samples做的功能,虽然简单,但是示例代码的确体现出了很好的封装性,值得学习,效果图如下: 闲话休絮,直入正题: 一.首先建立工具类,实现IMenuDef接口 clas ...
- 记一次troubleshooting(一):奇慢的脚本
背景: 事情发生的时间是几年前,那时刚从windows server运维的部门调动过来,对linux和数据库还是处于一知半解的状态. 领导找过来说:前任遗留下来的问题你来调查一下,有个客户说他们的日次 ...
- React学习笔记---项目构建
简介 ReactJs由于有FB的支持,得到了社区的极大关注,同时由于ReactJs只希望专一的做好View层次上的工作,所以本身并没有涉及很多周边工具. 今天要介绍一款工具,同时包含一个构建项目模板的 ...
- 免费的HTML5版uploadify送上
相信有不少同学用过uploadify这一款文件上传插件,它支持多文件选择.能显示进度条.可配置性高,总体来说是比较好用的.官网有两个版本供下载,分别是flash版和HTML5版.不过令人惋惜的是,HT ...