这是前一个问题Anchoring CSS Repeating Background Image的后续内容,但与另外一个问题完全不同。
jsFiddle http://jsfiddle.net/By2xj/演示了这个概念。我有一个横幅图像(中心),然后需要在左侧和右侧重复图像,这将根据浏览器窗口的宽度显示和重复。附带条件是左右图像必须锁定在中央横幅图像的边缘。如果展开jsFiddle结果窗口,则可以看到此效果 - 左右重复图像始终锁定在中央横幅图像的一侧,并从该点展开。
所有这一切都有效,但是我使用了一个表来实现这种效果,因为之前的Stack Overflow问题中建议的CSS并不完全有效,并且有点依赖于浏览器,特别是不能使用旧浏览器。< / p>
使用这个基于表格的解决方案,我希望始终保持中心横幅图像居中,即使浏览器宽度小于横幅。如果缩小jsFiddle结果窗口的大小,您将看到当浏览器宽度小于横幅时,横幅标记为左对齐而不是居中。
所以我的问题是,即使浏览器宽度小于横幅宽度(并且包含表格单元格),我如何始终保持中心横幅中心对齐(或者更准确地说,整个表格中心对齐)? / p>
答案 0 :(得分:5)
有点作弊但是,我希望你在寻找什么。
发生的事情是,我正在中间单元格中创建一个div,然后将其置于绝对位置,然后将其置于屏幕中心。无论浏览器窗口的大小如何,div都将始终保持居中。
记录:
<table id="banner-table">
<td id="left-image"></td>
<td id="center-image"><div></div></td>
<td id="right-image"></td>
</table>
的CSS:
#banner-table {
width: 100%;
height: 200px;
padding: 0;
margin: 0;
border-collapse: collapse;
table-layout: fixed;
}
#left-image {
background-image: url(http://www.dummyimage.com/100x200/ff0303/ffffff.png&text=Left);
background-position: right;
background-repeat: repeat-x;
}
#center-image {
width:400px;
}
#center-image div {
top:0; left:50%;
margin-left:-200px;
width:400px;
height:200px;
position:absolute;
background-image: url(http://www.dummyimage.com/400x200/0021fa/ffffff.png&text=Center);
background-position: center;
background-repeat: no-repeat;
}
#right-image {
background-image: url(http://www.dummyimage.com/100x200/1f9900/ffffff.png&text=Right);
background-position: center center;
background-repeat: repeat-x;}
答案 1 :(得分:1)
你可以放弃桌子并使用类似的东西:
答案 2 :(得分:0)
您需要像以下一样编辑HTML代码:
<table id="banner-table">
<td id="left-image"></td>
<td id="center-image"><div></div></td>
<td id="right-image"></td>
</table>
首先,您可以在没有任何CSS文件的情况下实现此功能。然后您可以根据需要自定义代码。