我在使用 css 的 line-height + text 背景样式方面遇到问题。
<style>
.wrap {
width: 70%;
line-height:0.9;
}
.hl {
background-color: orange;
}
</style>
<div class="wrap">
<span class="hl">
Some content will go here which will be split into several lines depending of resolution (depending on width of wraper)
</span>
</div>
我有根据浏览器宽度换行为多行的动态文本此文本的行高小于“正常”。当我将背景颜色应用于文本时,此背景与下行字母的底部重叠:g、p、y、q、j
似乎文本在浏览器中呈现,使得第二行/下一行文本(及其背景颜色)位于第一行/上一行文本的前面,因此第二行的背景位于下行字母的前面到行高。
每一行都有一个新的背景,因为我们正在谈论一个内联元素。我当然需要使用内联元素来获取文本背景。我需要用css或JS来解决这个问题,而不改变文本的文本行高。
附加信息:我在这里找到了一个很好的答案: 在每行文本的开头和结尾添加填充
由三十多点回答(在问题下方接受答案),但如果你检查他的现场演示解决方案,并将那里的 line-height 更改为更小的值,你会遇到和我一样的问题。 演示