放弃那些“CSS-table”的东西并让它更容易一些怎么样?
<div style="width:auto;height:auto;margin:25%;text-align:center;vertical-align:middle">
<img src="URL">
</div>
至少,我会这样处理它……
编辑:
请注意,我已将 CSS 内联以向您展示什么元素应该获得什么样式。在生产中,您应该——作为对这个答案的正确说明——始终将样式与代码分开。所以,实际上,你最终会得到这样的结果:
<style>
.centerimg {
width:auto;
height:auto;
margin:25%;
text-align:center;
vertical-align:middle
}
</style>
...
<div class="centerimg">
<img src="#">
</div>
编辑2:
回复相关评论,这是使图像按比例适合其父级的更新:
如果您的图像的宽度大于高度...
<style>
...
img{
max-width:100%;
height:auto
}
</style>
或者,如果您的图像宽度小于高度...
<style>
...
img{
max-height:100%;
width:auto
}
</style>
编辑 3:
看着你的小提琴,我想出了这个,就像你希望它工作一样:
<style>
*{
width:100%;
height:100%;
margin:0;
text-align:center;
vertical-align:middle
}
img{
width:auto;
height:100%;
}
</style>
我已经分叉了你的小提琴来显示更新:http: //jsfiddle.net/LPrkb/1/
编辑 3:
由于 OP 似乎无法决定他需要什么,因此由于他的最新评论,我将添加此最终编辑。
您还可以在“mainContainer”上使用带有“background-size:contain”的 CSS 背景图像并完成它...检查http://jsfiddle.net/HGpfJ/2/或查看这 100% 工作示例采用完全不同的方法,产生相同的效果/功能:
<!DOCTYPE HTML>
<html itemscope="itemscope" itemtype="http://schema.org/WebPage">
<head>
<title>Example</title>
<style>
html,body{width:100%;height:100%;margin:0;padding:0}
#centerimg{
width:100%;
height:100%;
background:transparent url(http://oi42.tinypic.com/v9g8i.jpg) no-repeat scroll center;
background-size:contain;
}
</style>
<body>
<div id="centerimg"></div>
</body>
</html>
让我们面对事实:根据文档结构中您希望图像“居中”的位置,有十几种方法可以做到这一点。
如果 OP 需要特定代码,我们将需要来自 OP 的完整文档结构,而不是简单的“通用”代码片段,它可以位于任何文档结构的任何位置。