行盒的截断样式 box-decoration-break

news2024/10/9 17:35:26

1. 场景举例

当我们遇到如下场景时,

很多小伙伴可能会直接为这段文字添加边框和背景颜色,但往往会发现,效果并不如预期。出现的问题如下图所示,那么该如何解决呢?

这时就需要引入一个非常实用的 CSS 属性——box-decoration-break。让我们一起了解下这个属性,看看它是如何实现的吧!

2. 介绍 box-decoration-break 

box-decoration-break 是一个 CSS 属性,控制当元素的内容在多个盒子中分裂(如换行、分页、列布局或其他布局上下文中的拆分情况)时,如何处理装饰性样式的应用。这些装饰性样式包括背景、边框、阴影、内外边距等。

2.1 用途和背景

在一些布局场景中,比如当一个内联元素跨多行或块级元素跨多个列时,装饰性样式(如边框、背景等)如何应用到这些分离的盒子中就成为了一个问题。如果我们希望每个分离的盒子(即多个布局片段)都保持一致的样式,还是只希望第一个盒子和最后一个盒子拥有完整的装饰性样式,就可以使用 box-decoration-break 来进行控制。

2.2 属性值

box-decoration-break 有两个值:slice 和 clone。

1、slice(默认值)

在默认情况下,值为 slice,这意味着当内容跨多个盒子时,装饰性样式(如边框、背景等)只会应用在元素的第一个和最后一个盒子中,而不是在每个片段都重复。

举个 🌰

span {
  line-height: 2em;
  background-color: lightblue;
  padding: 1px;
  border: 2px solid #2997ad;
  box-decoration-break: slice;
}

假如文字换行展示, 背景颜色和边框只会应用到第一个盒子和最后一个盒子,而不会在每一行的分割部分重复,这也解释了开头的场景。

2、clone

当 box-decoration-break 的值为 clone 时,每个分离的盒子(布局片段)都会被当作独立的盒子来应用装饰性样式。这意味着如果元素内容跨越多个盒子,背景、边框、阴影等都会被复制到每个分离的部分中。

通俗来说,就是将截断的位置,按照首尾的样式进行处理,保持一致。

举个 🌰

span {
  line-height: 2em;
  background-color: lightblue;
  padding: 1px;
  border: 2px solid #2997ad;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

这样也就实现了每行文本都有自己的装饰样式,就像这些片段是独立的元素一样。

3. 实现如上场景

代码如下:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      .container {
        line-height: 2em;
      }
      .highlight {
        background: linear-gradient(#b7e2e8, #b7e1e3);
        border: 2px solid #6b8587;
        padding: 0 0.5em;
        border-radius: 5px;
        box-decoration-break: clone;
        -webkit-box-decoration-break: clone;
      }
    </style>
  </head>
  <body>
    <div class="container">
      Youth is not a time of life; it is a state of mind; it is not a matter of rosy cheeks, red lips and supple knees; it is a matter of the will, a quality of the imagination, a
      vigor of the emotions; it is the freshness of the deep springs of life.
      <br />
      Youth means a temperamental predominance of courage over timidity, of the appetite for adventure over the love of ease. This often exists in a man of 60 more than a boy of
      20. Nobody grows old merely by a number of years. We grow old by deserting our ideals.
      <br />
      <span class="highlight">
        Years may wrinkle the skin, but to give up enthusiasm wrinkles the soul. Worry, fear, self-distrust bows the heart and turns the spirit back to dust.
      </span>
      <br />
      Whether 60 or 16, there is in every human being’s heart the lure of wonders, the unfailing appetite for what’s next and the joy of the game of living. In the center of your
      heart and my heart, there is a wireless station; so long as it receives messages of beauty, hope, courage and power from man and from the infinite, so long as you are young.
      <br />
      When your aerials are down, and your spirit is covered with snows of cynicism and the ice of pessimism, then you’ve grown old, even at 20; but as long as your aerials are up,
      to catch waves of optimism, there’s hope you may die young at 80.
    </div>
  </body>
</html>

4. 何时使用 

1、分页或多栏布局

当文本或元素跨页时(例如在打印布局中),box-decoration-break 可以控制背景或边框是否只显示在第一个片段或克隆到所有片段。

2、避免样式不一致

当我们希望确保元素跨越多行或多栏时装饰样式保持一致(比如用于边框或背景的样式),可以使用 slice,而当我们希望每个分割片段独立地拥有完整的装饰样式时,可以使用 clone。

5. 浏览器兼容性

box-decoration-break 是一个较新的 CSS 属性,现代浏览器对它的支持已经相对较好,包括 Chrome、Firefox、Safari 和 Edge。在 webkit 内核的浏览器中,需要加一个前缀。

-webkit-box-decoration-break: clone;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2199597.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

元宇宙展厅的展示方式有哪些?

元宇宙展厅的展示方式多种多样&#xff0c;融合了虚拟现实以及多媒体交互等先进技术&#xff0c;为参观者提供了前所未有的沉浸式体验。以下是一些主要的展示方式&#xff1a; 1、虚拟现实&#xff08;VR&#xff09;展示&#xff1a; 利用VR技术&#xff0c;观众可以身临其境…

开关 switch

<el-table-column label"公开 | 隐藏" align"center" width"100"><template slot-scope"scope"><el-switchv-model"scope.row.dynamicStatus":active-value"1":inactive-value"0"active…

Windows11下 安装 Docker部分疑难杂症(Unexpecter WSL error)

装了大半天Docker desktop终于装好了&#xff0c;网上有的主流教程就不复述了&#xff0c;主要说一下网上没有的教程。 以下是遇到的问题&#xff1a; 首先&#xff0c;启用或关闭Windows确保里面与虚拟机有关的几个都要选上 没有Hyper-V参考此文 但是我这里都勾选了&#x…

多电源上电时序控制

多电源上电时序控制 我们如何给这种比如说有三个电源轨道&#xff0c;有这种上电时序先后次序要求的这种器件供电呢&#xff1f;那我们有大概以下几种方法。 1.直接使用前一时序电源的输出Vout做下一时序电源的使能EN 优点:简单&#xff0c;直观&#xff0c;成本低 缺点:要关…

电力电子技术03 AC-DC整流器(2)---单相半波整流器 二极管不控整流

半波整流器是一种简单的AC-DC整流电路&#xff0c;它将输入的交流电&#xff08;AC&#xff09;的一半&#xff08;正或负半周期&#xff09;转换为直流电&#xff08;DC&#xff09;。这种电路利用二极管的单向导电特性&#xff0c;在正半周期时允许电流通过&#xff0c;而在负…

75.【C语言】文件操作(2)

承接74.【C语言】文件操作(1)文章 目录 5.详细阐释文件的打开和关闭 1.流 2.标准流 3.文件指针 FILE 两层含义 附:FILE的头文件 4.操作文件的步骤 1.fopen函数 ​编辑 简写的全称查询 输入&输出的含义 2.fclose函数 3.代码示例 补充:绝对路径和相对路径 注意…

No.14 笔记 | XSS漏洞:原理、类型与防御策略

一、HTML和JavaScript基础 1. HTML基础 HTML概述&#xff1a;超文本标记语言&#xff0c;用于实现页面跳转和显示数据。结构标准&#xff1a;包括<!doctype html>声明文档类型&#xff0c;<html>根标签&#xff0c;<head>头部标签和<body>主体标签等。…

Markdown 语法详解大全(超级版)(四)——Markdown 使用 Emoji 表情 (附:表情符号简码列表)

Markdown 语法详解大全(超级版)&#xff08;四&#xff09; ——Markdown 使用 Emoji 表情 &#xff08;附&#xff1a;表情符号简码列表&#xff09; 本文目录&#xff1a; 一、复制和粘贴表情符号 二、使用表情符号简码 三、表情符号简码列表 本系列文章&#xff1a; Ma…

阿里云CDN设置阀值的指南

在如今这个信息爆炸的时代&#xff0c;网站的访问速度和用户体验变得尤为重要。阿里云CDN&#xff08;内容分发网络&#xff09;作为一种高效的解决方案&#xff0c;帮助用户加速网站内容的分发。然而&#xff0c;如何合理设置CDN的阀值&#xff0c;确保资源的高效利用&#xf…

【有啥问啥】深度探索:COG Agent与GUI Agent的工作原理与实施策略

深度探索&#xff1a;COG Agent与GUI Agent的工作原理与实施策略 在当今的数字化时代&#xff0c;图形用户界面&#xff08;GUI&#xff09;已经成为人机交互的主流。然而&#xff0c;传统依赖于文本或代码解析的GUI自动化方法在面对复杂多变的界面时常常显得力不从心。无论是…

工业交换机的安全机制

在当今信息技术迅速发展的时代&#xff0c;工业交换机作为网络通信的重要设备&#xff0c;其安全机制愈发受到重视。工业交换机的安全性不仅关乎企业的信息保护&#xff0c;更是整个工业网络运行稳定性的基石。为了确保数据传输的安全和网络的可靠性&#xff0c;现代工业交换机…

linux程序说明

Linux 文件和目录管理命令 文件和目录 cd 切换目录 cd [目录路径]&#xff1a;进入指定的目录。 cd ~ 进入当前用户的主目录。 cd - 返回上一次所在的目录。 cd .. 进入上级目录。 cd / 进入根目录。 cd ../.. 进入上上级目录。 cd /目录路径&#xff1a;进入指定的根目录中…

如何防止图纸外泄?图纸防泄密的六个方法(图纸安全管理措施)

图纸&#xff0c;作为企业技术和设计的结晶&#xff0c;一旦外泄&#xff0c;可能造成不可估量的损失。 如何有效防止图纸外泄&#xff0c;成为企业在信息安全管理中的重要环节。 下面我们将通过六个有趣又实用的方法&#xff0c;帮助你轻松实现图纸的安全管理。 1. 安企神系…

人脸表情行为识别系统源码分享

人脸表情行为识别系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

PCL 计算点云AABB包围盒(惯性矩阵)

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 计算AABB包围盒 2.1.2 可视化点云与AABB包围盒 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接&#xff1a; PCL点云算法与项目实战案例汇总&#xff08;长…

从0打造本地聊天机器人:如何实现大模型流式输出?OpenAI+Ollama 实战

尽管有了 GPU 加持&#xff0c;推理速度依然很慢&#xff0c;怎么搞&#xff1f; 流式输出&#xff01; 相比全部生成后再输出&#xff0c;流式输出生成一句就播报一句&#xff0c;大大减少了用户的等待时间。 主流大模型推理 API 包括&#xff1a; OpenAI 格式&#xff1a…

史上最浅显易懂Python教程,138页学习笔记,35个知识点一文掌握

这份笔记的目标是为了给出一份比较精炼&#xff0c;但是又要浅显易懂的Python教程。《Python学习手册》中文第四版虽然比较简单&#xff0c;但是措辞比较罗嗦&#xff0c;而且一个语法点往往散落在多个章节&#xff0c;不方便读者总结。 我在做笔记时&#xff0c;将一个知识点…

数字王国里的虚拟人――技术、商业与法律解读

&#x1f482; 个人网站:【 摸鱼游戏】【神级代码资源网站】【海拥导航】&#x1f91f; 找工作&#xff0c;来万码优才&#xff1a;&#x1f449; #小程序://万码优才/HDQZJEQiCJb9cFi&#x1f485; 想寻找共同学习交流&#xff0c;摸鱼划水的小伙伴&#xff0c;请点击【全栈技…

用友crm客户关系管理config/fillbacksettingedit.php接口存在SQL注入漏洞

免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 1. 用友crm客户关系管理简介 微信公众号搜索:南风漏…

LangChain4j系列—Java AI框架LangChain4j快速入门

一、概述 LangChain4j于2023年初在ChatGPT的炒作中开始开发。我们注意到&#xff0c;与众多的Python和JavaScript LLM库和框架相比&#xff0c;缺少Java对应项&#xff0c;我们必须修复它&#xff01;尽管“LangChain”是以我们的名义命名的&#xff0c;但该项目融合了LangCha…