代码之家  ›  专栏  ›  技术社区  ›  Nate CSS Guy

静态宽度DIV旁边的动态宽度DIV

  •  2
  • Nate CSS Guy  · 技术社区  · 15 年前

    它在书名里。

    我正在尝试将页面左侧的一个DIV设置为静态宽度170px;这很好。

    我遇到的问题是在它旁边有一个分区,它可以根据剩余的宽度进行缩放。

    这里有一个简单的方法吗?

    2 回复  |  直到 15 年前
        1
  •  4
  •   Nick Craver    15 年前

    在右边的DIV中,只需设置一个边距:

    style="margin-left: 170px;"
    

    这是一个示例页面,在这里工作:

    <html>
      <head>
        <title>Jquery Test</title>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
        <script type="text/javascript">
          $(function()  {
            var right = $("#right");
            $("#toggle").click(function() {
              $("#left").animate({"width": "toggle"}, {
                duration: 250,
                step: function() {
                    right.css("margin-left", $(this).width());
                }
              }, function() { right.css("margin-left", $("#left").width()); });             
            });
          });
        </script>
        <style type="text/css">
          #left { width: 170px; float: left; border: solid 1px red; }
          #right { margin-left: 170px; border: solid 1px green; }
        </style>
      </head>
      <body>
        <div id="left">Test</div>
        <div id="right">Test Right</div>
        <input id="toggle" value="Open/Close" type="button" />    
      </body>
    </html>
    
        2
  •  3
  •   Aaron    15 年前

    您可以这样定义CSS类:

    #left-div {
        margin-left: 0px;
        width: 170px;
        float: left;
    }
    #right-div {
        margin-left: 170px;
        margin-right: 0px;
    }
    

    这将使右DIV的左边距保持在左DIV旁边,右边缘保持在窗口的右边缘。