【问题标题】:Three divs inline with middle div always in center of the container三个与中间 div 内联的 div 始终位于容器的中心
【发布时间】:2015-12-26 08:34:59
【问题描述】:

我有三个 div,都内联在一个父 div 下。我的目标是让中间 div 始终位于父 div 的中心。休息时,两个侧面的 div 是响应式的。在左侧 div 中,文本向右对齐,而在左侧 div 中,文本向左对齐。中间 div 的宽度是固定的,比如 80px。还设置了父 div 的最大和最小宽度。我有这个:

<div style="max-width: 500px;min-width:450px;">
  <div style="display:inline-block;text-align:right;">Posted by</div>
  <div style="display:inline-block;text-align:center;width:80px;">
    <img src="default.png" style="width:80px;height:20px;border:2px solid #fff;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%;">
  </div>
  <div style="display:inline-block;">Johnathan Bestualzaukazoa</div>
</div>

我想要这样的东西:

但中间 div 并不总是在中心。作为side divs内容推送它们。那么我该如何实现呢?

【问题讨论】:

  • 中间的灰色区域是否始终为图像?
  • 是的,中间灰色的 div 总是只包含一张图片

标签: html css


【解决方案1】:

我建议使用这个 CSS 表格布局。我在左右两边都设置了 50%,中间设置了一个图像。因为它是表格布局,所以不会中断,而是会重新计算 50% 的值并自动显示最佳宽度“(100% - 图像宽度)/2”。

jsfiddle

.container {
    display: table;
    border: 2px solid grey;
    margin: 20px auto;
}
.container > div {
    display: table-cell;
}
.left, .right {
    width: 50%;
    padding: 0 10px;
}
.left {
    text-align: right;
}
.middle img {
    vertical-align: middle;
}
.right {
    text-align: left;
}
.container1 { width: 500px; }
.container2 { width: 400px; }
.container3 { width: 300px; }
<div class="container container1">
    <div class="left">L</div>
    <div class="middle"><img src="//dummyimage.com/80x40"></div>
    <div class="right">R</div>
</div>
<div class="container container2">
    <div class="left">L</div>
    <div class="middle"><img src="//dummyimage.com/80x40"></div>
    <div class="right">R</div>
</div>
<div class="container container3">
    <div class="left">L</div>
    <div class="middle"><img src="//dummyimage.com/80x40"></div>
    <div class="right">R</div>
</div>

【讨论】:

  • @Pangloss 它运行良好。但我想知道它是如何工作的:)这里有什么秘密?你的左右两边都有 50% 的宽度,那么中间的宽度如何正好适合中心?
  • 中间的 div 并不一致总是在中心。不确定这是否是@JVK 想要的 ..jsfiddle.net/60goqr2b/1
  • @DyrandzFamador 我同意,如果那里有一个相当长的单词,但不确定在真实情况下发生的可能性有多大,如果需要维护,快速修复将是打破 loooooong 单词布局 - jsfiddle.net/60goqr2b/2
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-08
  • 2013-01-14
  • 2014-07-17
  • 2013-09-19
  • 2023-03-03
  • 2018-12-25
  • 1970-01-01
相关资源
最近更新 更多