2010-02-22 38 views

回答

6

分析​​:

的 「頭」 實際上包含的的div:wrapperHeaderwrapperNav。這兩個有不同的背景顏色。 這些div都是獨生子女每個帶有CSS屬性

margin: 0 auto 

這導致在水平居中。

此屬性也被分配給內容div,因此標題,導航和內容始終居中。當然這需要爲這些元素設置一些寬度。

的結構是這樣的:

<div id="wrapperHeader"> 
    <div class="" id="header"> 
      <!-- mnore stuff here, like logo --> 
    </div> <!-- end header --> 
</div> 
<div id="wrapperNav"> 
    <ul id="navMain"> 
     <li class="discover first"><a href="/discover/toprated/">Discover</a></li> 
     <li class="favorites"><a href="/favorites/">Favorites</a></li> 
     <li class="stumblers"><a href="/stumblers/onlinenow/">Stumblers</a></li> 
    </ul> <!-- end navMain --> 
</div> 
<div id="wrapperContent"> 
    <div class="clearfix" id="content"> 
    </div> <!-- end content --> 
</div> 

如果你Firebug爲Firefox,你可以很容易地分析自己的元素。

+0

這是一個很好的答案。但是,這裏有一個可能會吸引一些人的問題 - 這肯定會讓我感動!我的一位同事正在進行一些調試,並需要確定在我們的Web應用程序的各個部分中使用了哪種佈局。解決這個問題的簡單方法是在DOCTYPE聲明之前在模板文件的頂部放置註釋。 您猜對了:該網站在Firefox中完美呈現,IE中唯一明顯的區別是頂部橫條並不完全貫穿整個頁面。修正是爲了確保DOCTYPE之前沒有任何東西。 – JamesG 2011-11-09 05:35:38

7

background-image設置爲body財產background-repeat

background-repeat: repeat-x; 

更多:http://www.w3schools.com/css/pr_background-repeat.asp

編輯:至於你的中心內容 - 做這種方式:

<body> 
<div id="wrapper"> 
    <!-- here is wrapper *everything* else --> 
</div> 
</body> 

,然後將包裝的width設置爲值(主要爲960px)。然後,當您將其餘量設置爲0 auto時,它將自行定位。

#wrapper{ 
    margin: 0 auto; 
} 
1

您可以使用背景圖像1px寬度並設置水平背景重複。

background-image:url('paper.gif'); 
background-repeat:repeat-x; 

然後調整你的內容,你喜歡哪種方式。

1

這只是一個固定寬度的佈局,但具有自動的左右邊距。如果頁面大小比內容寬度更寬,則會影響整個內容塊。

僅將背景設置爲重複圖像(repeat-x),使其看起來像菜單元素實際上延伸了頁面的整個寬度。

0

我想你說的是100%/ 80%的寬度差....

這應該幫助您開始:

<div id="header" style="width:100%; margin: 0px;"> 
    <!-- header content --> 
</div> 
<div id="content" style="display: block; width: 80%; margin: 0px auto"> 
    <!-- content --> 
</div> 

保證金:在內容自動使以塊爲中心。

立克亞當說,添加背景重複給它的圖形賞心悅目的元素。

4

添加背景圖片有2個缺點:

  1. 你想改變你的頭,你必須打開你的Photoshop和改色那裏,然後在你的CSS再次改變它的顏色每次。

  2. 現在,您希望標題的背景顏色在整個頁面上展開,但是如果您希望使用頁腳來完成該操作,該怎麼辦?

最簡單的方法是這樣的一個:

(你不僅創建一個簡單的方法來伸展整個頁面的顏色,能夠在所有頭內容和頁腳使用不同的顏色,也它從IE瀏覽器(當您使用相同的元素寬度和利潤)的雙緣問題可以節省自己

的index.html:

<html> 
    <body id="body"> 
    <div id="header"> 
     <div class="container"> 
      <!-- header's content here --> 
     </div><!-- .container --> 
    </div><!-- #header --> 
    <div id="content"> 
     <div class="container"> 
      <!-- main content here --> 
    <div id="footer"> 
     <div class="container"> 
      <!-- footer's content here --> 
     </div><!-- .container --> 
    </div><!-- #footer --> 
    </body> 
    </html> 

的style.css:

.container { 
    margin: 0 auto; 
    overflow: hidden; 
    padding: 0 15px; 
    width: 960px; 
} 

#header { 
    background: #EEE; 
} 

#content { 
    background-color: #F9F9F9; 
} 

#footer { 
    background-color: #333; 
    color: #BBB; 
    clear: both; 
} 

在這個例子中,div.container中心的元素,也讓他們有一個寬度和背景顏色可以跨頁伸展,因爲#header, #content#footer沒有寬度。並且在將來只需在.container內部應用邊距和填充,就可以在將來節省很多與IE相關的問題。

+0

偉大的答案 - 非常簡單,簡潔等... +1 – nicorellius 2014-04-18 20:22:10

0

對於CSS 2,無法拉伸背景圖像。沒有設置背景圖像尺寸的屬性。您可以在X,Y或兩個軸上重複。

CSS 3將允許伸展。

2

我不同意,有一個簡單的方法來做到這一點。兼容谷歌瀏覽器和Firefox,IE未經測試。

在你的CSS文件:

body{ 
    overflow-x:hidden; 
} 

div#headerbg{ 
    width:110%; 
    margin-left:-20px; 
    background-color:black; 
} 

,現在只是用它在你的HTML文件。你可以添加定位和什麼不是這個。

+0

+1,只是想指出,如果您的任何內容將比視口更寬,則缺少水平滾動可能會成爲問題。 – ametren 2012-06-26 15:03:11

0

很簡單,沒有一大堆喧鬧。

將它粘貼在body和div容器之間 - 你可以在其中有任何你想要的東西,但是在我的頁面上它是這樣的:(我試圖讓它包裝,不去,只是複製和粘貼)

<body> 

<div id="bv_ImageMap1" style="margin:0;padding:0;position:absolute;left:0px; top:187px;width:100%;height:5px;text-align:left;z-index:0;"> <img src="files/IMG_2.jpg" id="ImageMap1" alt="" usemap="#ImageMapImageMap0" border="0" style="width:100%; height:5px;"> 

<map name="ImageMapImageMap0"> 
</map> 
</div> 

<div container> 

然後改變你需要頂部的信息:PX高度: _px IMG SRC =「yourfile/yourimg.jpg和重要的別忘了未來高度:_ _px

任何地方都不需要任何東西。試試吧。