Div布局时注意使用clear属性
2011-06-24 22:06
176 查看
Div
布局时注意使用clear
属性
最近在编写静态页面的时候,发现有些时候会出现一些很奇怪的问题,页面布局“无缘无故”的乱掉了。后经过调试,发现是在一些设置了float
属性后的div
后面,没有再增加一个拥有clear
属性的div
。可能听起来有点拗口,下面看下实际代码。
一、
代码
为了测试div
的clear
属性的重要性,编写了一个测试示例程序,具体的html
代码如下:
二、
效果比较
1.
正确的效果
把上面的代码拷贝到文件中,命名为.html
文件,在IE
中打开后的效果如下图,下图中的绿色框的效果为“我是内容3
”的正确显示位置。
2.
去掉代码中的红色部分后的效果
去掉代码中的红色部分,在IE
中打开后的效果如下图,发现绿色内容展现在“我是内容1
”的后面了,很奇怪吧。
所以当我们在对一些DIV
设置float
属性后,需要及时的使用clear
属性来清除前面div
的float
属性对后面div
的影响。
3.
原因
产生这样现象的原因可能是,具有float
属性的div
在排版的时候,会把后面紧接着的非浮动div
也会当做“浮动”的对象来处理,实际上紧接着的Div
我们并不想是浮动的,这时候可以通过这个div
的clear
属性来主动设置不允许该div
四周有浮动对象,即:终止“浮动”流。
布局时注意使用clear
属性
最近在编写静态页面的时候,发现有些时候会出现一些很奇怪的问题,页面布局“无缘无故”的乱掉了。后经过调试,发现是在一些设置了float
属性后的div
后面,没有再增加一个拥有clear
属性的div
。可能听起来有点拗口,下面看下实际代码。
一、
代码
为了测试div
的clear
属性的重要性,编写了一个测试示例程序,具体的html
代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <style type="text/css"> .dv_class1{ height:80px; border:1px red solid; width:400px; } .dv_class2{ height:30px; float:left; width:100px; border:1px blue solid; } .dv_class3{ height:30px; float:right; width:100px; border:1px blue solid; } .dv_class4{ height:30px; border:1px green solid; } .dv_clear{ clear:both;/* 清除float 属性*/ } </style> </HEAD> <BODY> <div class="dv_class1"> <div class="dv_class2"> 我是内容1 </div> <div class="dv_class3"> 我是内容2 </div> <div class="dv_clear"></div> <div class="dv_class4"> 我是内容3 </div> </div> </BODY> </HTML> |
效果比较
1.
正确的效果
把上面的代码拷贝到文件中,命名为.html
文件,在IE
中打开后的效果如下图,下图中的绿色框的效果为“我是内容3
”的正确显示位置。
2.
去掉代码中的红色部分后的效果
去掉代码中的红色部分,在IE
中打开后的效果如下图,发现绿色内容展现在“我是内容1
”的后面了,很奇怪吧。
所以当我们在对一些DIV
设置float
属性后,需要及时的使用clear
属性来清除前面div
的float
属性对后面div
的影响。
3.
原因
产生这样现象的原因可能是,具有float
属性的div
在排版的时候,会把后面紧接着的非浮动div
也会当做“浮动”的对象来处理,实际上紧接着的Div
我们并不想是浮动的,这时候可以通过这个div
的clear
属性来主动设置不允许该div
四周有浮动对象,即:终止“浮动”流。
相关文章推荐
- div+css布局中父层div高度不随子div高度变化的解决方法(clear属性使用方法)
- 使用CSS的float和clear属性完成页面布局
- DIV+CSS页面布局中注意的问题以及常用的CSS使用方法
- 利用div进行页面的布局1(float&clear属性)
- DIV+CSS页面布局中注意的问题以及常用的CSS使用方法
- DIV布局中MARGIN属性清除body体的外边距
- 使用Object.defineProperty重新定义属性时需要注意的一点
- Struts2 用 s:if test 判断属性和字符串相等时 注意双引号和单引号的使用
- JavaScript使用forin遍历对象属性时注意
- struts2_day02_09-属性封装操作_10-模型驱动封装操作_11-使用属性封装和模型驱动封装注意问题
- Android中使用AlarmManager需注意设置进程属性
- 布局中自定义属性使用模板
- 常见的四种布局使用及其中常用控件属性
- HTML 布局 -和如何 使用<div>
- 使用div+css制作简单导航 以及要注意问题
- 原创:新手布局福音!微信小程序使用flex的一些基础样式属性
- 【转贴】没有div没有float没有clear没有hack的超强CSS布局
- TD的noWrap属性使用注意事项
- 使用flex布局实现div垂直居中