【问题标题】:CSS: Prevent content to increase parent's width relative to another parent [duplicate]CSS:防止内容增加父级相对于另一个父级的宽度[重复]
【发布时间】:2021-06-08 16:15:09
【问题描述】:

在任何事情之前:我不想设置任何固定宽度(如 600 像素等)

注意1:我不希望窗户的宽度被我拥有的户外数量所修改 注意 2:flex-direction 设置为列,所以 flex-basis 对我不起作用,因为在这种情况下,flex-basis 将处理高度,而不是宽度。

当容器的宽度设置为 100% 时,如何防止内容增加容器的宽度?我希望容器宽度由第二个容器确定,如图所示:

这是我的代码:

    #desktop {
        display: inline-flex;
        flex-direction: column;
        border: 1px solid #F00;
    }

    #outdoors {
        flex: 1 1 auto;
        overflow-x: auto;
        border: 2px solid #F60;
    }

    #windows {
        flex: 1 1 100%;
        border: 2px solid #0A0;
    }

    .outdoor {
        display: inline-block;
        font-size: 50px;
        border: 2px solid #00A;
        margin: 10px;
    }

    .window {
        font-size: 100px;
        border: 2px solid #000;
        display: inline-block;
        margin: 10px;
    }
</style>

<div id="desktop">
    <div id="outdoors">
        <div class="outdoor">1</div>
        <div class="outdoor">12</div>
        <div class="outdoor">123</div>
        <div class="outdoor">123</div>
        <div class="outdoor">123</div>
        <div class="outdoor">123</div>
    </div>
    <div id="windows">
        <div class="window">1</div>
        <div class="window">12</div>
        <div class="window">123</div>
    </div>
</div>```

【问题讨论】:

  • 我已经更新了副本,你得到的那个是无关紧要的

标签: css width auto


【解决方案1】:
Did you mean that?

  #desktop {
        display: inline-flex;
        flex-direction: column;
        border: 1px solid #F00;
    }

    #outdoors {
        flex: 1 1 auto;
        overflow-x: auto;
        border: 2px solid #F60;
    }

    #windows {
      display:flex;
        flex: 1 1 100%;
        border: 2px solid #0A0;
    }

    .outdoor {
        display: inline-block;
        font-size: 50px;
        border: 2px solid #00A;
        margin: 10px;
    }

    .window {
        font-size: 100px;
        border: 2px solid #000;
        display: inline-block;
        margin: 10px;
      flex-grow:inherit;
    }
<div id="desktop">
    <div id="outdoors">
        <div class="outdoor">1</div>
        <div class="outdoor">12</div>
        <div class="outdoor">123</div>
        <div class="outdoor">123</div>
        <div class="outdoor">123</div>
        <div class="outdoor">123</div>
    </div>
    <div id="windows">
        <div class="window">1</div>
        <div class="window">12</div>
        <div class="window">123</div>
    </div>
</div>

【讨论】:

  • 您好,感谢您的回答。但我不希望窗口大小被户外长度修改。在你的回答中,我在户外越多,窗户的宽度就会越多。 =)
猜你喜欢
  • 2013-10-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-09
  • 1970-01-01
  • 2013-02-17
  • 2017-06-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多