2011-08-28 97 views
1

我有一個標題和菜單欄,我已經修復留在頁面的頂部,所以當有人在頁面上滾動或菜單和標題在手邊。問題與固定菜單

我的問題是關於頁面的內容/正文。我嘗試過使用絕對定位從頂部向下150像素(菜單和標題爲125像素),並且我希望頁面頂部的兩個像素之間的距離爲25像素。

但是,它位於頁面的左側,但我希望它以流暢的方式居中。

我也試着給出一個150px的頂部邊距,但是由於某種原因沒有工作。

我怎樣才能水平居中它,但垂直頂部至少有150px?

這是一些代碼。

如果您需要更直觀的東西,您可以在我的測試網站http://sunnahmatch.com上看看現在發生了什麼。

編輯我有垂直間距向下。現在,如果我能弄清楚如何居中呢? :/

<style type="text/css"> 
body{ 
    margin:0; 
    background-color:#333; 
    } 
#body_container{ 
    position:absolute; 
    top:150px; 
    padding:15px; 
    margin:0 auto; 
    width:70%; 
    } 
#left_container{ 
    float: left; 
    width: 63%; 
    padding:5px; 
    margin-right:15px; 
    background-color:#069; 
    -moz-border-radius-topleft: 15px 15px; 
    -moz-border-radius-bottomright: 15px 15px; 
    border-top-left-radius: 15px 15px; 
    border-bottom-right-radius: 15px 15px; 
    } 
#right_container{ 
    float:left; 
    width: 31%; 
    padding:5px; 
    background-color:#069; 
    -moz-border-radius-topleft: 15px 15px; 
    -moz-border-radius-bottomright: 15px 15px; 
    border-top-left-radius: 15px 15px; 
    border-bottom-right-radius: 15px 15px; 
    } 
.column_left_tmpl{ 
    background-color:#FFF; 
    padding:10px; 
    -moz-border-radius-topleft: 10px 10px; 
    -moz-border-radius-bottomright: 10px 10px; 
    border-top-left-radius: 10px 10px; 
    border-bottom-right-radius: 10px 10px; 
    font-family: GeosansLight; 
    font-size: 16px; 
    } 
.column_right_tmpl{ 
    background-color:#FFF; 
    padding:8px; 
    -moz-border-radius-topleft: 10px 10px; 
    -moz-border-radius-bottomright: 10px 10px; 
    border-top-left-radius: 10px 10px; 
    border-bottom-right-radius: 10px 10px; 
    font-family: GeosansLight; 
    font-size: 16px;#59C169 
    } 
.title { 
    width:100% auto; 
    padding-top:5px; 
    margin-bottom:5px; 
    -moz-border-radius-topleft: 5px 5px; 
    -moz-border-radius-bottomright: 5px 5px; 
    border-top-left-radius: 5px 5px; 
    border-bottom-right-radius: 5px 5px; 
    font-family: Arial, Gadget, sans-serif; 
    font-size:22px; 
    color:#333; 
    font-weight: bold; 
    } 
.spacer{ 
    height:5px; 
    } 
#menu_container{ 
    margin:0; 
    position:fixed; 
    top:0; 
    left:0;}  
</style> 

<body> 
<div id="menu_container"> 
<?php include_once "pages/header.php" ?> 
</div> 
<div id="body_container"> 
    <div id="left_container"> 
     <div class="column_left_tmpl"> 
     <div class="title">Title</div> 
     &quot;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&quot; 
     </div> 
     <div class="spacer"> 
     </div> 
    <div class="column_left_tmpl">&quot;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&quot; 
    </div> 
    </div> 
    <div id="right_container"> 
     <div class="column_right_tmpl"> 
     <div class="title">Title</div> 
     &quot;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&quot; 
     </div> 
    </div> 
</div> 
<div> 
<?php include_once "pages/footer.php" ?> 
</div> 

回答

1

沒有什麼不對您的CSS,您的文檔只是缺少一個DOCTYPE。將 <!DOCTYPE html>添加到文檔的頂部。或者用於XHTML 1.1的 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

另外一個建議是,包裹整個事情的html標籤爲好,並把style標籤的head標籤內

那麼你會像這樣結束:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<style type="text/css"> 
/* more stuff here */ 
<div> 
</div> 
</body> 
</html> 

您在head標記之外有一個style元素。首先把它放在頭標籤裏面。然後更改爲body_container的CSS:刪除position:absolute並將邊距更改爲margin: 150px auto 0 auto;

#body_container{ 
/* position:absolute; */ /* removed */ 
top:150px; 
padding:15px; 
/*margin:0 auto;*/ 
margin: 150px auto 0 auto; /* changed */ 
width:70%; 
} 
+0

不,我有完整的文檔類型,HTML,身體等標籤,我只是沒有包括他們,因爲我認爲它會重複和假設,:/ – Nathan

+0

同意,但有趣的方面是,如果你打開你的網站在Opera或FF中,然後選擇「查看源代碼」它不會顯示它們。我認爲這可能與正文中的'style'標記有關。請參閱我的更新。 (在IE的「查看源代碼」中,你可以看到你的文檔類型和html等) – Bazzz

+0

該修復工作的大部分,除了我有一個150px的邊緣整個事情,我只是希望它在頂部雖然。 – Nathan

1

你可以嘗試一個特定的寬度設置爲您DIV並設置利潤率左保證金右自動。這會自動以div爲中心。

請試試看本教程,它正在查看同樣的問題。 Centering a DIV

+0

這將不能用流體股利?我的內容寬度爲70%,如果可能,我個人喜歡保留它 – Nathan

+0

Bazzz在他的回答中使用的差不多:* margin:150px auto 0 auto; *
這意味着* margin-top:150px;保證金右:自動;邊距:0; margin-left:auto; *所以是的,它會工作:) – GEMI

+0

哦真棒,我明白了,它順時針,右上角左下角,這是很好的知道! – Nathan

0

....和<html><head><title>

想過使用驗證服務?

+0

我使用w3c驗證,顯然我應該在完成頁面之前使用它。 – Nathan