最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

网页的布局方式之清除浮动

来源:动视网 责编:小采 时间:2020-11-27 15:25:53
文档

网页的布局方式之清除浮动

网页的布局方式之清除浮动:这次给大家带来网页的布局方式之清除浮动, 清除浮动的注意事项有哪些,下面就是实战案例,一起来看一下。盒子的高度问题1.标准流中盒子的高度可以被内容高度撑起来;2.浮动流中浮动的内容不能撑起盒子的高度;为什么要清楚浮动相邻的盒子之间,如果前面的盒子
推荐度:
导读网页的布局方式之清除浮动:这次给大家带来网页的布局方式之清除浮动, 清除浮动的注意事项有哪些,下面就是实战案例,一起来看一下。盒子的高度问题1.标准流中盒子的高度可以被内容高度撑起来;2.浮动流中浮动的内容不能撑起盒子的高度;为什么要清楚浮动相邻的盒子之间,如果前面的盒子


这次给大家带来网页的布局方式之清除浮动, 清除浮动的注意事项有哪些,下面就是实战案例,一起来看一下。

盒子的高度问题

1.标准流中盒子的高度可以被内容高度撑起来;
2.浮动流中浮动的内容不能撑起盒子的高度;

为什么要清楚浮动?

相邻的盒子之间,如果前面的盒子没有高度,那么后面盒子中的浮动元素就会去找前面盒子中的浮动元素,这样会导致界面混乱,所以需要清除浮动;

清除浮动方式一:

解决方案:

给前面一个父元素设置高度

注意点:

在企业开发中, 我们能不写高度就不写高度, 所以这种方式用得很少;

CSS:

 <style>
 *{
 margin: 0;
 padding: 0;
 }
 .box1{
 height: 20px; //给前面盒子设置高度
 background-color: red;
 }
 .box2{
 background-color: green;
 }
 .box1 p{
 width: 100px;
 background-color: blue;
 }
 .box2 p{
 width: 100px;
 background-color: yellow;
 }
 p{
 float: left;
 } </style>

body:

<div class="box1">
 <p>我是文字1</p>
 <p>我是文字1</p>
 <p>我是文字1</p></div><div class="box2">
 <p>我是文字2</p>
 <p>我是文字2</p>
 <p>我是文字2</p>
</div>

清除浮动方式二:

解决方案:

给后面的盒子添加clear:both;属性

clear属性取值:

none: 默认取值, 按照浮动元素的排序规则来排序(左浮动找左浮动, 右浮动找右浮动)
left: 不要找前面的左浮动元素(也就是:不要和前面的左浮动元素显示在一行)
right: 不要找前面的右浮动元素
both: 不要找前面的左浮动元素和右浮动元素

注意点:

当我们给某个元素添加clear属性之后, 那么这个属性的margin属性就会失效;所以不推荐使用

CSS:

<style>
 *{
 margin: 0;
 padding: 0;
 }
 body{
 border: 1px solid #000;
 }
 .box1{
 background-color: red;
 }
 .box2{
 background-color: green;
 clear: both; //给后面的盒子添加clear:both;属性
 margin-top: 28px;
 }
 .box1 p{
 width: 100px;
 background-color: blue;
 }
 .box2 p{
 width: 100px;
 background-color: yellow;
 }
 p{
 float: left;
 } </style>

清除浮动方式三:

解决方案:

外墙法:在两个有浮动子元素的盒子之间添加一个额外的块级元素;并且设置clear: both;属性;

注意点:

外墙法它可以让第二个盒子使用margin-top属性,
外墙法不可以让第一个盒子使用margin-bottom属性,
不过可以通过设置额外标签的高度来实现margin效果;
搜狐中大量使用了这个技术,但是由于需要添加大量无意义的标签,所以不推荐使用;

CSS:

<style>
 *{
 margin: 0;
 padding: 0;
 }
 .box1{
 background-color: red; /*margin-bottom: 10px;*/ //外墙法不可以让第一个盒子使用margin-bottom属性,
 }
 .box2{
 background-color: green; /*margin-top: 10px;*/ //外墙法它可以让第二个盒子使用margin-top属性,
 }
 .box1 p{
 width: 100px;
 background-color: blue;
 }
 .box2 p{
 width: 100px;
 background-color: yellow;
 }
 p{
 float: left;
 }
 .wall{
 clear: both; //设置clear: both;属性;
 }
 .h20{
 height: 20px; //设置额外标签的高度来实现margin效果;
 background-color: skyblue;
 }
 </style>
<div class="box1">
 <p>我是文字1</p>
 <p>我是文字1</p>
 <p>我是文字1</p></div><div class="wall h20"></div> //外墙法:在两个有浮动子元素的盒子之间添加一个额外的块级元素;<div class="box2">
 <p>我是文字2</p>
 <p>我是文字2</p>
 <p>我是文字2</p></div>

清除浮动方式四:

解决方案:

内墙法:
1在第一个盒子中所有子元素最后添加一个额外的块级元素,
2给这个额外添加的块级元素设置clear: both;属性

注意点:

内墙法它可以让第二个盒子使用margin-top属性
内墙法它可以让第一个盒子使用margin-bottom属性

<a>内墙法会自动撑起盒子的高度,所以可以直接设置margin属性</a>

外墙法和内墙法区别?

外墙法不能撑起第一个盒子的高度, 而内墙法可以撑起第一个盒子的高度

在企业开发中<a>不常用隔墙法</a>来清除浮动 (隔墙法:外墙法和内墙法)

CSS:

 <style>
 *{ margin: 0; padding: 0;
 } .box1{ background-color: red; /*margin-bottom: 10px;*/
 } .box2{ background-color: green; /*margin-top: 10px;*/
 } .box1 p{ width: 100px; background-color: blue;
 } .box2 p{ width: 100px; background-color: yellow;
 } p{ float: left;
 } .wall{ clear: both;
 } .h20{ height: 20px; background-color: skyblue;
 } </style></head>
<div class="box1">
 <p>我是文字1</p>
 <p>我是文字1</p>
 <p>我是文字1</p>
 <div class="wall h20"></div> //设置内墙</div><div class="box2">
 <p>我是文字2</p>
 <p>我是文字2</p>
 <p>我是文字2</p></div>

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

CSS的背景与精灵图

CSS的显示模式如何使用

文档

网页的布局方式之清除浮动

网页的布局方式之清除浮动:这次给大家带来网页的布局方式之清除浮动, 清除浮动的注意事项有哪些,下面就是实战案例,一起来看一下。盒子的高度问题1.标准流中盒子的高度可以被内容高度撑起来;2.浮动流中浮动的内容不能撑起盒子的高度;为什么要清楚浮动相邻的盒子之间,如果前面的盒子
推荐度:
标签: 方法 清除 方式
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top