【发布时间】:2015-10-05 02:35:39
【问题描述】:
我在 HTML 文档中有多行文本内容(由浏览器包装,未由 <br> 分隔),并且想要添加背景颜色突出显示。我的第一次尝试是将要突出显示的文本包装在 <span> 中并适当地设置样式:
/* part of CSS Reset */
body { line-height: 1; }
#highlight {
background-color: blue;
color: white;
}
<p>Lorem ipsum <span id="highlight">dolor sit amet, consectetur adipiscing elit. Donec sed ipsum ut nulla tempus sodales. Aliquam augue nisl, cursus nec volutpat in, sagittis</span> in mi.
这呈现如下:
请注意带有下划线的字符('g'、'p'、',')的底部是如何被截断的,它们看起来与下一行的背景重叠。
我尝试使用透明背景来解决此问题,但这只是为了更好地展示重叠:
/* part of CSS Reset */
body { line-height: 1; }
#highlight {
background-color: rgba(0, 0, 255, 0.5);
color: white;
}
<p>Lorem ipsum <span id="highlight">dolor sit amet, consectetur adipiscing elit. Donec sed ipsum ut nulla tempus sodales. Aliquam augue nisl, cursus nec volutpat in, sagittis</span> in mi.
另外,增加line-height 似乎也可以:
#highlight {
background-color: rgba(0, 0, 255, 0.5);
color: white;
line-height: 1.2em;
}
<p>Lorem ipsum <span id="highlight">dolor sit amet, consectetur adipiscing elit. Donec sed ipsum ut nulla tempus sodales. Aliquam augue nisl, cursus nec volutpat in, sagittis</span> in mi.
但是,我需要一种方法来解决此重叠问题,而无需在视觉上增加行间距。
【问题讨论】:
标签: html css text background-color