深入理解之overflow

一、overflow的属性

visible 默认值
hidden 溢出隐藏
scroll 显示滚动条
auto 溢出滚动
inherit 继承
其中 hidden 、scroll 、auto属性会为元素创建BFC特性。

二 、 overflow-x 和 overflow-x (IE8+)

  • overflow-x 和overflow-y设置了同样的值, 则overflow为该值
  • overflow-x 或者overflow-y 如果有一个值为visible,另一个值为 hidden scrollauto其中一个,那么visible的那一边会被设置为auto.

三、滚动条的宽高会影响元素的容纳宽高

  • HTML元素的滚动条会影响自身的宽度
    image.png
  • 其他元素则会影响他的可容乃宽度 比如说元素的宽度为100px,他能容乃的宽度为:


    image.png

100px - 滚动条宽度 (一般为17px)
如果设置overflow: auto`当里面元素大于这个宽度是就会出现滚动条

四、overflow实用场景

  • 阻止margin穿透

利用BFC特性,为元素设置overflow: hidden / scroll / auto

  • 清除浮动

为元素设置overflow: hidden / auto / scroo清除子元素浮动带来的高度坍塌情况 (原因是使用了BFC特性/ BFC元素的高度会计算包含浮动的子元素)

  • 自适应布局

为一个block元素设置overflow值和一个float的元素并排布局,就会形成block元素的自适应,(原因是因为block元素还保持着块级元素的特性,宽的会100%填满父级元素、但是设置为BFC后,又不得不与外界保持完全独立的关系,所以会进可能个填充剩余的宽度,实现了自适应宽度。)

.box {
  background: #ccc;
  overflow: hidden;
}
.child1 {
  width: 100px;
  height: 100px;
  background: green;
  float: left;
  margin-right: 10px;
}
.child2 {
  background: yellow;
  height: 100px;
  overflow: hidden;
}
image.png
  • 使用overflow: hidden 实现 文本省略
ellipsis {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Overflow基本属性 visible(默认) hidden scroll auto inherit 假如ove...
    soojade阅读 7,493评论 0 1
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,692评论 1 92
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 5,927评论 0 6
  • 一、在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例 在CSS当中,相...
    dengpan阅读 3,738评论 0 0
  • 1.你选哪个? 1998年,一场历时8年、对3万美国成年人的调查显示:高压提高了43%的死亡风险,但是,并不认为压...
    陪伴樱桃荔枝姑娘阅读 5,393评论 0 0

友情链接更多精彩内容