博客
关于我
overflow:hidden使用(溢出隐藏、清除浮动、解决外边距塌陷等等)
阅读量:768 次
发布时间:2019-03-24

本文共 1318 字,大约阅读时间需要 4 分钟。

ElementRef

1. Overflow: hidden (溢出隐藏)

当设置一个元素的 overflow: hidden 时,其内容超出指定的宽度和高度时会被隐藏,不会占据任何空间。这意味着元素不会因为内容过多而扩展,保持固定的尺寸。

常见应用场景包括创建有固定尺寸的容器,确保内容不会溢出屏幕,或者在文本元素中隐藏过长的内容。

典型的CSS代码示例:

div {  width: 150px;  height: 60px;  background: skyblue;  overflow: hidden;}

HTML示例:

今天天气很好!
今天天气很好!
今天天气很好!
今天天气很好!
今天天气很好!

结果:内容超出容器会被隐藏,不影响容器布局。

特殊情况:限制单行文本溢出

有时,我们需要确保多句话文本内容不会超过容器宽度,可以使用以下方式:

div {  width: 150px;  background: skyblue;  overflow: hidden;  white-space: nowrap;  text-overflow: ellipsis;}

结果:内容超出部分会显示省略号 "..."

样例表现:

图片描述(仅为示意)


2. Overflow: hidden(清除浮动)

当父级容器未设置高度,子级浮动元素会脱离文本流,导致父级无法正确计算高度,可能引起页面塌陷(内容重叠)。

例如:

其他部分

当子元素浮动时:

.kid {  width: 100px;  height: 100px;  float: left;}

问题:浮动子元素无法设置父级高度,导致塌陷。

解决方法:为父级添加 overflow: hidden

.wrap {  width: 300px;  height: 150px;  background: blue;  overflow: hidden;  zoom: 1; /* IE兼容 */}

效果:

图片描述(仅为示意)

注:zoom: 1 是为了在IE低版本中支持 overflow: hidden


3. Overflow: hidden(解决外边距塌陷)

当父级子元素有 margin 属性,父级未设置 overflow: hidden 时,子级的外边距会影响父级高度,导致外边距塌陷。

例如:

.child {  margin-top: 20px;}

如果父级没有 overflow: hidden,效果将如下:

图片描述(仅为示意)

解决方法:为父级设置 overflow: hidden

.parent {  overflow: hidden;}

此时,父级会正确包裹子级内容,避免外边距塌陷。


总结:

overflow: hidden 是一个强大但容易被忽视的CSS属性,广泛应用于内容限制、清除浮动和布局修复等场景。合理使用overflow: hidden 可以提升页面性能和美观度。

转载地址:http://nyvkk.baihongyu.com/

你可能感兴趣的文章
mysql 中索引的问题
查看>>
MySQL 中锁的面试题总结
查看>>
MySQL 中随机抽样:order by rand limit 的替代方案
查看>>
MySQL 为什么需要两阶段提交?
查看>>
mysql 为某个字段的值加前缀、去掉前缀
查看>>
mysql 主从
查看>>
mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
查看>>
mysql 主从互备份_mysql互为主从实战设置详解及自动化备份(Centos7.2)
查看>>
mysql 主从关系切换
查看>>
MYSQL 主从同步文档的大坑
查看>>
mysql 主键重复则覆盖_数据库主键不能重复
查看>>
Mysql 事务知识点与优化建议
查看>>
Mysql 优化 or
查看>>
mysql 优化器 key_mysql – 选择*和查询优化器
查看>>
MySQL 优化:Explain 执行计划详解
查看>>
Mysql 会导致锁表的语法
查看>>
mysql 使用sql文件恢复数据库
查看>>
mysql 修改默认字符集为utf8
查看>>
Mysql 共享锁
查看>>
MySQL 内核深度优化
查看>>