代码之家  ›  专栏  ›  技术社区  ›  meandmycode

CSS流体“列”

  •  5
  • meandmycode  · 技术社区  · 17 年前

    在CSS中获得此布局的最佳方法是什么?想象一下,我有三个div,两个div在另一个div中。。在两个内部div中,第一个具有特定的宽度集,第二个div预计将占用剩余空间。

    如果我浮动固定而不是流体,流体柱将包裹在固定div下面(不是所需的)。

    +-------+  +--------------------------------------+
    | fixed |  |                                      |
    +-------+  |               fluid                  |
               |                                      |        
               |                                      |
               +--------------------------------------+
    
    <div>
      <div>fixed</div>
      <div>fluid</div>
    </div>
    

    这必须是一个完全的css解决方案,没有javascript框架——理想情况下,它可以在最常用的浏览器上工作,并且“黑客”最少(如果有的话)。

    希望艺术作品,

    谢谢

    4 回复  |  直到 17 年前
        1
  •  16
  •   geowa4    17 年前

    加价

    <div id="fixed">fixed content</div>
    <div id="fluid">fluid content</div>
    

    css

    #fixed {
      float: left;
      width: 13em;
      margin-right: -14em;
    }
    #fluid {
      margin-left: 14em;
    }
    

        2
  •  1
  •   vladocar    17 年前

    你可以用 Emastic CSS Framework 支撑液柱的。在这里 Link 工作示例是否类似于您的“ASCII艺术作品”:

        3
  •  0
  •   Barnee Emily    13 年前

    希望这至少能帮助您开始:

    * {
       margin:0;
    }
    
    div#wrapper {
       margin:0;
       height:auto !important; //IE Hack
       height:100%; //IE Hack
       min-height:100%;
       overflow:auto
    }
    
    div#fixed{
       float:left;
       position:absolute;
       background-color:red;
       margin:0;
       height:200px;
       width:200px
    }
    
    div#fluid{
       float:right;
       position:absolute;
       left:200px;
       background-color:blue;
       display:block;
       height:80%;
       width:60%
    }
    

    “包装器”将是你的包装div。我只将流体柱的宽度设置为60%,这样你就可以看到它的作用是流动的。我在Opera 10、IE 6和Firefox 3中对此进行了测试,只有一些小问题。如果将流体柱的宽度设置为100%,IE希望在右侧附加一个额外的200px。我肯定在某个地方有一个解决办法。

        4
  •  0
  •   sdw3489    12 年前

    事实上,我不久前发现了一个更简单的解决方案。可以很好地追溯到IE7。#fluid div将在固定固定点旁边向上滑动,并占用剩余空间,同时为所有响应站点保持良好的流动性。

    #fixed{
         width:200px;
         float:left;
    }
    #fluid{
        overflow:hidden;
    }