2012-09-04 13 views

回答

1

沒有任何額外的標記到中心的元素的訣竅,就是用translate

div { 
    position: absolute; 
    top: 50%; 
    left: 50%; 
    transform: translateX(-50%) translateY(-50%); 
} 

這裏的小提琴:http://jsfiddle.net/QE8KV/


附:不要忘記供應商前綴。

0

Joseph Silber的答案是,如果窗口比內容小,內容就會被切掉。

這時你可以用一招浮動:http://jsfiddle.net/QE8KV/2/

HTML:

<div id="top"></div> 
<div id="center">Text</div> 

CSS:

html,body{ 
    height:100%; 
    width:100%; 
    margin:0; 
    padding:0; 
} 
#top { 
    float: left; 
    height: 50%; 
    margin-top: -150px; 
    width: 100%; 
} 
#center{ 
    background: #2D285E; 
    box-shadow: 1px 1px 4px #231E5C; 
    color:white; 

    width: 300px; 
    height: 300px; 
    margin:0 auto; 
    clear:both; 
} 
+0

我試着玩這個的時候,我只是無法得到它做我想做的事。我希望中央圖像/文本始終擴展到80%的頁面寬度或高度(使用最小值和最大值),但它保持了寬度:高度比率,這是否會實現這一目標? – Supertod

+0

@Supertod不,不會保持寬高比。但如果你想要的話,你可以閱讀http://stackoverflow.com/questions/12170261/how-to-auto-resize-a-div-with-css-while-keeping-aspect-ratio – Oriol