【问题标题】:Removing unexpected space in :before :after pseudo elements删除 :before :after 伪元素中的意外空间
【发布时间】:2018-04-11 07:42:34
【问题描述】:

我最近在将 SVG 添加到 :before 和 after 伪元素以在页面上获得弯曲部分时遇到了问题。

.div:after {
    position: absolute;
    content: url(svg/curve-down-bottom.svg);
    width: 100%;
    bottom: -1px;
    left: 0;
    z-index: 999;
}

该方法效果很好,除了伪元素内的 SVG 下方有额外的空间,如下所示:

我尝试了很多方法来解决此问题,但请参阅下面的答案以了解有效的方法!

我希望这对某人有所帮助。

【问题讨论】:

  • 您需要添加完整的 html/css 代码并使用 SVG 的绝对路径。我们无法以这种方式帮助您

标签: html css image svg


【解决方案1】:

添加行高:0;修复了问题,如下:

.div:after {
    position: absolute;
    content: url(svg/curve-down-bottom.svg);
    width: 100%;
    line-height: 0;
    bottom: -1px;
    left: 0;
    z-index: 999;
}

你可以在这里看到:

正如其他人评论的那样,您也可以添加 display: block;。过去,这在图像下方有空间的类似问题上有效,但是对于这个特定问题 line-height:0; 提供了所需的结果。

.div:after {
    position: absolute;
    content: url(svg/curve-down-bottom.svg);
    width: 100%;
    line-height: 0;
    bottom: -1px;
    left: 0;
    z-index: 999;
    display: block;
}

【讨论】:

  • 使用display: block 会是更好的解决方案。
  • @PaulLeBeau 我尝试了所有方法,包括display:block,但没有成功
  • @PaulLeBeau。谢谢你的建议。如前所述,我提供的示例 CSS 是适合我的解决方案。我已经添加了您对 display: block 的建议,尽管在这种情况下它不是解决方案,但它过去曾处理过某些类似的问题。谢谢!
猜你喜欢
  • 2011-06-22
  • 2020-09-20
  • 2016-05-24
  • 2011-04-02
  • 1970-01-01
  • 2015-05-06
  • 2015-09-12
  • 1970-01-01
  • 2013-01-09
相关资源
最近更新 更多