大家好,我是一碗周,一个不想被喝(内卷)的前端。如果写的文章有幸可以得到你的青睐,万分有幸~

这是【从头学前端】系列文章的第三十五篇-《溢出处理》

本篇文章介绍CSS中内容溢出的处理,主要包括对块溢出文字溢出两种溢出的处理。

写在前面

所谓的溢出就是当元素里的内容(包括文本内容、图片、视频等内容)的大小超出盒子的大小区域时,内容区域会有一部分显示在盒子所在区域的外部,这就是内容给溢出。

这里讲解的溢出处理主要包含两种,第一种是对块溢出的处理,第二种是对文字溢出的处理。

块溢出

CSS中对块溢出处理的属性是overflow属性,该属性是overflow-xoverflow-y属性的简写。该属性常用的值有如下4个:

描述
visible 默认值。内容不会被修剪,超出部分会溢出到元素容器外面。
hidden 内容会被修剪,并且其余内容是不可见的。
scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。

这里需要注意是overflow的值为scroll时,滚动条是始终显示的。

示例代码如下所示:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible"content="IE=edge"><meta name="viewport"content="width=device-width, initial-scale=1.0"><title>overflow属性</title><style>body {margin: 0;display: flex;}.overflow {width: 300px;height: 400px;background-color: lightskyblue;margin-left: 30px;margin-top: 30px;}.box {width: 240px;height: 500px;background-color: lightcoral;}.visible {overflow: visible;}.hidden {overflow: hidden;}.scroll {overflow: scroll;}.auto {overflow: auto;}code {display: block;text-align: center;font-size: 18px;}</style>
</head><body><div class="overflow visible"><code>overflow: visible;</code><div class="box"></div></div><div class="overflow hidden"><code>overflow: hidden;</code><div class="box"></div></div><div class="overflow scroll"><code>overflow: scroll;</code><div class="box"></div></div><div class="overflow auto"><code>overflow: auto;</code><div class="box"></div></div>
</body></html>

运行结果如下所示:

文字溢出

单行文字溢出

CSS中提供的text-overflow属性用来设置当文本内容溢出时,要如何进行处理,该属性有三个值,如下表所示:

描述
clip 修剪文本。
ellipsis 显示省略符号来代表被修剪的文本。
<string> 使用给定的字符串来代表被修剪的文本。

这里需要注意的是text-overflow属性必须配合overflow属性来使用,而且overflow属性为非visible,否则text-overflow属性将无效。

示例代码如下:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible"content="IE=edge"><meta name="viewport"content="width=device-width, initial-scale=1.0"><title>单行文本溢出</title><style>div {width: 80px;border: 1px solid #4e4e4e;/* 强制文本内容一行输出 */white-space: nowrap;/* overflow属性来处理内容溢出的情况 */overflow: hidden;/* text-overflow属性必须配合overflow属性来使用- text-overflow属性具体处理文本显示的情况*/text-overflow: ellipsis;}</style>
</head><body><div>这是一个很长很长的内容</div>
</body></html>

代码运行结果如下所示:

页面缩放至500%

多行文字溢出

CSS中对多行文字的溢出其实就是一个固定写法,可以将其封装为一个公共的class,在使用的时候直接引用这个className就好。

核心代码如下:

div{overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 3;-webkit-box-orient: vertical;}

详细代码如下:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible"content="IE=edge"><meta name="viewport"content="width=device-width, initial-scale=1.0"><title>多行文字溢出处理</title><style>div {height: 60px;width: 400px;margin: 0 auto;border: 0.5px solid black;line-height: 20px;overflow: hidden;text-overflow: ellipsis;/* display属性值为带前缀的值: 不同浏览器提供的显示效果* -webkit-box: Chrome\Edge\Safari浏览器提供*/display: -webkit-box;/* -webkit-line-clamp属性:* 注意: 该属性是Webkit内核的私有属性(其他浏览器可能提供不同的属性)* 作用: 设置文本内容显示的行数*/-webkit-line-clamp: 3;/* -webkit-box-orient属性:* 作用: 在父元素设置,子元素的排列方式* 值:* vertical: 表示垂直* horizontal: 表示水平*/-webkit-box-orient: vertical;}</style>
</head><body><div>所谓的溢出就是当元素里的内容(包括文本内容、图片、视频等内容)的大小超出盒子的大小区域时,内容区域会有一部分显示在盒子所在区域的外部,这就是内容给溢出。这里讲解的溢出处理主要包含两种,第一种是对块溢出的处理,第二种是对文字溢出的处理。</div>
</body></html>

代码运行结果如下:

{完}

写在最后

你如果看到这里,我感到很荣幸,如果你喜欢这篇文章,你可以为这篇文章点上一个小赞;你如果喜欢这个专栏,我会一直更新到百篇以上,可以点一下后面的链接从头学前端 - 一碗周的专栏 - 掘金 (juejin.cn)进入之后给个关注。

最后也可以给我点个关注,万分荣庆。

往期推荐

  • 关于v-model语法糖的知识点,这次应该说全了

从头学前端-35:溢出处理相关推荐

  1. 从头学前端-CSS基础02

    一个工具: 前端快速开发插件Emmet Emmet 的前身就是 Zen Coding. 它是一组专门用来提高编写 HTML 和 CSS 代码速度的便利工具.将它整合进文本编辑器,可以提供一些功能和快捷 ...

  2. 带前端脚本的html页面,2.从头学前端之如何在html中使用javascript

    使用 嵌入脚本与外部脚本 文档模式对JavaScript的影响 考虑禁用 JavaScript 的场景 使用 script 元素有6个属性: async: 可选.表示应该立即下载脚本,但不应妨碍页面中 ...

  3. 从头学前端-CSS基础04

    CSS高级技巧 精灵图 css sprites 为了有效减少服务器接收和发送的频率,减轻服务器的压力:将许多的小图片放到一张大图片上去:就是精灵技术,CSS sprites; 精灵技术主要针对背景图片 ...

  4. 从头学前端-CSS基础01

    CSS简介: CSS是层叠样式表的简称,有时也会称之为CSS样式表或级联样式表.CSS也是一种标记语言(和html一样,不是个编程语言): Html主要是页面结构,显示元素内容,CSS是美化页面,布局 ...

  5. 从头学前端-CSS基础03

    页面布局三大核心,盒子模型,浮动和定位 1.盒子模型 盒子模型组成: 盒子模型组成的主要有 边框border,外边距margin ,内边距padding,内容content: 边框border: bo ...

  6. 从零开始学前端:显示隐藏与文本溢出 --- 今天你学习了吗?(CSS:Day16)

    从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(CSS) 复习:从零开始学前端:浮动 - 今天你学习了吗?(CSS:Day15) 文章目录 从零开始学前端:程序猿小白也可以完全掌握!-今 ...

  7. 从零开始学前端:弹性盒模型(flex布局) --- 今天你学习了吗?(CSS:Day19)

    从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(CSS) 复习:从零开始学前端:字体图标的引入 - 今天你学习了吗?(CSS:Day18) 文章目录 从零开始学前端:程序猿小白也可以完全 ...

  8. 从零开始学前端:定位 --- 今天你学习了吗?(CSS:Day17)

    从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(CSS) 复习:从零开始学前端:显示隐藏与文本溢出 - 今天你学习了吗?(CSS:Day16) 文章目录 从零开始学前端:程序猿小白也可以 ...

  9. 从零开始学前端:浮动 --- 今天你学习了吗?(CSS:Day15)

    从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(CSS) 复习:从零开始学前端:CSS盒子模型属性 - 今天你学习了吗?(CSS:Day14) 文章目录 从零开始学前端:程序猿小白也可以 ...

最新文章

  1. 数组引用以避免数组降阶(c++)
  2. You Need This One Skill to Succeed in IT--reference
  3. 安装rime中文输入法
  4. 数学教师计算机能力提升,数学教师信息技术应用能力提升培训总结.doc
  5. Java常见代码块的作用与区别
  6. 分支管理---解决冲突
  7. 微信公众号消息模板开发
  8. arcgis镜像图形工具,ArcGis图形编辑
  9. php mongodb获取指定字段,Mongodb 根据子文档的某个特定字段排序的问题
  10. 《Entity Framework 6 Recipes》中文翻译——第十二章自定义EntityFramework对象(一)...
  11. 台式计算机时间不能同步,电脑时间同步不了怎么办
  12. 高速公路收费站通行能力分析与设计
  13. 【概率】甲乙射击比赛,单局甲胜率0.6,3局2胜和5局3胜两种赛制甲如何选择?无限多局,甲获胜概率?
  14. ORACLE导出表数据-dmp文件
  15. 金田新材冲刺上交所:拟募资15.6亿 方文彬家族控制62%股权
  16. 搜索和推荐中的精度和召回(recall)分别是什么意思?
  17. 关于Ride的基础认知
  18. Houdini 过程化地形系统(二):基于UE4的FC5植被系统(1)
  19. 基于HDF的LED驱动程序开发(2)
  20. countdown软件测试死亡时间真假,countdown软件测试死亡时间真的吗?怎么回事

热门文章

  1. 智能未来:聚焦2018世界人工智能大会
  2. symmetric tree java_Symmetric Tree对称树
  3. 制作ubuntu引导盘,到安装Ubuntu系统流程
  4. 山东大学计算机基础知识试题及答案,山东大学网络教育计算机应用基础课后练习题及答案...
  5. 乘风破浪、厚积薄发国产服务器软件: LinWin Http Server
  6. 在一个app中启动另外一个app的service
  7. UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 的解决方法
  8. 北京可视化暑期学校日志——Day1
  9. 阿里云--实人认证的接口
  10. 网页浏览器的发展详史