html - 使内联 block div 出现在下方而不是重叠

标签 html css position

HTML:

<div id="parent">
    <div class="child1">
        <img src="img/top.png"/>
    </div>
    <div class="child2">
        <img src="img/middle.png"/>
    </div>
    <div class="child3">
        <img src="img/bottom.png"/>
    </div>
</div>

CSS:

.child1{
    display: inline-block;
}
.child2{
    display: inline-block;
}
.child3{
    display: inline-block;
}

我将显示设置为内联 block ,因为我希望 div 适合它们包含的图像的大小(每个不同的大小)。但是,当我这样设置时,它们会从左到右一个接一个地出现。我希望它们堆叠在一起,其中 child2 在 child1 的正下方,child3 在 child2 的正下方。

谢谢

最佳答案

使用flexbox解决

#parent {
    display: flex;
    flex-direction: column;
    align-items: center;
}
<div id="parent">
  <div class="child1">
    <img src="http://lorempixel.com/400/200" alt="random">
  </div>
  <div class="child2">
    <img src="http://lorempixel.com/600/200" alt="random">
  </div>
  <div class="child3">
    <img src="http://lorempixel.com/400/200" alt="random">
  </div>
</div>


如果你真的想让 div 元素完全适合其包含的图像的大小,那么你必须删除空白或在父容器(或子 div)上设置 font-size: 0

检查这个pen

关于html - 使内联 block div 出现在下方而不是重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47466032/

相关文章:

php - 向左浮动时填补不同 DIV "Height"上的空白

c# - 将 bootstrap 3 升级到 4f,现在导航菜单不显示

user-interface - 如何获得 Electron 中的操作系统窗口位置?

javascript - Jquery 淡入文本一段时间

html - 从移动 View 切换到平板电脑 View 时,如何将 jQuery 移动侧面板从推送更改为覆盖

html - 嵌入式声音播放器

javascript - 在Widget代码中没有jQuery的情况下使用光标图像向左滑动向右移动

JQuery 对话框未显示在窗口中央

mysql - 在 MySQL 中存储数百万个 3D 坐标——坏主意?

javascript - 将 SVG 转换为 PDF javascript mermaid.js 示例时出现奇怪的输出