css中的浮动与三种清除浮动的方法

说到浮动之前,先说一下CSS中margin属性的两种特殊现象

1, 外边距的合并现象:

如果两个div上下排序,给上面一个div设置margin-bottom,给下面一个div设置margin-top,那么两个margin会发生合并现象,合并以后的值较大的那个。

对于这种现象一般不用处理。

2,margin塌陷现象:

如果一个大盒子中包含一个小盒子给小盒子设置margin-top大盒子会一起向下平移。

解决方案:

1.0给大盒子加一个边框border属性。

2.0给大盒子设置一个overflow属性。

3.0使用浮动。

补充:overflow的常用属性如下:


visible


:默认值。内容不会被修剪,会呈现在元素框之外。


Hidden:


内容会被修剪,并且其余内容是不可见的。


Scroll:


内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。


Auto:


如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。

浮动

浮动是css中的一个重点,为什么要使用浮动?

是为了解决一行中显示多个盒子的问题。

float:left;      float :right;

浮动有三个特点:

1,脱离标准流,不占位置。

2,会改变元素的默认显示方式display为block块级元素。

3, 浮动的元素只会覆盖后边的块级元素,不影响前边的块级元素。

什么是标准流?

就是浏览器默认摆放盒子的标准。

标准流的特点:

1,块级元素从上到下,独占一行。

2,行内元素,行内块级元素从左到右在一行中显示。

3,占位置。

浮动的影响以及清除浮动的三种办法

浮动对页面的影响:

如果一个父盒子中有一个子盒子,并且父盒子没有设置高,子盒子在父盒子中进行了浮动,那么将来父盒子的高度为0.由于父盒子的高度为0,下面的元素会自动补位,所以这个时候要进行浮动的清除。

Clear:both

1,使用额外标签法:

在浮动的盒子之下再放一个标签,在这个标签中使用clear:both,来清除浮动对页面的影响。

.clearfix{

clear: both;

}

<div class="clearfix"></div>

a.内部标签:会将这个浮动盒子的父盒子高度重新撑开

b.外部标签:会将这个浮动盒子的影响清除,但是不会撑开父盒子。

注意:一般情况下不会使用这一种方式来清除浮动。因为这种清除浮动的方式会增加页面的标签。

2,使用overflow属性来清除浮动:

先找到浮动盒子的父元素,再在父元素中添加一个属性,就是清除这个父元素中的子元素浮动对页面的影响。

overflow: hidden;

3,使用伪元素来清除浮动:

.clearfix:after {

content: "";//添加内容为空

height: 0;//内容高度为0

line-height: 0;//内容文本的高度为0

display: block;//将文本设置为块级元素

clear: both;//清除浮动

visibility: hidden;//将元素隐藏

}

.clearfix {

zoom: 1;/*为了兼容ie6*/

}

   

visible


:默认值。内容不会被修剪,会呈现在元素框之外。


Hidden:


内容会被修剪,并且其余内容是不可见的。


Scroll:


内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。


Auto:


如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。

时间: 2024-08-24 09:50:43

css中的浮动与三种清除浮动的方法的相关文章

CSS3中三种清除浮动(float)的方法

方法一:添加新的元素 .应用 clear:both .clear{ clear:both; height: 0; height: 0; overflow:hidden; } 方法二:父级div定义 overflow: auto .over-flow{ overflow: auto; zoom: 1; //处理兼容性问题 } 方法三: 伪类  :after 方法  outer是父div的样式 .outer {zoom:1;} /*==for IE6/7 Maxthon2==*/ .outer :a

css 三种清除浮动(float)的方法

方法一:添加新的元素 .应用 clear:both .clear{ clear:both; height: 0; height: 0; overflow:hidden; } 方法二:父级div定义 overflow: auto .over-flow{ overflow: auto; zoom: 1; //处理兼容性问题 } 方法三: 伪类  :after 方法  outer是父div的样式 .outer {zoom:1;} /*==for IE6/7 Maxthon2==*/ .outer :a

三种清除浮动

zoom详解:http://blog.csdn.net/u014516981/article/details/51824607 原文:http://www.cnblogs.com/zhongjiang/p/6440355.html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <style type="t

CSS清除浮动的三种方法,很实用

CSS清除浮动的方法有哪些呢?经常性地会使用到float,很多邪门的事儿都有可能是浮动在作怪,清除浮动是必须要做的,而且随时性地对父级元素清除浮动的做法也被认为是书写CSS的良好习惯之一. 下面看今天的教程,此为未清除浮动源代码,运行代码无法查看到父级元素浅黄色背景. <style type=”text/css”> <!–     *{margin:0;padding:0;}     body{font:36px bold; color:#F00; text-align:center;}

CSS清除浮动的三种方法,很实用。

CSS清除浮动的方法有哪些呢?经常性地会使用到float,很多邪门的事儿都有可能是浮动在作怪,清除浮动是必须要做的,而且随时性地对父级元素清除浮动的做法也被认为是书写CSS的良好习惯之一.下面看今天的教程,此为未清除浮动源代码,运行代码无法查看到父级元素浅黄色背景. <style type=”text/css”><!–    *{margin:0;padding:0;}    body{font:36px bold; color:#F00; text-align:center;}    

css 三(清除浮动专题)

1.  三个关于浮动的概念  不浮动float:none; 清除周围的浮动元素   float:both   这是清除浮动的本意 清除子元素浮动对父元素的影响  clearfix    很多人都理解成这个叫清除浮动.. 2. 什么是清除浮动 清除浮动不是把当前标签的浮动给清除了,如果这样,还加浮动做什么 其实清除浮动指的是清楚当前元素旁边的浮动元素,但是当前元素又不能影响别人,打不赢就跑,所以自己就跑到下面去了. 3. 为什么要清楚浮动 在布局的时候我们经常希望某些内容能够水平排布,水平排布后,

三种清理浮动的方式

在页面布局时,我们常常会遇到这样一个问题:对子元素采用浮动之后两者会脱离文档流,导致父元素因为没有内容而收缩,隐藏掉我们设置的背景和其他相关样式.这个时候,我们为了清除浮动的影响,一般有以下三种方法: 方法一:添加一个进行清理的元素(例如一个段落标签或换行标签),r然后用clear属性进行清理. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xht

CSS那些事儿-阅读随笔3(清除浮动)

浮动主要是由浮动(float)属性导致的页面错位现象,清除浮动不仅能解决页面错位的现象,还可以解决子元素浮动导致父元素背景无法自适应子元素高度的问题.在CSS样式中,主要利用clear属性中的both.left和right 3个属性值清除由浮动产生的左.右浮动效果. 一.浮动现象例子 下面举一个很简单的浮动的例子,假设一个float_box(背景色为#aff)中包含两个div,且一个是左浮动(float:left),另一个是右浮动(float:right).在float_box外再添加一个没有浮

CSS中隐藏内容的3种方法

CSS中隐藏内容的3种方法 一般有:隐藏文本/图片.隐藏链接.隐藏超出范围的内容.隐藏弹出层.隐藏滚动条.清除错位和浮动等. 1.使用display:none来隐藏所有内容 display:none可以让网页中所有内容不显示,如代码.文字.链接.图片.div层,是推荐的内容隐藏方式. <div style="display:none;">隐藏内容</div> 值 描述 none 此元素不会被显示. block 此元素将显示为块级元素,此元素前后会带有换行符. i