5.清除浮动(clear)

问题引入:普通的div被浮动的div覆盖了,所以要想让普通的元素不被覆盖。

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
 3 <head>
 4 <title>清除浮动</title>
 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 7 <style>
 8 #lside{
 9     width:100px;
10     height: 100px;
11     background: green;
12     float: left;
13 }
14 #rside{
15     width: 200px;
16     height:100px;
17     background: red;
18     float: right;
19 }
20 #normal{
21     width: 400px;
22     height: 400px;
23     background: gray;
24 }
25 </style>
26 </head>
27 <body>
28     <div id="lside">我是左边</div>
29     <div id="rside">我是右边</div>
30     <div id="normal">普通</div>
31 </body>
32 </html>

效果:

所以这里div的另一个属性(clear属性)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
<head>
<title>清除浮动</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style>
#lside{
    width:100px;
    height: 100px;
    background: green;
    float: left;
}
#rside{
    width: 200px;
    height:100px;
    background: red;
    float: right;
}
#normal{
    width: 400px;
    height: 400px;
    background: gray;
    clear:left;
}
</style>
</head>
<body>
    <div id="lside">我是左边</div>
    <div id="rside">我是右边</div>
    <div id="normal">普通</div>
</body>
</html>

效果 :

如果仅清除左浮动,没有清除有浮动的话

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN">
 3 <head>
 4 <title>清除浮动</title>
 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 6 <style>
 7 #lside{
 8     width:100px;
 9     height: 100px;
10     background: green;
11     float: left;
12 }
13 #rside{
14     width: 200px;
15     height:400px;
16     background: red;
17     float: right;
18 }
19 #normal{
20     height: 400px;
21     background: gray;
22     clear:left;
23 }
24 </style>
25 </head>
26 <body>
27     <div id="lside">我是左边</div>
28     <div id="rside">我是右边</div>
29     <div id="normal">普通</div>
30 </body>
31 </html>

效果:

同理如果清除右浮动的时候,那么他就仅仅以右边div为基准,当然也可以既清除左div的浮动。又可以清除右div的浮动指定clear:both;就能清除左右浮动了。

时间: 2024-10-08 13:37:27

5.清除浮动(clear)的相关文章

清除浮动clear:both的应用详解

清除浮动clear:both的应用详解 2008-03-30 19:47:14  来源:cnbruce 在CSS中我们会经常要用到“清除浮动”Clear,比较典型的就是clear:both; CSS手册上是这样说明的:该属性的值指出了不允许有浮动对象的边.这个属性是用来控制float属性在文档流的物理位置的. 当属性设置float(浮动)时,其所在的物理位置已经脱离文档流了,但是大多时候我们希望文档流能识别float(浮动),或者是希望float(浮动)后面的元素不被float(浮动)所影响,这

清除浮动clear/BFC

浮动的清除有两种方式: 一.clear clear:both/left/right; 二.创建BFC (1)什么是BFC? BFC,块级格式化上下文,是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干.通俗的讲就是相当于一个把浮动的元素框起来并隔离的容器,容器里面的子元素不会影响到外面元素,使浮动不会溢出. (2)哪些元素会生成BFC? ①根元素或其它包含它的元素 ②float的值不为none ③ove

css清除浮动clear:left-right-both示例效果

示例很简单,图片有简单.容易理解的说明文字了: 理解: clear有四个值: none:允许左右两边有浮动对象: both:不允许左右两边有浮动对象: left:不允许左边有浮动对象: right:不允许右边有浮动对象. 附上demo示例代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&

css的浮动以及如何清除浮动

css的浮动是经常会在实际中运用到,之前我对浮动的理解就是使用float,除此之外没有深入理解,后来发现对于浮动还是有必要深入理解一下. css浮动 css的浮动是float属性,该属性没有继承性,默认值为none,该属性有四个值,以下一一解释: 1)right:向右浮动 2)left:向左浮动 3)none:没有浮动 4)inherit:规定继承父元素的浮动 css的浮动实际上就是打破标准流,如果说没有浮动的元素是在一个标准流里,那么浮动的元素将脱离原本的标准流浮动. 元素的浮动效果 例子:以

CSS清除浮动和定位

1.原来在一行中的两个块,会因为浏览器窗口的大小改变而改变其原来的位置(变成多行),浏览器窗口宽度不够容纳解决方法:加个父div,并且设置宽度 .father {width:500px;height:300px;}<div class="father">   <div class="left">左</div>   <div class="right">右</div></div>

css浮动及清除浮动

1. 浮动 1. 特点: 1.不占原来的位置(脱标) 2.可以让块级元素在一行上显示 3.浮动可以把行内元素转化为行内块元素 2 清除浮动 清除浮动指的是清除浮动的影响 注意: 当子元素设置了浮动,父元素没有高度的时候,造成页面布局混乱.这种情况下进行清除浮动. 3  清除浮动的几种方式 1.使用clear:left|  right  | both Clear:both; 这种方式是在需要清除浮动的父级元素内部的所有浮动元素后添加这样一个标签清楚浮动,空标签可以是div标签,也可以是P标签等,并

12_清除浮动.txt

清除浮动 clear:both; -------------------- 当浮动对父元素有影响时(父容器装不下子元素),清除浮动的方法: 1.额外标签法: 这种方法应该说是最简单的一种了,W3C建议在窗口的末尾增加一个clear:both的 元素,强迫容器适应它的高度以便装下所有的float元素,如: <div id="main"> <div id="left">左盒子</div> <div id="right&

清除浮动的多种方法

1:给父类添加浮动   /* 浮动元素太多时有局限性 */ 2:给父类添加display:inline-block   /* 会把元素直接的空格间隙也会应用上去 */ 3:在浮动元素后面添加一个空元素,并设置清除浮动 clear:both; 4:在浮动元素后面<br clear:"all"> /* 不符合W3C标准 */ 5:浮动元素的父类添加   /* 推荐这种方法 */ .box-set:before, .box-set:after { content: "&

html 4 浮动 清除浮动

前一个元素设置浮动了 紧挨着的元素就浮动在上个元素的下面 被上个元素给覆盖 要不想被覆盖 要清除浮动 clear:left  clear:right 左浮元素不覆盖   右边元素不覆盖 clear:both; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> &l