编辑:当我调整大小时,当文本换行时,它开始出现在第一行下面。
<h1 class="quote">“Drink better not more”</h1>
<p><span class="first-letter">A</span> week designed for cocktail lovers, Loves Cocktails is an exciting new 7-day
long festival arriving in Nottingham this April.</p>
.quote {
font-family: $serif-font;
text-align: center;
font-size: 4rem;
padding: 0.3em 0em;
}
.quote::before, .quote::after {
content: "";
position: absolute;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
height: 8px;
width: 32px;
background: #ec3723;
}
p {
max-width: 40em;
margin: auto;
}
.first-letter {
font-size: 3rem;
margin: 20px;
float: left;
}
答案 0 :(得分:0)
如果您在谈论在调整大小时呈现的::after
元素是因为您没有为top
定位元素使用absolute
属性。你需要做一些像
.quote {
position: relative;
/* other properties here */
}
.quote::before,
.quote::after {
top: 0;
/* other properties here */
}
默认情况下,您的absolute
定位元素会与文本一起呈现,因此当它包装时,由于您没有定义top
,因此您的::after
伪形式正在破坏。为了解决这个问题,我定义了top
,这样无论你的文字包裹多少,伪元素都会保留在原位。
正如你评论的那样。在这里,我添加了另一个声明,我试图下拉::after
伪。另请注意,我为top: auto;
伪设置::after
因为我们最初设置top: 0;
。