在标准块显示div
中通过伪类添加背景图像时:
.outer {
background-color: red;
text-align: center;
}
.outer:before {
background-color: blue;
display: inline-block;
width: 200px;
height: 200px;
content: " ";
}
外部div最终在相对于所包含的:before元素的底部被填充了几个px。有可能避免这种情况吗?如果content
被非空文本替换,则填充消失,但是我需要一种使文本不可见的方法。
答案 0 :(得分:3)
你有2种方法可以摆脱那个空间。 (你生成的盒子站在基线上,就像文本一样。它为以下字母留出空间:g,j,p,q,y)。
vertical-align:top
或bottom
设置为您的内联框
http://jsfiddle.net/7Ja5d/2/ block
http://jsfiddle.net/7Ja5d/1/ 答案 1 :(得分:1)
答案 2 :(得分:0)
将高度添加到.outer并将pesudo height设置为100%http://jsfiddle.net/7Ja5d/8/
.outer {
background-color: red;
text-align: center;
height: 200px;
}
.outer:before {
background-color: blue;
display: inline-block;
width: 200px;
height: 100%;
content: " ";
}
此外,如果你想让文字不可见,只需设置"颜色:透明;"