这是我的css文件
.venue-hr-text {
line-height: 1em;
position: relative;
outline: 0;
/* border: 0;*/
font-family: 'GreatVibesRegular';
text-align: center;
height: 1.5em;
opacity: .5;
&:before {
content: '';
position: absolute;
left: 0;
top: 50%;
width: 100%;
height: 1px;
}
&:after {
content: attr(data-content);
position: relative;
display: inline-block;
padding: 0 .5em;
line-height: 1.5em;
background-color: #fcfcfa;
}
}
这是我的HTML代码
<hr class="venue-hr-text" data-content = "just three steps away">
我还为我正在使用的字体添加了一个在线链接,这是伟大的常规... 仍然,我的代码无法正常工作
hr也没有显示在网页上
答案 0 :(得分:1)
水平规则不接受文本节点。
您可以使用P标签,然后将显示设置为flex并使用两个伪元素以创建除此之外的“hr”。
这样的事情:
<p class="hr">
Something, Something, Darkside
</p>
的CSS:
p.hr{
display:flex;
align-items:center
}
p.hr::before, p.hr::after{
content:"";
flex:1;
background-color:red;
height:1px;
}
与其他方法相比,这个方法允许选择文本。
答案 1 :(得分:-2)
根据您的需要改变您的CSS。你引用的代码也是sass而不是css所以&amp;:before和&amp;:after不能像在sass中那样在类之下使用。
.venue-hr-text {
line-height: 1em;
position: relative;
outline: 0;
border: 0;
text-align: center;
height: 1.5em;
opacity: .5;
}
.venue-hr-text::before {
content: '';
background: linear-gradient(left, transparent, black, transparent);
position: absolute;
left: 0;
top: 50%;
width: 100%;
height: 5px;
background-color: grey;
}
.venue-hr-text::after {
content: attr(data-content);
position: relative;
display: inline-block;
padding: 0 .5em;
line-height: 1.5em;
color: black;
background-color: #fcfcfa;
}