html - 为什么相同高度和宽度的内联 block 元素本身不垂直对齐

标签 html css

为什么行内 block 元素不在垂直顶部对齐?如果我在所有 block 中都有相同的内容,那很好,但是我减少了一个 block 中的内容,它失去了对齐。在代码中 - 有四个定义了类 para1 和 css 的 div。第二个、第三个和第四个 div 都可以,但是第一个移到了下面,因为里面的内容少了。我可以通过 position 或使用 float 来解决问题,但需要了解为什么会这样?

.para1 {
  width: 24%;
  height: 200px;
  border: 2px solid red;
  display: inline-block;
}
<div>
  <div class="para1">

    <p>Cras fringilla malesuada sem, et aliquam ligula tincidunt a.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce cursus, est ut mattis blandit, magna leo iaculis lacus, vel volutpat eros sem at velit. Curabitur sit amet massa et sapien porttitor
      luctus.</p>

  </div>

  <div class="para1">

    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce cursus, est ut mattis blandit, magna leo iaculis lacus, vel volutpat eros sem at velit. Curabitur sit amet massa et sapien porttitor luctus. Cras fringilla malesuada sem, et aliquam ligula
      tincidunt a.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce cursus, est ut mattis blandit, magna leo iaculis lacus, vel volutpat eros sem at velit. Curabitur sit amet massa et sapien porttitor luctus.</p>

  </div>

  <div class="para1">

    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce cursus, est ut mattis blandit, magna leo iaculis lacus, vel volutpat eros sem at velit. Curabitur sit amet massa et sapien porttitor luctus. Cras fringilla malesuada sem, et aliquam ligula
      tincidunt a.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce cursus, est ut mattis blandit, magna leo iaculis lacus, vel volutpat eros sem at velit. Curabitur sit amet massa et sapien porttitor luctus.</p>

  </div>

  <div class="para1">

    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce cursus, est ut mattis blandit, magna leo iaculis lacus, vel volutpat eros sem at velit. Curabitur sit amet massa et sapien porttitor luctus. Cras fringilla malesuada sem, et aliquam ligula
      tincidunt a.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce cursus, est ut mattis blandit, magna leo iaculis lacus, vel volutpat eros sem at velit. Curabitur sit amet massa et sapien porttitor luctus.</p>

  </div>

</div>

最佳答案

因为 default内联元素的垂直对齐方式是 baseline。将其更改为 middletop 之类的内容,它们将按我认为您希望的方式对齐。

.para1 {
  width: 24%;
  height: 200px;
  border: 2px solid red;
  display: inline-block;
  vertical-align: top;
}
<div>
  <div class="para1">

    <p>Cras fringilla malesuada sem, et aliquam ligula tincidunt a.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce cursus, est ut mattis blandit, magna leo iaculis lacus, vel volutpat eros sem at velit. Curabitur sit amet massa et sapien porttitor
      luctus.
    </p>

  </div>

  <div class="para1">

    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce cursus, est ut mattis blandit, magna leo iaculis lacus, vel volutpat eros sem at velit. Curabitur sit amet massa et sapien porttitor luctus. Cras fringilla malesuada sem, et aliquam ligula
      tincidunt a.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce cursus, est ut mattis blandit, magna leo iaculis lacus, vel volutpat eros sem at velit. Curabitur sit amet massa et sapien porttitor luctus.</p>

  </div>

  <div class="para1">

    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce cursus, est ut mattis blandit, magna leo iaculis lacus, vel volutpat eros sem at velit. Curabitur sit amet massa et sapien porttitor luctus. Cras fringilla malesuada sem, et aliquam ligula
      tincidunt a.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce cursus, est ut mattis blandit, magna leo iaculis lacus, vel volutpat eros sem at velit. Curabitur sit amet massa et sapien porttitor luctus.</p>

  </div>

  <div class="para1">

    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce cursus, est ut mattis blandit, magna leo iaculis lacus, vel volutpat eros sem at velit. Curabitur sit amet massa et sapien porttitor luctus. Cras fringilla malesuada sem, et aliquam ligula
      tincidunt a.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce cursus, est ut mattis blandit, magna leo iaculis lacus, vel volutpat eros sem at velit. Curabitur sit amet massa et sapien porttitor luctus.</p>

  </div>

</div>

关于html - 为什么相同高度和宽度的内联 block 元素本身不垂直对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50823735/

相关文章:

javascript - 使用 Javascript 提交表单

javascript - 获取裁剪后的 DIV 的全高

javascript - 如何防止 CSS3 转换使元素不可点击

css - 如何在不包裹的情况下将所有 LI 包含在 ul 宽度内

javascript - 卡住 html 表上的前 3 列

html - 将圆分成 3 部分,每个部分内有垂直文本

html - 一行中复选框的对齐方式

php - html2pdf - TCPDF : word wrap in table cell using zero width space (replaced by '?' in PDF)

css - 为什么输入字段比它的父 div 宽?

css - 视频不在移动设备上流式传输,只有在视频不播放时才需要使用占位符图像