【问题标题】:display a grid <p> row vs a grid <div> row [duplicate]显示网格 <p> 行与网格 <div> 行 [重复]
【发布时间】:2019-04-27 00:15:42
【问题描述】:

为什么网格行 &lt;p&gt; 与网格行 &lt;div&gt; 不同?

对不起,如果这是显而易见的事情,但对我来说没有任何意义 XD

.container {
  display: grid;
  grid-auto-rows: 20px;
  grid-auto-columns: auto;
  grid-row-gap: 5px;
}

.box {
  display: block;
  border: 1px solid black;
  background-color: lightgreen;
}
<div class="container">
  <p class="box">test</p>
  <div class="box">test</div>
  <div class="box">test</div>
</div>

【问题讨论】:

    标签: css


    【解决方案1】:

    使用&lt;p&gt; 和&lt;div&gt; 之间的最大区别过去是您不能像使用&lt;div&gt; 那样在&lt;p&gt; 中嵌套其他元素。然而,&lt;p&gt; 标签在 HTML5 中似乎变得更加宽容,这使得它可以被允许 - 任何短语元素(包括图像和其他 &lt;p&gt; 标签)都可以正常工作。在 MODERN DAY 中选择一个而不是另一个的主要原因是 1)它标志着语义上的差异,使代码对其他人更具可读性,以及 2)&lt;p&gt; 默认情况下在段落上方和下方添加一个边距,而&lt;div&gt;不增加额外边距。

    【讨论】:

    • 话虽如此,在&lt;p&gt; 标签中包含块元素仍然被认为是不好的形式。
    • 但在这种情况下,我没有在 &lt;p&gt; 元素中包含块元素,对吧?
    • 正确,你没有。我只是引用了 HTML 的“非官方规则”,其中指出虽然&lt;p&gt; 本身就是一个块元素,但不建议在其中放置其他块元素。
    【解决方案2】:

    p 元素的 height 为 0。我不完全确定原因,但网格 container 的 grid-auto-rows 规则导致了它。没有它,p 会膨胀到 50px 高度,包括填充。

    这个填充是浏览器设置的。我喜欢使用css reset。它们是简单的 CSS 规则,可以解决这些默认样式导致的常见问题。其中有几个,人们出于不同的原因喜欢不同的重置。 I rather like this one

    编辑:固定代码 sn-p。

    .container {
      display: grid;
      grid-auto-rows: 20px;
      grid-auto-columns: auto;
      grid-row-gap: 5px;
    }
    
    .box {
      display: block;
      border: 1px solid black;
      background-color: lightgreen;
      margin: 0;
      padding: 0;
    }
    <div class="container">
      <p class="box">test</p>
      <div class="box">test</div>
      <div class="box">test</div>
    </div>

    【讨论】:

    • hmm ok thx 但是我在里面放了test 这个词怎么会是0 它是如此不一致?
    • 它应该至少是 20px 以便对填充或边距重置有任何意义
    • 对不起,我查看了开发者窗口中的计算样式,它报告了height 0px。我现在看到 2px 正在显示。这是因为p 上有 18px 的填充将其向下推到它的兄弟姐妹中。
    • 在 box 类中添加 margin: 0; padding: 0; 修复了它。您能否将修改后的片段添加到您的答案中,以便其他人可以看到结果:)
    猜你喜欢
    • 2022-12-11
    • 2018-01-30
    • 1970-01-01
    • 2021-08-19
    • 2015-03-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-16
    • 2013-07-25
    相关资源
    最近更新 更多