【发布时间】:2012-03-11 04:34:13
【问题描述】:
在有人问我为什么要这样做之前,让我直截了当地告诉你。这样,你们中的一个聪明的偷窥者可以告诉我一个更好的方法......
我正在为应该伸展以填满页面的绘画制作查看器,准确地说是屏幕高度的 90%。我想将一幅画淡入另一幅画,并希望将它们中的每一个都放在屏幕中间。
为了让这些画相互淡入淡出,我需要将它们定位为“绝对”以阻止它们堆叠。麻烦就在这里。自从我将它们设置为绝对值后,我用来使包含 div 居中的每种方法都不起作用。
部分问题是我没有为画作设置任何宽度,因为我希望它们动态调整自己的大小以填充用户屏幕的 90%。
我已经找到了数百种将绝对内容居中的方法,并且相信我可能需要收缩包装包含的 div。不过我目前还没有取得任何成功。
HTML-
<div id="viewer_div">
<img src="" id="first" />
<img id="second" class="hidden"/>
</div>
样式表
#viewer_div {
width:1264px;
}
img {
height:90%;
display:block;
margin-left: auto;
margin-right:auto;
}
上面给了我想要的效果,但不允许我定位图像绝对。谁能建议一种使图像居中的方法,但也可以让我淡出另一个?
【问题讨论】:
-
嗯,这是一场考验。我相信你知道如何用固定宽度和绝对定位来做到这一点,对吧?
-
经过一番折腾,我可以保证你不能用纯 CSS 和 (x)HTML 做到这一点。你需要Javascript。不幸的是,因为这纯粹是关于显示的,这就是 CSS 的用途……如果你愿意,你可以分叉我的小提琴 jsfiddle.net/dekket/58BjM。据我所知,所以真的无处可去:/
-
感谢您的意见。 Greg 在下面展示了一种更简洁的方法来解决我的问题。
-
@AntonIskandiarov 如果你有一个基于百分比的宽度,例如
width: 90%;。这是用于未知/自动宽度,例如width: auto;,不幸的是,除非将宽度设置为某个值(包括百分比),否则链接的答案会将其视为width: 100%。您当然可以使用该技巧添加带有width: 100%;的包装器div,然后以通常的方式将此内容居中放置...
标签: css css-position centering