2013-07-10 38 views
0

HTML:兩欄佈局,內容第一

<div id="main"> 
    <div id="sidebar"></div>  
    <div id="content"></div>   
</div> 

CSS:

#content { 
    background: blue; 
    height: 900px; 
} 

#sidebar { 
    float: left; 
    width: 200px; 
    height: 900px; 
    background: red 
} 

的jsfiddle:http://jsfiddle.net/aFrPc/

雖然這個作品,我想有#content第一上市(而不是#sidebar)。 Div#內容必須填滿所有剩餘空間。最終通緝的結果的

圖片:

+2

所以,你說你要'在右側,而左側content'? – taylorc93

+1

只需將'float:left;'更改爲'float:right;'如果您想在右邊輸入內容 – 1andsock

+1

您的意思是「首先列出」是什麼意思?如果你的意思是你想''content'在左邊,你只需要'#content''float:left'而不是'#sidebar'。或者,也許我不理解你的問題(工作日幾乎結束,我的大腦不是100%;)) – David

回答

2

更新。如果他想要的sidenav文本之前的文字內容。 Fiddle

<div id="main"> 
    <div id="content"> 
     <div style="padding-left:200px"> 
     Context 
     </div> 
    </div>   
    <div id="sidebar">sidebar</div>  
</div><!--#main--> 

#content { 
    background: blue; 
    height: 900px; 
    width:100%; 
    margin-left:-200px; 
    float:right; 
    color:#fff; 
} 

#sidebar { 
    float: left; 
    width: 200px; 
    height: 900px; 
    background: red; 
} 
+0

這不起作用,因爲#內容div應該是剩餘空間的100% – RhymeGuy

+0

答案已更新,以解決剩餘空間問題,使用200px左側邊欄 – tmcc

2

試試這個。 #內容列在第一位,並且爲200px側邊欄之後佔據了剩餘空間的100%:

body{ 
    overflow-x:hidden; 
} 
#content { 
    background: blue; 
    height: 900px; 
    position:absolute; 
    width:100%; 
    left:200px; 
} 

#sidebar { 
    float: left; 
    width: 200px; 
    height: 900px; 
    background: red 
} 

的jsfiddle:http://jsfiddle.net/VkQ6U/

+0

Div#內容必須出現在右側:) – RhymeGuy

+0

@RhymeGuy,抱歉誤會了這個問題。我更新了我的答案。 – 1andsock