我有一個div在頁面中垂直和水平居中。但是當這個div id大於屏幕不能被居中並被剪切時。所以我試圖檢測div是否大於文檔更改爲margin 0 auto。但我不知道該怎麼做。是否有可能刪除ID屬性,並給它類「onTop」屬性?更改一個類的ID
我在這裏玩:http://jsfiddle.net/c9unU/
的jQuery:
$(function(){
var documentHeight = $(document).height();
var contenttHeight = $("#content").height();
if(documentHeight < contenttHeight){
/* give it the class onTop */
}else{
/* give it the id content */
}
})
HTML:
<div id="background">
<div id="content"> some text inside</div>
</div>
CSS:
body {margin: 0;padding: 0;color:#fff; font-size:40px;}
#background {
position: absolute;
width:100%;
height:100%;
border: 0px;
background-color:blue;
}
.onTop {
position: relative;
top: 0;
left: 0;
margin: 0 auto;
background-color:green;
width:300px;
height:600px;
border:0px;
}
#content {
position:absolute;
top:50%;
left:50%;
margin-top:-300px;
margin-left:-150px;
background-color: red;
width:300px;
height:600px;
border:0px;
}
爲什麼不簡單使用'max-width:300px'? –
你嘗試使用'margin:0 auto'而不是這個黑客? –
如果頁面大於id,則id必須水平和垂直居中。保證金0自動如果ID小於頁面 – Nrc