作者:WangMin

格言:努力做好自己喜欢的每一件事

在CSS中,如果给一个盒子设置了固定的宽度与高度,但内容过多就会溢出盒子本身的宽度或高度。此时,就可以使用 overflow 属性来控制内容溢出时的处理方式。那么接下来就开始来学习这个属性吧!



overflow 属性值如下:

属性值 含义
visible 不剪切形式也不添加转动条,也就是元素的内容在元素框之外也可见
auto 如果内容被剪裁,则浏览器会显示滚动条以便查看其余的内容
hidden 元素的内容会在元素框的边界处剪裁,并且超出元素框之外的内容不可见
scroll 元素的内容会在元素框的边界处剪裁,但浏览器会显示滚动条以便查看其余的内容

overflow 属性的延伸:overflow-X | overflow-y

属性 含义
overflow-x 主要用来定义对水平方向内容溢出的剪切
overflow-y 主要用来定义对垂直方向内容溢出的剪切

[注意]:如果 overflow-x 和 overflow-y 值相同则等同于overflow;如果overflow-x和overflow-y值不同,其中一个值显式设置为visible或未设置默认为visible,而另外一个值是非visible(除默认值以外的其他值)的值,则visible值会被重置为auto。

overflow:visible

如果没有给元素设置 overflow属性,表示使用其默认值 visible,让溢出的内容可见。此时,溢出的内容就会渲染到盒子的外面。例如,有一个盒子设置了固定宽度和高度,其中它的内容的尺寸超过了盒子本身的尺寸,效果如下:

<div class="box">
<p>
在CSS中,如果给一个盒子设置了固定的宽度与高度,但内容过多就会溢出盒子本身的宽度或高度。
此时,就可以使用 overflow 属性来控制内容溢出时的处理方式。那么接下来就开始来学习这个属性吧!
</p>
</div>
.box{
width:150px;
height:150px;
overflow:visible;
background:pink;
color:#666;
}



[注意]:

1、溢出的内容不会改变盒子的形状,盒子外面的内容是可见的,但它不会把周围其他容器挤下去。所以,溢出的内容不会影响页面布局,但溢出的内容可能与周围其他容器重叠。

2、就上面的例子来说,在IE6和更低版本中,超出的内容会撑开盒子的高度,以便适应内容的尺寸。在IE6下,元素的高度根据自动撑开。

overflow:auto

如果把元素的 overflow属性设置为 auto,则滚动条只在需要的时候出现,也就是当内容溢出元素时自动出现滚动条(溢出的内容滑动滚动条可以显示),没有溢出元素时不出现。就以overflow:visible上面提到的案例来说,效果如下:

.box{
width:150px;
height:150px;
overflow: auto;
background:pink;
color:#666;
}

overflow:hidden

如果把元素的 overflow属性设置为 hidden,情况则与 overflow:visible 相反,它会把超出盒子的内容全部隐藏掉。就以overflow:visible上面提到的案例来说,效果图如下:

.box{
width:150px;
height:150px;
overflow: hidden;
background:pink;
color:#666;
}



注意:这种情况下,因为盒子没有出现滚动条,所以对用户来说,被隐藏的内容就彻底看不到。overflow:hidden也可用于清除浮动。具体清除浮动的方法可参考 CSS 浮动和清除浮动方法总结

overflow:scroll

如果把 overflow属性设置为 scroll,它将会隐藏渲染到盒子之外的内容,但会在盒子内部提供一个滚动条,从而可以查看剩下的内容。就以overflow:visible上面提到的案例来说,效果图如下:

.box{
width:150px;
height:150px;
overflow: scroll;
background:pink;
color:#666;
}



这种情况下,无论内容是否溢出,都会在水平方向(overflow-x)和垂直方向(overflow-y)同时出现滚动条。

设置overflow失效的情况

绝对定位元素与固定定位元素不总是被父级overflow属性剪裁,尤其是当overflow在绝对定位元素及其包含块之间的时候,就以overflow:hidden上面提到的案例来说,这里我添加了一个.big 将 .box 包住,并给 .box 设置了绝对定位,效果图如下:

<div class="big">
<div class="box">
<p>
在CSS中,如果给一个盒子设置了固定的宽度与高度,但内容过多就会溢出盒子本身的宽度或高度。
此时,就可以使用 overflow 属性来控制内容溢出时的处理方式。那么接下来就开始来学习这个属性吧!
</p>
</div>
</div>
.big{
width:150px;
height:150px;
overflow: hidden;
}
.box{
width:150px;
height:150px;
position: absolute;
background:pink;
color:#666;
}



因为绝对定位是相对于父元素定位的,所以绝对定位元素无法被它的父级元素overflow属性剪裁 ,父级元素的overflow属性就会失效。这里父元素 .big 的 'overflow: hidden;' 就失效了,怎样来解决这个问题呢?那就给父级设置position:absolute或fixed或relative,父级元素的overflow属性就会生效啦。这里我们给 .big设置一个 position: relative;属性就可以了,效果如下:

.big{
width:150px;
height:150px;
position: relative;
overflow: hidden;
}
.box{
width:150px;
height:150px;
position: absolute;
background:pink;
color:#666;
}


以上仅是个人见解,若有不足之处欢迎在下方评论指出,那就先分享到这里!! 后续继续更新!!

CSS 溢出overflow属性的使用的更多相关文章

  1. css 溢出overflow

    css 溢出overflow 当一个元素被设置为固定大小,在这个元素中的内容如果超出元素的界限,就会出现溢出的现象. 通常情况下我们可以通过overflow来控制这个属性. overflow语法定义 ...

  2. 眼见为实 — CSS的overflow属性

    1. overflow属性 CSS的overflow属性指定当内容溢出一个元素的框,会发生什么.举个栗子: <!DOCTYPE html> <html> <head> ...

  3. 深入理解CSS溢出overflow & overflow:hidden真的失效了吗[转载]

    深入理解CSS溢出overflow http://www.cnblogs.com/xiaohuochai/p/5289653.html overflow:hidden真的失效了吗 http://www ...

  4. 深入理解CSS溢出overflow

    × 目录 [1]定义 [2]属性 [3]失效[4]应用 前面的话 当一个元素固定为某个特定大小,但内容在元素中放不下.此时就可以利用overflow属性来控制这种情况 定义 overflow溢出 值: ...

  5. CSS display overflow 属性 cursor光标类型

    display属性   功能:规则网页元素如何显示的问题.   取值:none(隐藏).block(以块元素显示).inline(以行内元素显示)   block:可以实现将行内元素转成块元素.   ...

  6. css的overflow属性

    原文:https://www.jianshu.com/p/67b536fc67c1 ------------------------------------------- 事实上我挺长一段时间都没弄清 ...

  7. CSS中的overflow属性

    导读:overflow属性一般用来隐藏超过div范围的元素,包括不隐藏(visible),直接隐藏(hidden),用滚动条隐藏(scroll),自动(aotu)这四个属性.当然overflow的用法 ...

  8. 转:CSS Overflow 属性

    原文:CSS Overflow 属性译自:The CSS Overflow Property版权所有,转载请注明出处,多谢!! 根据CSS的盒模型概念,页面中的每个元素,都是一个矩形的盒子.这些盒子的 ...

  9. CSS之样式属性(背景固定、圆形头像、模态框)

    CSS属性 一.宽和高 width属性可以为元素设置宽度. height属性可以为元素设置高度. 块级标签才能设置宽度,内联标签的宽度由内容来决定. div {width: 1000px;backgr ...

  10. overflow属性-摘自网友

    关于我们 版权声明 网站地图 前端观察 专注于网站前端设计与前端开发 用IE6抢不到火车票的!!! Home 首页 CSS样式之美 Front News前端资讯 JavascriptAjax与JS技术 ...

随机推荐

  1. 【Dotnet 工具箱】推荐一个使用 C# 开发的轻量级压测工具

    你好,这里是 Dotnet 工具箱,定期分享 Dotnet 有趣,实用的工具和组件,希望对您有用! 轻量级压测工具 LoadTestToolbox 是一个使用 C# 开发的轻量级压测工具,基于 .NE ...

  2. Django: request.GET.get()

    释义 query = request.GET.get('name', '') 寻找名为name的GET参数,而且如果参数没有提交,返回一个空的字符串. 对比request.GET() 如果使用requ ...

  3. 使用TypeScript类型注解,编写更干净的JS代码

    TypeScript 可以看作是 JavaScript 的超集,不仅包含了 JavaScript 的所有内容,还拓展了语法.规定了类型约束,使得我们可以编写更干净.完整的代码. 类型注解 TypeSc ...

  4. IDEA使用@Autowired注解为什么会提示不建议?

    ​在使用IDEA编写Spring相关的项目时,当在字段上使用@Autowired注解时,总会出现一个波浪线提示:"Field injection is not recommended.&qu ...

  5. 【升职加薪秘籍】我在服务监控方面的实践(6)-业务维度的mysql监控

    大家好,我是蓝胖子,关于性能分析的视频和文章我也大大小小出了有一二十篇了,算是已经有了一个系列,之前的代码已经上传到github.com/HobbyBear/performance-analyze,接 ...

  6. Jmeter+Ant+Jenkins接口自动化框架(续)

    前段时间给公司内部项目搭建了一套接口自动化框架,基于实际使用,需要配置自动发送邮件功能,将 执行结果发送给相关负责人.Jenkins本身也提供了一个邮件通知功能,但在提供详细的邮件内容.自定义邮 件格 ...

  7. ctypes使用浅谈

    什么是ctypes: ctypes 是 Python 的一个标准库,用于与 C 语言进行交互.它提供了一组工具和函数,可以方便地调用动态链接库(DLL)或共享对象(SO)中的 C 函数,并处理 C 数 ...

  8. DORA指标:公司业务成果的“占卜师”

    2009 年,受 John Allspaw 和 Paul Hammonds 在 Velocity 上演讲的启发,Patrick Debois 组织了一次名为"DevOps Days" ...

  9. springboot打包与依赖包分离

    前言: springboot项目部署时,需要本地打包成一个jar放到服务器进行部署(使用jenkins自动打包部署同理),部署包里包含了其它所有依赖包,整个包会比较大,小则几M,大则几十上百. 正文: ...

  10. Kafka Stream 处理器API

    6.1章节内容 了解如何使用处理器API对以下场景进行处理 ①以有规律的间隔定期执行 ②将控制记录如何向下游发送 ③将记录转发给特定的子节点 ④创建Kafka Streams API中不存在的功能 6 ...