2014-09-05 46 views
0

我忙於這個新的網站的事情,我遇到了一個問題。通常,在製作菜單時,我只會使用整個空間,如100% width100px height,但現在我只需要一部分,所以菜單旁邊會有一個空格。定位頁面,而身體{位置:絕對;}

我試圖讓廣場,攜帶菜單,頁面的絕對頂部,最明顯的解決方案:

position:absolute; 
top:0; 

但現在,廣場也被移動到頁面的絕對左邊,而是我想要它居中,但我無法到達那裏。這是我的一塊CSS:

body, html {  
    background-color: #ecf0f1; 
    position: absolute; 
    top: 0; 
    margin: 0 auto; 
} 

.navbox { 
    background-color: #000; 
    height:100px; 
    width: 700px; 
    margin: 0 auto; 
} 

有沒有人有解決方案?

+0

有,爲什麼你'body'和'html'被設定爲'位置一個很好的理由:absolute'? – LcSalazar 2014-09-05 14:31:12

+0

無論如何,無論如何都不需要將body和html完全定位。如果你希望'.navbox'在頂部居中但絕對定位,使用'.navbox {position:absolute;頂部:0;左:50%;保證金左:-350px; ...這裏的其他風格}'和實實在在地定位你的身體 – Pete 2014-09-05 14:31:25

回答

0
position:absolute; 
top:0; 
left:0; 
right:0; 

左右調整以適合您所需的邊距。

+0

愛你的傢伙!我會盡可能接受。 – 2014-09-05 14:31:38

+0

「左」和「右」屬性不應該一起使用。 'left'優先:http://stackoverflow.com/questions/21990908/css-why-left-rule-is-given-precedence-over-right-rule-when-there-s-a-width – LcSalazar 2014-09-05 14:37:55

-1

你可能會想設置你的左,右百分比,使用50%都將圍繞它:

#menu { 
    position:absolute; 
    top:0; 
    width: 70px; 
    height:180px; 
    left: 50%; 
    right: 50%; 
    background-color: red; 
} 

另外,如果你不使用絕對定位,你可以做同樣的與此保證金左和右邊距。

jsfiddle