【发布时间】:2020-03-27 06:38:01
【问题描述】:
我有一个<h3>,我需要使用::after 伪元素对其进行样式设置,使其后面包含一个红色底边。
目标: 红底边框应该只显示文本的长度。
结果: 我现在最接近的,边框跨越父宽度。
<h3><span class="headingLine">Lorem Ipsum Dolor Sit Amet</span></h3>
span.headingLine:after{
position: absolute;
content: '';
border-bottom: 7px solid red;
z-index: -1;
left: 0;
width: 100%; /* If I remove the width 100%, the red doesn't show */
bottom: 15px;
display: inline-block;
}
如何调整标记/CSS 以使红色边框仅跨越文本的宽度?
可能存在多行文本(浏览器窗口小/标题较长)
【问题讨论】:
-
位置:相对于跨度(和内联块)
-
它已经是内联块了。相对定位将红色边框推到文本下方,它仍然跨越父级的整个宽度。
-
内联块到跨度,而不是 after 伪元素,不,它不是位置:如果我考虑你所显示的数字,除非你通过发布你的整个代码证明我错了
-
"到 span,而不是 after 伪"。啊哈。知道了。您的解决方案适用于 1 行文本。 2 或更多,而红线只出现在最底线。 (见我问题的最后一部分)
标签: html css css-selectors pseudo-class