HTML&CSS基础-完善clearfix

                                          作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.抛出问题

1>.HTML源代码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>完善clearfix</title> <style type="text/css">
.box1{
width: 300px;
height: 300px;
background-color: red;
} .box2{
width: 300px;
height: 200px;
background-color: yellow;
/**
* 子元素和父元素相邻的垂直外边距会发生重叠,子元素的外边距会传递给父元素。
* 使用空的table标签可以隔离父子元素的外边距,阻止外边距的重叠。
*/
margin-top: 100px;
} </style>
</head>
<body> <div class="box1">
<div class="box2"></div>
</div>
</body>
</html>

2>.浏览器打开以上代码渲染结果

二.使用空table解决问题

1>.HTML源代码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>完善clearfix</title> <style type="text/css">
.box1{
width: 300px;
height: 300px;
background-color: red;
} .box1:before{
content: "";
/*将一个元素设置为表格显示*/
display: table;
} .box2{
width: 300px;
height: 200px;
background-color: yellow;
/**
* 子元素和父元素相邻的垂直外边距会发生重叠,子元素的外边距会传递给父元素。
* 使用空的table标签可以隔离父子元素的外边距,阻止外边距的重叠。
*/
margin-top: 100px;
} </style>
</head>
<body> <div class="box1">
<div class="box2"></div>
</div>
</body>
</html>

2>.浏览器打开以上代码渲染结果

三.完善clearfix的最终版本

1>.HTML源代码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>完善clearfix</title> <style type="text/css">
.box1{
width: 300px;
height: 300px;
background-color: red;
} .box2{
width: 300px;
height: 200px;
background-color: yellow;
/**
* 子元素和父元素相邻的垂直外边距会发生重叠,子元素的外边距会传递给父元素。
* 使用空的table标签可以隔离父子元素的外边距,阻止外边距的重叠。
*/
margin-top: 100px;
} .box3{
border: 10px blue solid;
} .box4{
width: 100px;
height: 100px;
background-color: deeppink;
float: left;
} /**
* 解决父子元素的外边距重叠
*
* .box1:before{
* content: "";
* 将一个元素设置为表格显示
* display: table;
* } /**
* 解决父元素高度塌陷
*
* .clearfix:after{
* content: "";
* display: block;
* display: table;
* clear: both;
* }
*
/ /**
* 经过修改后的clearfix是一个多功能的,既可以解决高度塌陷,又可以确保父元素和子元素的垂直外边距不会重叠
*/
.clearfix:after, .clearfix:before{
content: "";
display: table;
clear: both;
}
/*兼容IE6*/
.clearfix{
zoom: 1;
} </style>
</head>
<body> <div class="box3 clearfix">
<div class="box4"></div>
</div> <div class="box1 clearfix">
<div class="box2"></div>
</div>
</body>
</html>

2>.浏览器打开以上代码渲染结果


最新文章

  1. JavaScript中的slice,splice,substr,substring,split的区别
  2. 欲望 VS 抗拒
  3. shell脚本的执行方式
  4. 规范化的软件项目演进管理--从 Github 使用说起
  5. socket.io稳定性及事件测试
  6. Java设计模式之责任链设计模式
  7. Swift基础使用方法(Swift开发之中的一个)
  8. 牛客网算法题之All-in-All
  9. URAL 2025. Line Fighting (math)
  10. javascript高级知识点——临时作用域
  11. VS2008 生成静态链接库并使用
  12. 升讯威微信营销系统开发实践:(3)功能介绍与此项目推广过程的一些体会( 完整开源于 Github)
  13. python django2.x报错No module named &#39;django.core.urlresolvers&#39;
  14. python第三天,字符串续
  15. 兼容性很好的纯css圆角
  16. Android中使用BufferedReader.readline阻塞读取不到数据,但是ready返回true
  17. python中利用redis构建任务队列(queue)
  18. 解题:SHOI2001 化工厂装箱员
  19. Object-C 基础笔记4---ARC内存管理
  20. nginx实现ldap认证

热门文章

  1. #189 stat(动态规划)
  2. UOJ268 [清华集训2016] 数据交互 【动态DP】【堆】【树链剖分】【线段树】
  3. centos部署nextcloud
  4. Django+Vue打造购物网站(二)
  5. 接口压测初识java GC
  6. [AHOI2008]紧急集合 / 聚会
  7. hihocoder#1333 : 平衡树&#183;Splay2 (区间操作)
  8. 安装 linux-dash
  9. css颜色表示法
  10. 使用Coverage进行代码覆盖率的测试