好的,这就是我要做的事情:
我设法:
img
(将div
放入另一个text-align:center;
)剩下的内容:
你会怎么做? (任何可能的想法都是可以接受的.CSS / Javascript等等......)
答案 0 :(得分:2)
http://jsfiddle.net/teresko/5mG2y/
基本想法是使用display: table-cell;
然后使用vertical-align: middle;
HTML
<div class="container">
<div class="holder">
<img class="stuff" src="path/to/image.png">
</div>
</div>
CSS :
.container{
/* the container in which image is placed */
height: 300px;
margin: 0 auto;
width: 200px;
}
.holder{
display: table-cell;
width: 100%;
vertical-align: middle;
height: inherit;
}
.stuff{
display: block;
}
这样,图像的放置将不依赖于容器的尺寸。它也可以调整到水平中心。您所要做的就是添加.stuff{ margin: 0 auto;}
。
答案 1 :(得分:1)
不要忘记表格单元格不正确。您不希望将图像作为表格单元格进行处理,因为表格单元格应仅包含表格数据。 只是提出警告标志。坚持语义。
最好使用其他线程的答案。 这样:
#container { position: relative; }
#container img {
position: absolute;
left: 50%;
top: 50%;
margin-top: /* -1/2 the height of the image */
margin-left: /* -1/2 the width of the image */
}
祝你好运!
答案 2 :(得分:1)
使用jQuery
//HTML
<div><img src="loader.gif" class="loader" alt="Loader" /></div>
//JS
$.fn.centeringIn = function(){
var pere = this.parent();
(pere.css("position") == 'static') ? pere.css("position","relative"):pere.css("position");
this.css({
'position' : 'absolute',
'top' : ( pere.height() - this.height() )/2+'px',
'left' : ( pere.width() - this.width() )/2+'px'
});
}
$(document).ready( function() {
$('.loader').centeringIn();
});
答案 3 :(得分:0)
在图像样式中添加一些margin-top,使其在div的中间对齐。假设您的div高度为50px,而您的图像高度为5px。然后让你的保证金最高20px把它放在中间。