2012-01-16 60 views
0

我不是在CSS非常好,我試圖找出如何做一個網站,下面我需要適應:CSS佈局與填充的內容(高度)

container_div(直屬機構) 100%高度(身體也是100%高度),頭部高度爲170px,然後content div(應該從底部頭部向下延伸至),footer div,版權聲明爲50px高度。

在內容上應該有一個左右DIV(兩者位置:親屬;浮動:左/右)

幾乎一樣的東西:yet another HTML/CSS layout challenge - full height sidebar with sticky footer

但隨後的內容應該是溢出:隱藏(我使用自定義滾動條腳本)

我無法弄清楚的部分是如何讓content div(在頁眉和頁腳div之間)由剩餘的hight組成。

我試過把容器的背景加到100%的高度,但是因爲我的頁眉和頁腳是透明的,所以你可以通過它們看到內容的背景,這很醜陋。

有人可以給我一個正確的方向與標準模板微移?我可以自己找出其餘的。

只爲內容的div的CSS代碼就可以了是(與有關的CSS的其他一些解釋)

編輯:

只是讓我們有一些工作(這是比較容易回答我的問題)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 

<HTML xmlns="http://www.w3.org/1999/xhtml"> 
<HEAD> 
<META http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<TITLE>stretchy footer</TITLE> 
<LINK rel="stylesheet" type="text/css" href="index.css" /> 
</HEAD> 

<BODY> 
<DIV id="container"> 

    <DIV id="header"> 
     <IMG src="./image/header2.png"> 
    </DIV> 


    <DIV id="left"> 
     <DIV id="content"> 
      This is the div which needs to be stretched between header and footer. 
     </DIV> 
    test<BR> 
    test<BR> 
    test<BR> 
    test<BR> 
    test<BR> 


    </DIV> 

    <DIV id="right"> 
    t 
    </DIV> 

</DIV> 
</BODY> 
</HTML> 

CSS樣式:

/*   <GENERAL>   */ 
    /* cross-browser reset stylesheet */ 
    * { margin: 0; padding: 0; border-style: none;} 

    *:hover, *:active, *:focus { 
     outline: 0; 
    } 

    html { 
     filter: expression(document.execCommand("BackgroundImageCache", false, true)); 
     line-height: 1; 

     -moz-user-select: none; 
     -moz-user-select: -moz-none; 
     -webkit-user-select: none; 
     -khtml-user-select: none; 
     user-select: none; 
     -webkit-min-device-pixel-ratio:0; 
     height: 100%;} 
    body {height: 100%;} /* safe crossbrowser font */ 
    a {text-decoration: none; outline: none;} 
    a:active { 
     border: none; 
     outline: none;} 
    .imagewrapper img { 
     display: inline-block; 
     width:100%; 
     -ms-interpolation-mode:bicubic; 
     image-rendering:-webkit-optimize-contrast; 
     image-rendering:-moz-crisp-edges; 
     image-rendering: optimizeQuality; 
     zoom:1; *display: inline;} 
/*   </GENERAL>   */ 


.clear { 
    clear: both; /* deze class gaan we gebruiken om de twee floats #left en #right te clearen. */ 
} 

#container { 
    height: 100%; 
    width: 1018px; 
    margin: 0em auto -10em auto; 

    position: relative;} 



#left { 
    display: inline-block; 
    float: left; 
    height: 100%; 
    width: 950px; 
    padding: 0em 2em 0em 1em; 
    border: 1px solid brown; 
    background: url(./image/main.png); 
} 
#left p { 
text-align: justify;} 


#right { 
    float: right; 
    width: 14px; 
    border: 1px solid red; 
} 
+0

你想讓頁眉和頁腳在任何時候都可見嗎? – 2012-01-16 13:21:41

回答

0

有幾種方法可以使用CSS來幫助您佈置Div的。你在考慮浮動的情況下在右側頁面:左/右和位置:相對。我想完全回答你的問題,我需要知道以下幾點:

你給最低高度的部門或你只是想擴大到內容的大小?

如果你使用你的外部div作爲主要空間的持有者,然後用內部div來填充它們:「position:relative;」和「float:left/right」(無論你需要什麼),那麼你的頁面主體將擴展到所添加內容的大小。如果你有一個最大高度並添加一些滾動條功能,我們需要知道該滾動條工具是否有自己的高度設置(是它自己的div/panel?)。

還有一點需要補充的是,當使用float的時候,你需要包含一個明確的div:作爲樣式。這種方式可以正確地破解。在任何想要創建中斷的元素之後使用此方法。請務必同時檢查IE和Firefox,因爲它們的行爲不同......忘記元素會使頁面看起來很有趣。CSS的 「清」 級是在這裏:

.clear 
{ 
    clear:both; 
} 

我使用這些鏈接時,首先搞清楚這個東西出來:

CSS的位置:http://www.barelyfitz.com/screencast/html-training/css/positioning/

CSS身高:http://v1.reinspire.net/blog/2005/10/11/css_vertical_stretch/

只是要意識到IE和其他瀏覽器不同。所有瀏覽器都不完全支持height =「auto」等屬性,因此您需要考慮這一點。最後,如果你想讓東西伸展,你可能需要玩弄寬度屬性(例如height = 99%)。一般來說,我只是讓頁面的主要內容部分的高度由內容決定。我把所有的「body」部分(不是html body,但是主要內容和任何列)包含在一個相對位置的div中,如果我有一個左邊或右邊的列,其元素少於主要部分,到高度=繼承...或高度= 100/99%應該工作,但你需要基於你在做什麼來獲得瀏覽器中立渲染可能與你的元素中的風格有關正在增加。

+0

嗨,Qubits感謝您抽出時間幫助我。我不想給內容div設置一個高度,也不會將其縮放到內容。我想在頁眉(170像素高度)和頁腳(50像素高度)之間拉伸。我使用max-height時遇到的問題是,我的頁面也以非標準分辨率(屏幕傾斜90度,製作768x1024)進行查看。這就是爲什麼我想讓我的內容div在頁眉和頁腳之間伸展。 滾動條工具也不使用設定的高度,它可以使用正確的div,並將其作爲子對象調整爲高度。 – 2012-01-16 12:14:03

+0

我使用我自己的重置腳本來實現crossbrowser兼容性。我正在尋找的是一種簡單的方法,讓頁眉和頁腳之間的#content div伸展,但沒有發現任何簡單的東西。我已經在分配不同的CSS設置和佈局,但似乎沒有爲我想在這裏做的工作。 – 2012-01-16 12:17:23

+0

這就是爲什麼我要求微調。我沒有跨瀏覽器的斷線問題,所以我不需要清楚:兩者;設置。我會研究這些鏈接,看看是否讓我得到了一個地方,在此先感謝! – 2012-01-16 12:18:35