【问题标题】:CSS auto-fit container between float:left & float:right divsfloat:left 和 float:right div 之间的 CSS 自动调整容器
【发布时间】:2012-06-01 23:12:22
【问题描述】:

我正在寻找一种方法让 CSS(3) 能够在 float:left div 和 float:right div 之间自动调整中心容器 div 的宽度。

中心 div 还需要能够设置 min-width,类似于 google+ -> home,其中中心内容自动安装在左侧导航按钮和右侧聊天窗格之间。然后,当屏幕宽度缩小到某个点(使用 javascript 检测到)时,聊天窗格会最小化以节省空间。

这里有一个活跃的模型来制作:http://jsfiddle.net/9vrby/

另外,这是我现在使用的 css 代码:

#left{ float:left; width:200px; height:400px; border:1px solid #000; }

#center{ float:left; width:auto; height:400px; border:1px solid red; }

#right{ float:right; width:100px; height:400px; border:1px solid blue; }

如果您需要更多信息,请告诉我,并提前感谢您的帮助。

【问题讨论】:

  • 好吧,我想出了一个非常糟糕的 jquery 版本。 jsfiddle.net/9vrby/3 有点糟糕(它不是流体)等等。但也许有人可以从中构建。

标签: containers autosize css


【解决方案1】:

#center 上,删除float: left 并添加overflow: hidden。此外,#center 需要在 HTML 中移到最后。

http://jsfiddle.net/thirtydot/9vrby/14/

这适用于所有现代浏览器,甚至 IE7。

【讨论】:

    【解决方案2】:

    一个技巧是不使用浮点数,而是使用 display:table-cell。

    http://jsfiddle.net/9vrby/8/

    HTML:

    <div id='left'></div>
    <div id='center'></div>
    <div id='right'></div>
    

    CSS:

    #left{ display:table-cell; min-width:200px; height:400px; border:1px solid #000; }
    #center{ display:table-cell; min-width:200px; width:100%; height:400px; border:1px solid red; }
    #right{ display:table-cell; min-width:100px; height:400px; border:1px solid blue; }
    

    但请注意,此方法在 IE7(及更低版本,但谁仍然支持这种废话吗?)中不起作用。但也许您可以查看CSS3Pie,它使您能够将 CSS(3) 用于官方不支持它的浏览器,例如 IE7。所以也许 display:table-cell 也可以。

    【讨论】:

    猜你喜欢
    • 2012-09-11
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    • 2014-07-19
    • 2022-10-14
    相关资源
    最近更新 更多