【发布时间】:2017-05-15 13:05:26
【问题描述】:
我有一个 div,其中有一些跨度,它们的宽度可能相等,也可能不相等。我知道我可以使用text-align: center 使 div 中的所有内容居中。但是,我想选择一个特定的跨度,并将其指定为真正的中心,而不是该中心是跨度序列的中点。
我必须模拟这种效果的一个想法是:我需要我想要的中间元素,它的左右有两个容器;左边的将是右对齐的,反之亦然。这些容器将保存 div 中的其他内容。如果我可以让这两个容器以相等的量填充剩余空间,这将产生居中中间元素的效果,同时保持左右内容与中心对齐。基本上,这需要将两个容器的宽度设置为 div 中剩余空间的一半。 (我不想改变中间 div 的大小。)这可能与 CSS 相关吗?
例子:有 4 个跨度,我如何将跨度 2 指定为真正的中心?
div {
width: 500px;
padding: 4px;
border: 1px dotted black;
}
span {
display: inline-block;
width: 100px;
text-align: center;
margin: 4px;
box-sizing: border-box;
border: 1px dotted black;
}
#b {
/* ??? */
}
<div>
<span id="a">1</span>
<span id="b">2</span>
<span id="c">3</span>
<span id="d">4</span>
</div>
【问题讨论】:
-
中间元素居中的奇数(例如 3)个元素有很多答案,但我有兴趣看到偶数个元素(例如 4)的优雅解决方案,其中第二个居中。