【问题标题】:How automatically adjust div's width using CSS?如何使用 CSS 自动调整 div 的宽度?
【发布时间】:2011-05-03 15:36:27
【问题描述】:

考虑following example

HTML:

<div class="wrapper">
    <div class="left">Some text here</div><div class="right">Hello Stack Overflow</div>
</div>

CSS:

.wrapper {
    border: 1px solid black;
    width: 400px;
}
.left {
    border: 1px solid green;
    display: inline-block;
}
.right {
    border: 1px solid red;
    display: inline-block;
    float: right;
}

我想强制绿色div的宽度尽可能大,根据红色的宽度。红色div 的宽度可以根据div 的内容而有所不同。因此,例如,如果红色div 的宽度为 150px,则绿色的宽度应为 250px。这应该总是正确的:

green div width + red div width = 400px

如何使用 CSS 实现这一点?

请不要使用 Javascript...

【问题讨论】:

    标签: css html width


    【解决方案1】:

    正如 Sandeep 之前所说,但是force the green div to take up as much space as possible

    .wrapper {
        border: 1px solid black;
        width: 400px;
        display:table;
    }
    .left {
        border: 1px solid green;
        display: table-cell;
        width: 100%;
    }
    .right {
        border: 1px solid red;
        display: table-cell;
    }
    

    请注意,IE7 及以下版本不支持 divs-as-tables。

    【讨论】:

      【解决方案2】:

      做你想要的http://jsfiddle.net/sandeep/eGphW/

      .wrapper {
          border: 1px solid black;
          width: 400px;
          display:table;
      }
      .left {
          border: 1px solid green;
          display: table-cell;
      }
      .right {
          border: 1px solid red;
          display: table-cell;
      }
      

      您可以将 div 用作表格。

      【讨论】:

      • 不完全是。在您的示例中,红色 div 在其右侧有一个额外的空间。右边div的宽度应该尽量小(剩下的就是绿色div的宽度)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 2015-06-30
      • 2012-10-13
      • 2014-02-09
      • 2012-12-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多