抱歉,如果标题有点混淆。基本上,我正在制作一个Tumblr主题,其中需要三个相邻的div包含在固定宽度的容器中。它们的内容都不是固定的,因此它们的宽度都是可变的。中间的div应始终居中于容器,而左右的div将始终“接触”中间的div,并随着中间div的宽度变化而移动(左右的div可能是图像,因此text-align并不总是有效)。另外,我还可能需要隐藏左侧、右侧或左右两个div之一或两个。
这里是一个概念性的图像:
我可以轻松地使用flexbox来实现这一点(JFiddle),但是flex仅具有86%的全球支持率。
这是我在不使用flexbox的情况下能够得到的最接近的结果,但我无法使中间的div(带有文本)居中于标题div,同时保留两侧图像的相对位置:JFiddle
* {
height: 100%;
position: relative;
}
body {
height: 200px;
}
/* just to get rid of scrollbar */
p {
margin: 0;
}
.title {
background: #aaa;
height: 22px;
width: 450px;
/* for example */
margin: 0 auto;
}
.container {
background: #abc;
float: left;
}
.lr {
transform: translate(0, -100%);
}
.left {
background: green;
float: left;
}
.left img {
transform: translate(-100%);
}
.center {
background: red;
display: inline-block;
z-index: 2;
}
.right {
background: blue;
float: right;
}
.right img {
transform: translate(100%);
}
.left img, .right img {
height: 100%;
}
<div class="title">
<div class="container">
<div class="center">CENTERCENTERCENTERCEN</div>
<div class="lr">
<div class="left">
<img src="http://i.imgur.com/7bvErJN.jpg" />
</div>
<div class="right">
<img src="http://i.imgur.com/q8Mq0YZ.jpg" />
</div>
</div>
</div>
</div>
其他人提到尝试将标题显示为表格,但这需要将中间单元格居中到整行,并且使左右单元格占据其余空间,而当宽度不固定时,我不确定是否可以做到。
有人知道其他解决方案吗?