不需要使用Javascript,這可以在CSS中完成。
所需的HTML:(你必須將DIV變爲明顯的IMG)
<div id="container">
<div id="imgwrapper">
<div id="img">Change this div-tag to an img-tag</div>
</div>
</div>
所需的CSS:
#container
{
position: absolute;
left: 200px;
top: 100px;
height: auto;
overflow: visible;
border: 2px dashed green;
}
#imgwrapper
{
position: relative;
margin-left: -50%;
margin-top: -50%;
padding-top: 25%;
border: 2px dashed blue;
}
#img
{
display: block;
width: 200px;
height: 100px;
border: 2px solid red;
}
Click here for a jsFiddle link
的margin-left: 50%;
顯然使用容器時工作div,因爲容器的寬度將與內容的寬度完全相同。 (您可能需要添加width: auto;
) 但margin-top: -50%;
不會起作用,因爲容器div的高度將隨之改變,因此,你需要但在您使用本margin-top: -50%;
,然後你需要修復這個錯誤也使得另一包裝DIV使用基於正百分比的填充。顯然可能有其他解決方案來解決這個問題,但解決方案應該是這樣的。
這是不是要求太多的div的寬度聲明? – asprin