Sun*_*nny 7 html css pseudo-element css-content
我的段落的高度/行高为50px text-align: center,它使文本居中.但是p:之前导致它的高度/行高增加,导致文本崩溃.我想要p和p:才能垂直居中.
<p>Hover This</p>
p {
background: red;
text-align: center;
height: 50px;
line-height: 50px;
font-size: 14px;
}
p:hover:before {
content: "icon";
display: inline-block;
margin-right: 10px;
font-size: 3em;
}
Run Code Online (Sandbox Code Playgroud)
文字长度各不相同所以我认为我不能只position: absolute用于图标......
Jos*_*ier 12
发生这种情况的原因是因为元素line-height继承了:before元素,元素也是inline-block元素.
您可以通过浮动:before内容来解决此问题,从而将其从流中移除,使其不受影响line-height.
HTML
<div>
<p>Hover This</p>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
div {
background: red;
height: 50px;
line-height: 50px;
font-size: 14px;
text-align:center;
}
div:hover p:before {
content: "icon icon icon icon";
margin-right: 10px;
font-size: 42px;
float:left;
}
p {
display:inline-block;
margin:0px;
}
Run Code Online (Sandbox Code Playgroud)