Css 防止使用空内容填充已包装的伪元素

Css 防止使用空内容填充已包装的伪元素,css,pseudo-element,Css,Pseudo Element,通过如下伪类在标准块显示中添加背景图像时: .outer { background-color: red; text-align: center; } .outer:before { background-color: blue; display: inline-block; width: 200px; height: 200px; content: " "; } 外部div最后在底部相对于包含的:before元素填充了一些px。有可能避

通过如下伪类在标准块显示中添加背景图像时:

.outer {
    background-color: red;
    text-align: center;
}
.outer:before {
    background-color: blue;
    display: inline-block;
    width: 200px;
    height: 200px;
    content: " ";
}
外部div最后在底部相对于包含的:before元素填充了一些px。有可能避免这种情况吗?如果
内容
被非空文本替换,填充就会消失,但是我需要一种使文本不可见的方法


你有两种方法来摆脱这个空间。(您生成的框位于基线上,就像文本一样。它为字母g、j、p、q、y留下了空间)

  • 垂直对齐:顶部
    底部
    设置到内联框
  • 将您的箱子设置为

  • 你有两种方法来摆脱这个空间。(您生成的框位于基线上,就像文本一样。它为字母g、j、p、q、y留下了空间)

  • 垂直对齐:顶部
    底部
    设置到内联框
  • 将您的箱子设置为

  • 因为您的内部元素是一个内联块,它正在观察线条高度样式,所以只需设置:

    .outer{ line-height: 0; }
    


    希望这有帮助,因为您的内部元素是一个内联块,它正在观察线条高度样式,所以只需设置:

    .outer{ line-height: 0; }
    


    希望这有助于增加外部的高度,并将pesudo高度设置为100%


    另外,如果您想使文本不可见,只需设置“color:transparent;”

    将高度添加到.outer并将pesudo高度设置为100%


    另外,如果要使文本不可见,只需设置“color:transparent;”

    听起来像是空白问题。你想做什么?听起来像是空白问题。您想做什么?注意:当文本添加到外部div时,这两个选项都会中断。它在第一个位置已经中断:),问题是关于内联框下的间距,我认为第一个解决方案是+1,这是另一个解决方案,如果子级和父级的高度始终相同,则它是合适的。注意:当文本添加到外部div时,这两个选项都会断开。第一位已经断开:),问题是关于内联框下的间隙,我相信第一个解决方案是+1,下面是另一个解决方案,如果子级和父级的高度始终相同,则它是合适的。我们还可以设置
    字体大小:0取而代之。看起来我们总共有5种解决方案(不包括在
    内容使用非空格字符时设置
    颜色:透明
    的非常难看的hack)。我们还可以设置
    字体大小:0取而代之。看起来我们总共有5种解决方案(不包括在
    内容中使用非空格字符时通过设置
    color:transparent
    的非常难看的hack)。