【问题标题】:How to get rid of the <hr> vertical spacing?如何摆脱 <hr> 垂直间距?
【发布时间】:2021-10-25 23:28:51
【问题描述】:

TLDR:点击底部的图片,我的菜鸟问题立即显现出来。


大家好

我有两个 &lt;div&gt; 元素,我想用 &lt;hr class="separator"&gt; 元素分隔它们。

&lt;hr class="separator"&gt; 元素的 CSS 代码如下:

hr.separator {
边框顶部:1px 纯黑色;
上边距:70px;
边距底部:0;
填充:0;
}

底部&lt;div class="brown"&gt;元素的CSS代码如下:

div.brown{
边距顶部:0;
上边距:70px;
背景颜色:#ce9771;
}

在 HTML 代码中,这些元素是这样设置的:

&lt;div&gt; 上 div \&lt;div&gt;
&lt;hr&gt;
&lt;div&gt; 下 div \&lt;div&gt;

不过,我在它们之间有一个垂直的空白(大约 3 像素)。我已经尝试将所有边距和填充设置为“0”,甚至尝试将&lt;hr&gt;作为每个&lt;div&gt;的孩子并使用位置属性(这总是使&lt;hr&gt;消失) .... 任何人都可以在这里帮助新手吗?

【问题讨论】:

  • 能否请您提供您的 HTML,以便我可以看到重现的问题?
  • @BeerusDev 抱歉,发布后,我注意到我忘记了它。我已经编辑了帖子。

标签: html css margin vertical-alignment spacing


【解决方案1】:

与:

hr.separator {
    border-top: 1px solid black;
    margin-top: 70px;
    margin-bottom: 0;
    padding: 0;
}

您只需设置/更改top 边框,但hr 也可以有其他边框。

所以先去掉所有带有border: none;的边框,然后设置上边框:

hr.separator {
    border: none;
    border-top: 1px solid black;
    margin-top: 70px;
    margin-bottom: 0;
    padding: 0;
}

div.brown{
    margin-top: 0;
    padding-top: 70px;
    background-color: #ce9771;
}
<hr class="separator">
<div class="brown">

</div>

当您不知道为什么看起来有问题时,您应该在浏览器的开发人员工具中检查应用于该元素的样式的计算属性。

【讨论】:

  • 对其进行了测试。工作。感谢所有试图提供帮助的人...现在,我必须等待 7 分钟才能将其标记为已解决。
  • 问题 - 假设我们没有选择border: none margin-bottom: -1px 也可以解决这个问题吗?还是这会带来其他问题?
  • @Brandon 是的,但它会干扰其他样式设置
  • @Brandon 的问题是,为什么要隐藏存在负边距的边框而不是删除边框。除此之外,您如何知道浏览器默认应用于hr 元素的边框宽度?
猜你喜欢
  • 2012-11-04
  • 2018-04-01
  • 1970-01-01
  • 2011-10-31
  • 1970-01-01
  • 2016-11-29
  • 2015-02-05
  • 2011-12-27
  • 1970-01-01
相关资源
最近更新 更多