Chrome浏览器CSS下划线显示Bug详解及修复建议
本文将讨论在Chrome浏览器测试新的CSS属性text-decoration-thickness
和text-underline-offset
时遇到的两个问题。
目录
- 默认下划线不一致
- 覆盖浏览器默认样式
- Chrome Bug 1:macOS系统下下划线过细
- Chrome Bug 2:下划线位置过低
- 如何帮助优先解决Chrome浏览器Bug
默认下划线不一致
在一个简单的网页中添加文本链接,设置字体为Arial,然后比较不同浏览器和操作系统下的下划线显示效果。结果显示,不同浏览器默认的下划线粗细和垂直位置(基线偏移量)不一致。这符合CSS文本装饰模块的规定,该模块指定了以下默认行为(auto值):
用户代理选择合适的文本装饰线粗细。[...] 用户代理选择合适的下划线偏移量。
覆盖浏览器默认样式
两个新CSS属性可以精确定义下划线的粗细和偏移量:
text-decoration-thickness
text-underline-offset
使用这两个属性,即使在Firefox(Gecko引擎)和Safari(WebKit引擎)等不同浏览器上,也能创建一致的下划线效果。
h1 { text-decoration: underline; text-decoration-thickness: 0.04em; text-underline-offset: 0.03em; }
注意:text-decoration-thickness
属性还有一个特殊的from-font
值,指示浏览器使用字体本身的首选下划线宽度(如果可用)。经测试,不同字体的下划线效果仍然不一致。
Chrome Bug 1:macOS系统下下划线过细
如果将text-decoration-thickness
属性设置为一个计算结果为非整数像素值的字体相关长度值,Chrome浏览器会向下取整,而不是四舍五入。例如,如果声明的粗细为0.06em
,计算结果为1.92px
,Chrome会绘制1px粗细的下划线,而不是2px。此问题仅限于macOS系统。
a { font-size: 2em; /* 计算结果为32px */ text-decoration-thickness: 0.06em; /* 计算结果为1.92px */ }
截图显示,Chrome浏览器(第三行)中的文本装饰线比Safari和Firefox浏览器中的细两倍。
更多信息请参考Chromium问题#1255280。
Chrome Bug 2:下划线位置过低
text-underline-offset
属性允许精确设置字母基线与下划线之间的距离(下划线相对于基线的偏移量)。不幸的是,Chrome浏览器目前没有正确实现此功能,导致下划线位置过低。
h1 { text-decoration: underline; text-decoration-color: #f707; /* 禁用“跳过墨水” */ -webkit-text-decoration-skip: none; /* Safari */ text-decoration-skip-ink: none; /* 覆盖整个下沉线 */ text-decoration-thickness: 0.175em; /* 下沉线高度 */ text-underline-offset: 0; /* 基线无偏移 */ }
由于此Bug,无法将下划线完全移到基线上。
更多信息请参考Chromium问题#1172623。
注意:如上图所示,Safari浏览器在下沉线顶部而不是底部绘制下划线。这是一个WebKit Bug,最近已修复。此修复程序应包含在Safari的下一个版本中。
如何帮助优先解决Chrome浏览器Bug
用于设置下划线样式的两个新的CSS属性是CSS的欢迎补充。希望这两个相关的Chrome Bug能够尽快得到修复。如果这些CSS功能对您很重要,请在Chromium的Bug跟踪器中为这些Bug添加星标,以表达您的关注。
以上是CSS强调太薄,铬太低的详细内容。更多信息请关注PHP中文网其他相关文章!

在这篇文章中,布莱克·莫里(Blackle Mori)向您展示了一些骇客,同时试图推动同位HTML支持的极限。如果您敢于使用这些,以免您也被标记为CSS罪犯。

具有CSS的自定义光标很棒,但是我们可以将JavaScript提升到一个新的水平。使用JavaScript,我们可以在光标状态之间过渡,将动态文本放置在光标中,应用复杂的动画并应用过滤器。

互动CSS动画和元素相互启动的元素在2025年似乎更合理。虽然不需要在CSS中实施乒乓球,但CSS的灵活性和力量的增加,可以怀疑Lee&Aver Lee&Aver Lee有一天将是一场

有关利用CSS背景滤波器属性来样式用户界面的提示和技巧。您将学习如何在多个元素之间进行背景过滤器,并将它们与其他CSS图形效果集成在一起以创建精心设计的设计。

好吧,事实证明,SVG的内置动画功能从未按计划进行弃用。当然,CSS和JavaScript具有承载负载的能力,但是很高兴知道Smil并没有像以前那样死在水中

是的,让#039;跳上文字包装:Safari Technology Preview In Pretty Landing!但是请注意,它与在铬浏览器中的工作方式不同。

此CSS-tricks更新了,重点介绍了年鉴,最近的播客出现,新的CSS计数器指南以及增加了几位新作者,这些新作者贡献了有价值的内容。

在大多数情况下,人们展示了@Apply的@Apply功能,其中包括Tailwind的单个property实用程序之一(会改变单个CSS声明)。当以这种方式展示时,@Apply听起来似乎很有希望。如此明显


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器