Css 左div+;右div+;中心div=100%宽度。如何实现?

Css 左div+;右div+;中心div=100%宽度。如何实现?,css,xhtml,layout,html,Css,Xhtml,Layout,Html,我有三个部门和一个主要部门: <div id="container" style="width:100%;"> <div id="left" style="width:201px; float:left;"> .... </div> <div id="centre" style="float:left;"> .... </div> <div id="right"

我有三个部门和一个主要部门:

<div id="container" style="width:100%;">
    <div id="left" style="width:201px; float:left;">
     .... 
    </div>
    <div id="centre" style="float:left;">
     ....   
    </div>
    <div id="right" style="width:135px; float:right;">
     ....
    </div>
</div>

.... 
....   
....
如何使居中div最大宽度,以便
containerDivWidth=leftDivWidth+rightDivwidth+centreDivWidth

你不能混合相对宽度和固定宽度,这在我看来是CSS的一个缺点

您所能做的最好的事情是:

<div id="container" style="width:100%;"> 
    <div id="left" style="width:20%; float:left;"> 
     ....  
    </div> 
    <div id="centre" style="width:65%; float:left;"> 
     ....    
    </div> 
    <div id="right" style="width:15%; float:right;"> 
     .... 
    </div> 
</div> 

....  
....    
.... 

如果我错了,我会很高兴的。

我之前做的是,将
中心设置为左边缘为201px,右边缘为135px。将其设置为相对定位(而不是浮动),然后它将填充左右列之间的整个剩余空间

我似乎找不到我以前的代码示例,所以这是目前我能做的最好的。希望有帮助

这可能会有帮助:

(来源:)

我相信你想要实现的是“圣杯”布局

有一篇关于此布局的优秀文章,您应该查看:


这将允许您拥有固定的左右立柱和灵活的中心部分:

CSS

<style type="text/css">
  #left {
    float: left;
    width: 201px;
    border: 1px solid red;
  }

  #centre {
    display: block;
    overflow: auto;
    border: 1px solid green;
  }

  #right {
    float: right;
    width: 135px;
    border: 1px solid blue;
  }
</style>

#左{
浮动:左;
宽度:201px;
边框:1px纯红;
}
#中心{
显示:块;
溢出:自动;
边框:1px纯绿色;
}
#对{
浮动:对;
宽度:135px;
边框:1px纯蓝色;
}
HTML

<div id="container" style="width:100%;"> 
  <div id="left">Left</div>
  <div id="right">Right</div>
  <div id="centre">Middle</div>
</div> 

左边
赖特
中间的

实际上,右侧和左侧div是不固定的(我只是设置了它们的宽度作为示例)。它们包含一些自动设置宽度的内容。但问题是中心div应该在左和右之间获得所有可用的曲面。这似乎是正确的,但我看不到一种方法让右位“浮动”回到内联,因为中间位的宽度太宽。如果从中心div移除浮动,并将其设置为display:inline它应该插在两个外部div之间