clear both

原文地址:http://www.codefans.net/articles/653.shtml

因CSS很多布局是需要浮动的,当属性设置float(浮动)时,其所在的物理位置已经脱离文档流了,为了使float后面的元素不被float浮动层的影响,我们就需要用clear:both;来清除。比如下面的例子:

1 <p style="float:left;width:200px;">第1列,</p>
2 <p style="float:left;width:400px;">第2列,</p>
3 <p style="clear:both;">第3列。</p>

如果没有清除浮动,那么第3列文字就会和第1、2列文字连在一起 ,所以需要在第3个列上加入清除浮动的代码。

一般情况下,我们会为清除浮动专门定义一个CSS类,用时候直接引用,这样更方便,比如:

01 <style>
02 .clear {clear: both;}
03 </style>
04 <!--以下为调用方法-->
05 <div class="clear"></div>
06  
07 <!--比如上面的例子可以写成:-->
08 <p style="float:left;width:200px;">第1列,</p>
09 <p style="float:left;width:400px;">第2列,</p>
10 <div class="clear"></div>
11 <p>第3列。</p>

因为IE和火狐存在兼容性问题,所以有时候这样定义清除浮动会在不同浏览下效果会不同,IE也说的过去,在火狐下或许就不灵了,下面给出一个经过调试的CSS清除浮动代码,供参考:

1 .clear {
2 clear: both;
3 height:1px;
4 margin-top:-1px;
5 overflow:hidden;
6 }

清除浮动一般是在外层Div结束前,如果放在结束后,则无效。

时间: 2024-12-11 12:28:38

clear both的相关文章

CSS px, em, 和rem; float以及clear(第一篇学习)

px:相对长度,相对于屏幕分辨率: em:相对长度单位,相对于当前对象内文本的字体尺寸.如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸.  任意浏览器的默认字体高都是16px.所有未经调整的浏览器都符合: 1em=16px.那么12px=0.75em,10px=0.625em.为了简化font-size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为 16px*62.5%=10px, 这样 12px=1.2em, 10px=1em

CSS浮动(float,clear)通俗讲解

很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能力差,也可能是没能遇到一篇通俗的教程. 前些天小菜终于搞懂了浮动的基本原理,迫不及待的分享给大家. 写在前面的话: 由于CSS内容比较多,小菜没有精力从头到尾讲一遍,只能有针对性的讲解. 如果读者理解CSS盒子模型,但对于浮动不理解,那么这篇文章可以帮助你. 小菜水平有限,本文仅仅是入门教程,不当之处请谅解! 本文以div元素布局为例. 教程开始: 首先要知道,div是块级元素,在页面中独占一行,自上而下排列,也就是传说中的流.如下

iOS开发——仿Clear纯手势操作的UITableView

前言 在Clear应用中,用户无需任何按钮,纯靠不同的手势就可以完成对ToDoItem的删除.完成.添加.移动.具体来说,功能上有左划删除,右划完成,点击编辑,下拉添加.捏合添加.长按移动.这里将这些功能实现并记录. 左划删除与右划完成 所谓的左右滑动,就是自定义一个cell然后在上面添加滑动手势.在处理方法中计算偏移量,如果滑动距离超过cell宽度一半,就删除它,或者是为文本添加删除线等来完成它:如果没有超过一半,那么就用动画把cell归位. 效果图如下: 关键代码如下: - (void)ha

解剖css中的clear属性

之前在面试的时候被问到如何清除浮动,笔者说使用css的clear属性可以清除:然后面试官又追问,clear如何清除浮动,笔者默然,因为自己在平时用的时候都没有搞清楚clear应该在哪里用. 首先我们先来看clear的作用:W3School上面如是说: 因此我们可以知道,当我们使用了clear属性后,我们会使清除元素也就是我们设置了clear属性的元素的上外边框边界刚好处于该边上浮动元素的下外边距边界之下. 所以如果我们设置为左边清除,那么清除元素会位于所有在它之上的左浮动的元素的下面,对于在它之

css浮动(folat),清除浮动(clear)

css浮动(float) float是css样式,用于设置标签的居左浮动和居右浮动,浮动后的元素不属于html文档流,需要用清除浮动把文档拽回到文档流中 浮动值: left:向左浮动 right:向右浮动 html文档流:自窗体自上而下分成一行一行,并在没行中从左到右的顺序排放元素. 通过例子来解释浮动 1.页面上有两个块元素,每个块元素独占一行 2.我们希望他们能并排显示,这是就可以使用float,我们先给红色的div加float:left,发现两个是在一行了,但是他们重叠在了一起. 3.这是

clear ,refresh,free

itab 即是内表也是工作区的情况下,即with header line. clear itab,仅清空HEADER LINE,对内表数据存储空间不影响,保留内存区. refresh itab,不清空HEADER LINE,清除内表数据存储空间,但保存内存区. free itab,不清空HEADER LINE,清空内表数据存储空间. clear itab[],保留工作区,清空内表数据存储空间里的内容. clear <itab> . "清空不带表头行内表 clear<itab&g

对css中clear元素的理解

clear:left;表示左侧不能有浮动元素. clear:right;表示右侧不能有浮动元素. clear:both;表示左右两侧都不能有浮动元素. 但在使用时,还得考虑css优先级问题.相同类型选择器制定的样式,在样式表文件中,越靠后的优先级越高 . 当所有元素的clear属性都设为right时,由于优先级的原因,并不是所想的那样:右侧没有浮动元素,而是右侧出现了浮动元素. 比如下面的代码: <html> <head> <style type="text/css

HDU 3920 Clear All of Them I 状压DP

Clear All of Them I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 122768/62768 K (Java/Others) Total Submission(s): 1681    Accepted Submission(s): 544 Problem Description Acmers have been the Earth Protector against the evil enemy for a lo

HDU3920:Clear All of Them I(状态压缩)

Problem Description Acmers have been the Earth Protector against the evil enemy for a long time, now it's your turn to protect our home. There are 2 * n enemies in the map. Your task is to clear all of them with your super laser gun at the fixed posi

对clear float 的理解

之前自己对于清除浮动的用法比较模糊 ,如果用到的话,一般都是采用简单粗暴的方式解决,就是直接用overflow:hidden,但是越用久就会发现其实有BUG,这个BUG正是overflow:hidden带来的,因为细究overflow:hidden还有一个默认效果是溢出隐藏.,如果要在子元素里再添一个div,div往下移动的话,超过了子元素的高度就会做溢出隐藏处理,所以效果不佳,所以后来自学了另一种清除浮动的方法,就是伪类.clearFix:after{content:'.';height:0;