首页前端开发HTML使用CSS的overflow属性防止float撑开div的方法

使用CSS的overflow属性防止float撑开div的方法

时间2024-01-24 04:09:33发布访客分类HTML浏览1088
导读:收集整理的这篇文章主要介绍了使用CSS的overflow属性防止float撑开div的方法,觉得挺不错的,现在分享给大家,也给大家做个参考。 许多应征前端工程师的人,在面试时都会被问到这类float的问题。例如:div元素内的两个...
收集整理的这篇文章主要介绍了使用CSS的overflow属性防止float撑开div的方法,觉得挺不错的,现在分享给大家,也给大家做个参考。

许多应征前端工程师的人,在面试时都会被问到这类float的问题。
例如:div元素内的两个子元素p都float:left,外面的div会变成没有高度,此时该怎么办呢?
通常解法是在排版流里面的元素加一个after的伪元素,将它设成display: block以及clear:both即可解决。

CSS Code复制内容到剪贴板
  1. div:after { content""; displayblock; clearboth; }   

不过我今天意外发现,原来overflow: hidden; 也会撑开div呀!如下:
长知识了。

XML/HTML Code复制内容到剪贴板
  1. body>   
  2.   div>   
  3.     p> I am floated/p>   
  4.     p> So am I/p> /div> style> div {   
  5.     overflow: hidden; } p {   
  6.     float: left; } /style>   

深入   
让我们继续深入,来看下面的例子:
编写如下代码,查看效果
HTML代码: 

XML/HTML Code复制内容到剪贴板
  1. div class="content">   
  2.     div class="div1">   
  3.   
  4.     /div>   
  5. /div>   

CSS代码:

CSS Code复制内容到剪贴板
  1. .content {   
  2.     border1px solid red;   
  3. }   
  4. .div1 {   
  5.     width100px;   
  6.     height100px;   
  7.     background-color: cyan;   
  8. }   

效果如下:

在content中添加一个div1,并设置了content标签的边框和div1标签的大小和颜色,看到content标签把div1标签包裹起来了。并且还撑起了content标签的大小

但,当我们设置了div1向右浮动的属性之后

CSS Code复制内容到剪贴板
  1. .div1 {   
  2.     width100px;   
  3.     height100px;   
  4.     background-color: cyan;   
  5.     floatrightright;   
  6. }   

就会变成这个样子:

div1标签确实右对齐了,但是并没有撑起content标签的高度。
莫着急,我们需要设置一个属性,就是给content标签,添加overflow属性

添加属性 (overflow: hidden; )

CSS Code复制内容到剪贴板
  1. .content {   
  2.     border1px solid red;   
  3.     overflowhidden;   
  4. }   

添加完之后,效果就成了这样

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

CSSfloatoverflow

若转载请注明出处: 使用CSS的overflow属性防止float撑开div的方法
本文地址: https://pptw.com/jishu/585001.html
CSS行内元素和块级元素的居中实例分析 div中内容上下居中小结

游客 回复需填写必要信息