html - 每个浏览器的背景图都不一样,哪个是正确的?
问题描述
我创建了一种样式,可以突出显示段落中的部分句子,如下所示:
body {
background: #fafafa;
padding-top: 1em;
}
.paragraph>span {
position: relative;
}
.paragraph>span:after {
background: black;
content: "";
width: 100%;
height: 1.2em;
left: 0;
position: absolute;
}
<p class="paragraph">
Lorem <span>ipsum dolor sit amet</span>, consectetur adipiscing elit, sed do eiusmod tempor <span>incididunt ut labore</span> et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi <span>ut aliquip ex ea commodo</span> consequat.
</p>
我正在用jsFiddle对此进行测试。我在 Firefox 中发现了两个问题。
- 高亮显示在文本下方。
- 高光应用于未应用高光的元素。在该图中,应用于“incidudnt ut labore”的突出显示改为在其他地方应用。
我试着看看谷歌浏览器是否有同样的问题。然后,它变成了与 Firefox 不同的行为。
- 文字下方出现的高亮问题没有发生。并且,没有出现高光应用于其他元素的问题。但是,会出现高光消失的问题。
,
问题
- 根据规范,图像中 Firefox 和 Google Chrome 的哪个工作是正确的?
- 如何修复这些故障并始终显示黑色高光?
解决方案
Aspan
是一个内联元素,因此当您尝试它时,它不会是绝对定位元素的有效(相对)锚点。相反,绝对定位元素的位置将取决于下一个更高的相对定位的父块(或内联块)元素,这会导致您描述的问题。
但是你为什么不把背景(加上另一种文本颜色和一些填充)应用到它span
本身呢?这要简单得多。
body {
background: #fafafa;
padding-top: 1em;
}
.paragraph>span {
background: black;
color: white;
padding: 2px 4px;
}
<p class="paragraph">
Lorem <span>ipsum dolor sit amet</span>, consectetur adipiscing elit, sed do eiusmod tempor <span>incididunt ut labore</span> et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi <span>ut aliquip ex ea commodo</span> consequat.
</p>
推荐阅读
- ssl - SSL自签名apache骆驼https4
- windows-authentication - WebSphere 数据源测试连接因 SQLServer Windows 身份验证而失败
- python - 使用个性化标签标记轮廓水平
- sql-server - t-sql 在 sql server 中获取创建表脚本
- java - 带有来自 beans.xml 的根上下文的 Spring @RestController 注释
- matlab - Matlab中符号变量的求和
- node.js - Artillery NodeJS 集群性能基准测试问题
- swift - SceneKit:位置音频不起作用
- python - 如何绘制分布中的粒子数
- asp.net-core - 无法在 asp.net 核心类库 (IFormFile) 中添加所需的引用