为什么 ::first-letter 中的文本修饰不能级联 ::first-line 中的文本修饰?

2024-01-28

看起来text-decoration in ::first-letter不能级联text-decoration in ::first-line。 这是代码:

p::first-line {
  color: orange;
  font-size: 22px;
  text-decoration: line-through;
}

p::first-letter {
  color: green;
  font-size: 36px;
  text-transform: capitalize;
  text-decoration: none !important;
}
<p>
   lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</p>

color and font-size of ::first-letter覆盖那些::first-line。是否有也没有什么改变!important or not.


为了更好地了解正在发生的情况,添加不同的text-decoration到第一个字母:

p::first-line {
  color: orange;
  font-size: 22px;
  text-decoration: line-through;
}

p::first-letter {
  color: green;
  font-size: 36px;
  text-transform: capitalize;
  text-decoration: underline;
}
<p>
   lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</p>

正如您所看到的,第一个字母有下划线和贯穿线。这就是文本装饰的工作原理,它传播到所有内联元素,您可以在树中添加更多装饰。

为了避免这种情况,您需要更改显示,但不幸的是,您无法使用第一个字母来做到这一点。

下面再举一个例子来展示一下显示效果:

p {
  color: orange;
  font-size: 22px;
  text-decoration: line-through;
}

span {
  text-decoration:underline;
  color:green;
}
<p>
   lorem ipsum dolor sit amet, <span>consectetur</span> adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</p>

<p>
   lorem ipsum dolor sit amet, <span style="display:inline-block;">consectetur</span> adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</p>

From 规格 https://www.w3.org/TR/CSS2/text.html#lining-striking-props:

此属性描述使用元素颜色添加到元素文本的装饰。当在内联元素上指定或传播到内联元素时,它影响该元素生成的所有框,并进一步传播到任何分割内联的流内块级框(参见第 9.2.1.1 节)。但是,在 CSS 2.1 中,装饰是否传播到块级表中是未定义的。对于建立内联格式化上下文的块容器,装饰将传播到包装块容器的所有流入内联级子级的匿名内联元素。对于所有其他元素,它会传播到任何流入的子元素。请注意,文字装饰是不会传播到浮动和绝对定位的后代,也不会传播到原子内联级后代的内容,例如内联块和内联表。


这是一个有点 hacky 的解决方案的想法,您可以用从左侧偏移的渐变来替换文本装饰,以不覆盖第一个字母。您可能需要根据每种情况调整该值:

p::first-line {
  color: orange;
  font-size: 22px;
  background:
    linear-gradient(orange,orange) top calc(50% + 0.05em) left 1em / 100% 0.1em no-repeat;
}

p::first-letter {
  color: green;
  font-size: 36px;
  text-transform: capitalize;
}
<p>
   lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</p>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 ::first-letter 中的文本修饰不能级联 ::first-line 中的文本修饰? 的相关文章

  • 将 CSS 生成的三角形拆分为 2 个水平不同的相同颜色

    正如您应该能够通过此代码看到的那样fiddle http jsfiddle net Xh36r 1 以及下面 我希望能够分割显示在第二个 div 顶部的 CSS 生成的三角形水平均等在 之间orange and green使用的颜色 现在它
  • 元素和 svg 形状之间的白线

    大家好 我正在使用由 shapedivider 生成的 svg 整形器 您可以看到 有一条白线 我不知道为什么它在那里以及如何删除它 请你帮助我好吗 有形状分隔符的代码 custom shape divider bottom 1640714
  • 如何向 CSS 形状添加偏移轮廓?

    我在创建带有斜角边缘的块时遇到了一些问题 此外我需要一个斜角的边框并稍微偏离主块 问题是这个块可以根据屏幕响应 不知道具体的方法 希望大家帮忙 这就是我现在所做的 box display flex padding 20px height 2
  • 滚动时将菜单栏固定在顶部[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我见过一些网站 当用户向下滚动页面时 会在右侧或左侧弹出一个框 另外 注意到这个模板 http www mvpthemes com m
  • 使用 jQuery 更改父元素样式

    我有下一个 html 设置 div class one div class two a href class three Click a div div 我想更改具有类的元素的背景颜色 one当我点击元素时 three使用 jQuery 这
  • 如何处理 Django 中的错误

    我想让我的 django 应用程序尽可能对用户友好 并且我想处理适当的错误并让它推出类似于 javascript 中的警报的错误消息 我想在没有上传文件时执行此操作 因此 当按下上传按钮并且尚未上传任何内容时 将会发出一条警报消息 我的看法
  • 检索 css3 缩放元素的宽度/高度

    我正在与 offsetWidth 属性的奇怪之处 我认为 作斗争 这是场景 比方说 我有一个span标签 在我的js中 在某个时刻我执行css3转换 对于这个元素 例如 el set styles transform scale scale
  • 如何垂直对齐div内的图像

    如何在包含的内容中对齐图像div Example 在我的示例中 我需要将 img in the div with class frame div class frame style height 25px img src http jsfi
  • LESS CSS 语法对现代化很有用

    通常我使用现代化 http modernizr com 了解浏览器的功能 同时 我用LESS CSS http lesscss org 使我的CSS更具可读性和可维护性 使用 LESS 嵌套规则的常见样式如下所示 header color
  • Gmail 无法在电子邮件上正确呈现字体

    我已经建立了一个 html 电子邮件并使用了 Google 字体 我已使用以下方法将字体包含在 head 标签中 if mso endif 并使用字体 即我这样做了
  • iPad - 无法在框架内滚动

    我无法滚动 iPad Safari 中框架内调用的 pdf 我已经尝试过两件事 2 指滚动 使用对象 嵌入代替框架 但这是行不通的 事实上我已经尝试了很多东西 溢出 高度等等 请帮我 先感谢您 根据这篇文章http support appl
  • 为什么网格项目不居中?

    由于某种原因 两个输入范围使网格中的前两项偏离中心 我假设这是因为它们的影子 DOM 样式 事实真的是这样吗 有谁知道为什么范围使项目 A 和 B 偏离中心 这是一个代码笔 https codepen io tOkyO1 pen QOeKL
  • 如何强制折断不可折断的字符串?

    我有一个根据数据库中包含的数据生成的 HTML 页面 数据库有时包含浏览器无法分解的长字符串 因为这些字符串不包含可分解的字符 空格 点 逗号等 有没有办法使用 html css 甚至 javascript 来解决这个问题 看到这个link
  • 在按钮之间添加空间?

    嗨 我这里有一个代码 除了一件事之外 一切都很完美 代码中每个按钮之间没有空格 我尝试过 margin 但不幸的是它是一个无序列表 所以我有点困惑 我将添加或替换什么以在两个按钮之间留出空间 帮助
  • 如何在php中使用一张图像绘制形状

    我需要使用图像的一部分来创建帧图像 例如 用户将从后端上传图像片段 现在我需要根据前端用户的要求在前端创建一个框架 用户将选择框架的高度和宽度 然后他将选择该图像片段 如下所示 我没有办法做到这一点 我尝试通过 css 和 html can
  • 引导标签输入宽度

    我正在尝试使用引导程序标签输入 http timschlechter github io bootstrap tagsinput examples 以模态中包含的形式 像这样 div class form group div
  • 如何防止弹性项目高度因其内容而溢出[重复]

    这个问题在这里已经有答案了 我刚刚开始学习 Flex 到目前为止我印象深刻 但是 我对包含页眉 页脚和三列的全页应用程序遇到了问题 第一列包含一个项目列表 由于我无法为其父级设置固定高度 因此每次列表增长时 它都会将页脚向下推 这是一个带有
  • 没有类的 CSS 选择器

    我正在使用选择器来选择不具有一个类的所有元素 list th not foo some rules 我怎样才能将其应用到多个班级 list th not foo list th not bar some rules 上面的 CSS 当然不会
  • 如何为 TBODY 应用垂直滚动条

    我的表中有 4 列和 5 行数据 我必须为 TBODY 应用垂直滚动条 TH 标题内容不应滚动 我对场景进行了编码 并且在我将滚动类应用于 TBODY 之前它工作正常 一旦我将滚动样式类应用于 TBODY 它就会破坏之前的对齐方式 任何人都
  • 水平对齐输入字段

    我正在尝试获取一个输入字段 并且它与同一水平线上的关联提交按钮相关 但事实证明这是一个挑战 这是我的代码

随机推荐

  • 将点分布在边界内的表面上

    我对一种在 4 面 如正方形 上分布预定义数量的点的方法 算法 感兴趣 主要问题是每个点必须具有彼此之间的最小和最大接近度 两个预定义值之间的随机值 基本上 任何两点的距离不应小于 2 也不应大于 3 我的代码将用 ruby 实现 点是位置
  • 一年中的每个星期?

    我试图通过一年中的周数和一年中的周数来获取一年中的月份数 例如 第 1 周是 1 月 返回 1 第 6 周是 2 月 所以我想要 2 我试着去date parse from format W Y 但没有成功 这给了我错误 有什么办法可以一起
  • 运行 sbt 的项目根目录中的 java.lang.NullPointerException

    我从 Scala 开始 尝试在我的项目文件夹中运行 sbtbuild sbt是 当我收到此错误时 此文件夹是唯一的文件夹 如果我在src文件夹或我的文档文件夹中我没有 收到错误 谁能告诉我为什么会发生这种情况 我不知道如何表示文件夹结构 它
  • 在 Linux 上如何获取中断向量号?

    当我运行 cat proc interrupts 时 我可以得到以下信息 CPU0 CPU1 0 253 1878 IO APIC edge timer 1 3 0 IO APIC edge i8042 7 1 0 IO APIC edge
  • jQuery UI Datepicker - 禁用特定日期

    有没有任何 简单 方法可以将 jQuery UI Datepicker 设置为不允许选择特定的预定日期 我能够得到这种方法 https stackoverflow com questions 501943 can the jquery ui
  • Ionic 4:滚动时隐藏离子标签栏,就像 LinkedIn 应用程序一样

    我正在使用默认的 ion tab bar 和底部放置 如 LinkedIn 应用程序中所示 我想在滚动时隐藏标签栏并在滚动停止时再次显示它 这个功能可以在LinkedIn应用程序中看到 这是 tabs page html
  • asp.net、gettype() 和完全限定类名

    我已经阅读了这里的其他一些线程 尽管它们都没有真正解释如何解决我的问题 我有一个带有以下页面的网络应用程序 代码隐藏 namespace Company Web UI Content public partial class Home Lo
  • Yii2 在单个事务中的单个保存调用中保存相关记录

    在 yii2 中 我如何将多个相关记录保存到数据库中到单个保存调用和单个事务中 我有两张桌子 User id name UserAddress id user id city User 表与 UserAdress 表具有一对多关系 我想做的
  • 使用 has_many :through 时连接模型中的验证失败

    我的完整代码可以在以下位置查看https github com andyw8 simpleform examples https github com andyw8 simpleform examples 我有一个加入模型ProductCa
  • 芝麻服务器对 SPIN 的支持

    我是 SPIN 的新手 我阅读了文档并查找了一些示例 但我想开始使用它 我看到了一些工具http topquadrant com http topquadrant com对于 SPIN 但我已经使用 openrdf sesame 服务器一段
  • Android 画布坐标系

    我正在尝试查找有关如何更改画布坐标系的信息 我有一些矢量数据 想使用圆形和线条等绘制到画布上 但数据的坐标系与画布坐标系不匹配 有没有办法将我正在使用的单位映射到屏幕的单位 我正在绘制一个不占用整个显示屏的 ImageView 如果我必须在
  • Tkinter Spinbox 小部件设置默认值

    我有一个 tkinter spinbox sb Spinbox frame from 1 to 12 我想将 spinbox 的默认值设置为 4 我该怎么做 我读过这个帖子 布莱恩建议设置 Tkinter Spinbox values 1
  • 实体控制边界(ECB)与模型视图控制器(MVC)[重复]

    这个问题在这里已经有答案了 我不确定我是否有正确的概念 人们告诉我 边界 视图 实体 模型 控制 控制器 然而基于我对 MVC 的了解 胖模型 瘦控制器 不是 Boundary Controller Control Model 业务逻辑 和
  • 如何防止这个 jQuery 函数在每次页面加载时执行?

    我相信我有办法解决我的问题 但我想确定一下 这就是我所拥有的
  • 有图像和文本的按钮,图像下方有文本,怎么样?

    第一次使用 xamarin 的跨平台应用程序 我正在 Visual Studio 2017 社区中使用 xamarin 表单 我有一个带有图像和文本的按钮 但文本需要位于图像下方 目前文本显示在图像的左侧 我该怎么做 using Syste
  • 将字符串转换为日期和日期时间

    如果我有一个格式为的 PHP 字符串mm dd YYYY 例如 10 16 2003 我如何正确地将其转换为Date然后一个DateTime格式为YYYY mm dd 我要求两者的唯一原因Date and DateTime是因为我需要一个在
  • IE7 中的 CSS

    我有一个CSS ul li 嵌套菜单在 IE 8 和 Firefox 中完美运行 但在 IE7 中它会在元素之间产生一个小间隙 这是我的CSS nav nav ul margin 0 padding 0 list style type no
  • Heroku sock=Flask SocketIO 应用程序的后端服务器请求中断

    我有一个在heroku上托管的flask socketio应用程序 其中包含以下Procfile web gunicorn worker class eventlet hello app 自从我切换到 socketio 以来 该应用程序的行
  • 在箱线图中绘制空组

    我想以特定的风格绘制很多箱线图来比较它们 但是 当组为空时 该组 不会被绘制 假设我有一个数据框 a b 1 1 5 2 1 4 3 1 6 4 1 4 5 2 9 6 2 8 7 2 9 8 3 NaN 9 3 NaN 10 3 NaN
  • 为什么 ::first-letter 中的文本修饰不能级联 ::first-line 中的文本修饰?

    看起来text decoration in first letter不能级联text decoration in first line 这是代码 p first line color orange font size 22px text d