我正在尝试创建一个CSS内联库。
HTML
<div id="wrapper">
<ul>
<li><img src="http://placehold.it/500x50" alt="" /></li>
<li><img src="http://placehold.it/500x50" alt="" /></li>
<li><img src="http://placehold.it/500x50" alt="" /></li>
<li><img src="http://placehold.it/500x50" alt="" /></li>
<li><img src="http://placehold.it/500x50" alt="" /></li>
</ul>
</div>
CSS
* {
margin: 0;
padding: 0;
}
img {
max-width: 100%;
border: 0;
-ms-interpolation-mode: bicubic;
width: auto\9;
height: auto;
}
html,
body {
width: 100%;
height: 100%;
}
#wrapper {
width: 100%;
background: grey;
text-align: center;
overflow: scroll;
}
ul {
display: table;
width: 100%;
height: 50px;
overflow: hidden;
}
li {
display: table-cell;
width: 100%;
}
我面临的问题是它不起作用(d'oh)。我们的想法是将#wrapper
设置为width: 100%;
,然后让图片在#wrapper
内的一行中水平对齐。要在图像之间导航,可以使用水平滚动条。
但正如您所看到的,没有滚动条出现,只是隐藏了溢出
在调试时,我发现img
元素上的以下规则导致了问题:max-width: 100%;
。如果删除它,则会出现滚动条,但图像不再居中。
由于它是一个自适应网站,我也不能简单地删除max-width: 100%;
。所以基本上,我被困住了,不知道该怎么办。我甚至不知道为什么max-width: 100%;
会弄乱滚动。
你能帮帮我吗?
编辑:所以在Safari 6.0.2。中,没有滚动条出现,但在Firefox 19.0.2中,一切似乎都很好。对我来说,事情变得陌生和陌生。
答案 0 :(得分:2)
问题不在于每个人的狩猎,这是一个有效的解决方案:
#wrapper {
width: 100%;
background: grey;
overflow: scroll;
}
ul {
display: table;
width: 2500px;
height: 50px;
table-layout: fixed;
}
li {
display: table-cell;
vertical-align: top;
}
img {
display: block;
}
您将列表的宽度设置为其父级的100%,它只占用视口大小,因为它自己的宽度也是100%。该列表必须具有一行中所有子项的宽度,例如5 * 500 = 2500
。虽然FF似乎只是将“表”调整为其内容(也许table-layout: fixed;
是一个重要的样式属性),safari将其大小保持在100%,不会导致滚动条,因为它与其父级一样宽。
更新:或者只使用display:table设置无宽度。 http://jsfiddle.net/6fjV9/4/