【问题标题】:Why does displaying my divs as inline cause them to overlap my h1? [duplicate]为什么将我的 div 显示为内联会导致它们与我的 h1 重叠? [复制]
【发布时间】:2020-04-18 16:20:02
【问题描述】:

我只是在学习的早期阶段玩弄边框/内容框 CSS 属性。

尝试让两个框并排排列 - 我已经通过使用 float left 和 right 属性实现了它。

但是,当我使用 display inline 时,它​​会导致与上面的块元素 h1 重叠。我在这里将其显示为表格,因此我在其上设置的背景颜色仅跨越内容的宽度,但这不应该改变它仍然是块元素的事实。

除了重叠之外,div 上的 display: inline 还会导致框缩小。

谁能解释为什么会这样?

请在此处查看代码:https://jsfiddle.net/gouvrze1/

【问题讨论】:

    标签: html css


    【解决方案1】:

    只有块元素遵守宽度和高度规则。内联元素只是随着它们的文本内容流动。重叠是由填充和 div 在 DOM 中更靠下的事实引起的,因此它们是在先前元素之后和之上绘制的。

    尝试将您的 div 改为 display: inline-block

    【讨论】:

    • Nvm,由于元素之间的空白,刚刚意识到它们不是并排的,找到了一种清除它的方法。或者使用较小的宽度来弥补缺失的几个 %。
    • 此外,显然,内联元素尊重“line-height”,因此设置大约 55px 会将内联 div 向下移动到标题下方:D。感谢提供了一个解决方案,让我可以进一步研究这个问题:)。
    猜你喜欢
    • 1970-01-01
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    • 2019-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    相关资源
    最近更新 更多