我再一次看到了我最喜欢的HTML / CSS难题,并且整个都在撕裂我的头发。所以这次我认为我把我的难题放在了SO的专家身上。这就是......
想象一下,您想在浏览器中展示幻灯片。规范很简单:
(4)的一个含义是视口永远不会需要滚动条。
基本上,我希望实现{margin:auto auto;在我的幻灯片上。我最接近HTML / CSS来说明我的目标是:
<style>
html, body {
margin: 0;
overflow: hidden;
padding: 0;
height: 100%;
width: 100%;
}
#f0 {
bottom: 2em;
left: 2em;
position: absolute;
right: 2em;
top: 2em;
}
#d0 {
height: 100%;
}
#c0 {
height: 100%;
position: relative;
width: 50%;
}
#d1 {
height: 100%;
position: absolute;
right: 0;
}
#c1 {
height: 100%;
overflow: auto;
position: relative;
left: 50%;
}
#d2 {
background: yellow;
}
</style>
<body>
<div id="f0">
<div id="d0">
<div id="c0">
<div id="d1">
<div id="c1">
<table height="100%" cellpadding=0 cellspacing=0>
<tr><td id="td" align="Left">
<div id="d2">
Lorem ipsum...
Lorem ipsum...
Lorem ipsum...
Lorem ipsum...
Lorem ipsum...
Lorem ipsum...
Lorem ipsum...
Lorem ipsum...
Lorem ipsum...
Lorem ipsum... Lorem ipsum...
Lorem ipsum...
Lorem ipsum...
Lorem ipsum...
Lorem ipsum...
Lorem ipsum...
Lorem ipsum...
Lorem ipsum...
Lorem ipsum...
Lorem ipsum...
Lorem ipsum...
</div>
</td></tr>
</table>
</div>
</div>
</div>
</div>
</div>
</body>
您也可以在此处找到此代码:http://jsfiddle.net/qmEYU/9/
代码几乎使用了我所知道的每一个定位技巧。结果显示了一个居中的幻灯片,它将随着视口的变化而动态调整大小。如果视口在幻灯片上折叠,幻灯片将显示滚动条。
唉,这不是答案。看起来很可爱,问题就是军团:我在JS写了一个解决方案。如果W3C采用了IE的动态CSS概念,或者我能对#d2的突变做出反应,那么它的效果会相当好。由于这两种解决方案在浏览器中都不可用,我需要手动“生成”我的脚本 - 不太好。
我想我在这里发帖看看是否有人对如何在CSS中做到这一点有另一个想法?
感谢您的光临。
答案 0 :(得分:0)
您可以使用display:table;margin:0 auto;
横向居中,除非您需要IE的50%
解决方法。
你能不能成为一个小伙伴?
你已经用Google搜索了horizontally和vertically center的方法,我接受了吗?
编辑:这是您要找的? http://medero.org/centered-table.html
显然必须为IE修复。但我想知道这是否是你需要的。