假设我有如下文字:
<p>There are many people in Asia.</p>
我想匹配两个字符串:many people
, 和people in Asia
. 我希望输出看起来像两个字符串都是独立找到的,可能对每个匹配的字符串应用不同颜色的下划线,如下所示:
但是,在 HTML 中,我不能重叠跨度,因为如果我尝试这样做:
span.first { border-bottom: 1px solid red; }
span.second { border-bottom: 1px solid blue; }
<p>There are
<span class="first">many <span class="second">people</span> in Asia</span>.
</p>
第一个</span>
会关闭span.second
。
我的想法是将div
s 放置在文本下方,以便它们与p
上面匹配的文本对齐,但我敢打赌,使用 CSS 将这些 div 与匹配字符串的开始和结束位置对齐将是一场噩梦。
关于如何做到这一点的任何想法?