2013-07-10 33 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