2009-10-20 87 views
3

我有一个div和div内的图像。图像大小会有所不同。完全居中图像?

我希望它水平和垂直居中。 Css垂直对齐似乎不起作用。

任何诡计?我可以使用PHP,CSS或jQuery的

回答

1

我不知道你如何使用它,所以可能我的解决方案不适合。

当你实现了图像的格内的“背景图片”,你可以轻松地与“背景位置”居中:

#div { 
background-image: url(./image.png); 
background-position: center center; 
} 
+0

这是一个好主意。我需要图像链接到某些东西,但我可能能够脱离透明跨度并使用此建议。将回报:) – wesbos 2009-10-21 15:24:05

2

你可以得到它通过使用

margin: 0 auto; 

垂直居中水平对齐是不容易与CSS(至少在IE6/7)。用表格做它相对容易。

你说你有jQuery可用。您可以通过使用JavaScript来将任何浏览器装备起来。但是,当然如果没有启用/支持JS,您的页面将无法正确显示。

CSS的vertical-align属性只是为了与display: table-cell(其本身应该是在一些与display: table)的东西内使用。

如果你有

<div id="container"><img src="my-image.png" alt="" /></div> 

您可以使用jQuery(由plexus如建议)居中这样

var imageSrc = $('#container img').attr('src'); 

$('#container').css({ backgroundImage: 'url(' + imageSrc + ')', backgroundPosition: 'center enter' }); 
+0

那么它的一个jQuery密集的部位,所以我不介意当javascript关闭时看起来有点关闭。 – wesbos 2009-10-20 16:00:20