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

内联div,其中第一个div宽度是响应的,第二个div宽度是固定的

  •  0
  • sazr  · 技术社区  · 6 年前

    如何在CSS中实现下面的布局?它非常简单,但代码却非常复杂。红色的div将包含一个图像广告,宽度将始终为350px,并始终位于页面的右侧。绿色div将包含网站内容,其宽度是动态的,是应该填充红色div插入后剩余的宽度。两个div应该有相同的高度。

    enter image description here

    html, body {
      width: 100%;
      margin: 0 auto;
    }
    
    .green-div {
      background-color: green;
      display: inline-block;
      margin: 0 auto;
      height: 100%;
    
    }
    
    .red-div {
      background-color: red;
      display: inline-block;
      width: 350px;
      height: 100%;
    }
    <div class="green-div">
      <p>Green Div</p>
    </div>
    
    <div class="red-div">
      <p>Red Div</p>
    </div>
    1 回复  |  直到 6 年前
        1
  •  0
  •   Robert Cooper    6 年前

    您可以使用flexbox来实现这一点。

    html, body {
      width: 100%;
      margin: 0 auto;
      display: flex;
      height: 100vh;
    }
    
    .green-div {
      background-color: green;
      flex-grow: 1;
      margin: 0 auto;
      height: 100%;
    
    }
    
    .red-div {
      background-color: red;
      width: 350px;
      height: 100%;
    }
    <div class="green-div">
      <p>Green Div</p>
    </div>
    
    <div class="red-div">
      <p>Red Div</p>
    </div>