css笔记:清除子元素对父元素的浮动效果的三种方法
来源:互联网 发布:js中的startwith 编辑:程序博客网 时间:2024/06/05 21:50
对于浮动元素,我们知道如果父元素不设置height,而子元素全部设置为浮动,父元素不会被撑开(也就是父元素为一条直线,height为0),我们看到的就是一条线在所有子元素上面。
例如:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>clear_float</title> <style> #father{ border:1px solid #000; background:#ccc; } .child{ width:100px; height:100px; background:red; float:left; margin-top:10px; margin-left:10px; } </style></head><body> <div id="father"> <div class="child">child1</div> <div class="child">child2</div> <div class="child">child3</div> </div></body></html>
结果截图如下:
这是由于浮动元素脱离标准流而存在,对于标准流与浮动元素就是实物与虚物之间的关系,如何清除浮动子元素对父元素的影响,有三种方法。
一.使用空标记清除浮动
以上面的例子为例,我们在浮动元素之后添加一个空标记(没有内容的标签),并对该标记设置“clear:both”,即可清除上例中子元素对父元素的影响。
例如:
上述id为father的div标签添加一个
<div id="father"> <div class="child">child1</div> <div class="child">child2</div> <div class="child">child3</div> <div class="null"></div> </div>
然后style标签中添加一个“null”类的样式:
<style> #father{ border:1px solid #000; background:#ccc; } .child{ width:100px; height:100px; background:red; float:left; margin-top:10px; margin-left:10px; } .null{ clear:both; } </style>
结果截图如下:
注意:上述方法虽然可以清除浮动效果,但是却增加了毫无意义的元素节点。
二.使用overflow属性清除浮动
对父元素应用“overflow:hidden”也可以消除子元素对父元素的影响。
例如针对上述例子:
#father{ border:1px solid #000; background:#ccc; overflow:hidden; }
同样能够实现方法一中的效果。
三.使用after伪对象清除浮动
我们可以通过在上述的father后面添加一个内容来消除上述影响。
注:只需设置属性’content’值为空即可。
例如:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>clear_float</title> <style> #father{ border:1px solid #000; background:#ccc; overflow:hidden; } #father:after{ content:''; } .child{ width:100px; height:100px; background:red; float:left; margin-top:10px; margin-left:10px; } </style></head><body> <div id="father"> <div class="child">child1</div> <div class="child">child2</div> <div class="child">child3</div> </div></body></html>
效果如上述其他方法,要注意的是,ie678其默认的内外边距可能不同,故显示的位置可能不同。
阅读全文
0 0
- css笔记:清除子元素对父元素的浮动效果的三种方法
- 浮动元素父元素设置css清除浮动的方法
- css中清除浮动的几种方法(撑起浮动元素父元素的高度)
- CSS清除因为浮动布局导致父元素height值为0的三种方法
- css 清除元素的浮动方法总结
- 清除浮动的子元素
- css中清除浮动展开父元素的几种方法总结
- 为什么清除浮动?清除css浮动的三种方法
- css清除浮动使父级元素展开的三个方法
- CSS中元素浮动的清除
- 三种css清除浮动的方法
- css清除浮动的三种方法
- css清除浮动的三种方法
- 04 CSS-浮动和清除浮动的三种方法
- 04 CSS-浮动和清除浮动的三种方法
- 围住浮动元素的三种方法
- 围住浮动元素的三种方法
- 围住浮动元素的三种方法
- JDK5.0新特性
- HDU 4336 Card Collector(容斥)
- 组件查询收藏版本
- 解决软键盘遮挡登录按钮
- git 常用命令
- css笔记:清除子元素对父元素的浮动效果的三种方法
- 粉刷栅栏问题
- 关于利用border-radius变形后,margin的参照对象
- 1+7+13+19..... 前20项和(公式:2*(1+3*(N-1))-1)
- SQL语句面试题目:一般查询和高级子查询
- centos 安装 nginx
- 平衡二叉树的构造
- MyISAM与InnoDb的区别
- 关于margin的数值是百分比,参照对象