【问题标题】:How to make columns in a row match the column widths of the row above in a grid如何使行中的列与网格中上面行的列宽匹配
【发布时间】:2020-01-28 09:09:17
【问题描述】:

我正在尝试使用 flexbox 或任何类型的 css 网格系统重新创建表格效果,其中 div / 单元格与下一行中的 devs / 单元格的宽度匹配,无论内容大小如何,我当前的代码是两行 div在容器上使用 flex,在单元格上使用 flex:1:

<div class="b-grid__row">
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <a href="" class="b-grid__link">
            tretregerg
        </a>
    </div>  
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
            1rgeerger
        </p>
    </div>   
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">

        </p>
    </div>  
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
            Olympia Exhibition Centre reggergreegr
        </p>
    </div>  
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
            Brintex Eventser gergrege
        </p>
    </div> 
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
            Jane Smith fgdfdgfdg
        </p>
    </div> 
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
            jane.smith@brintexevef gfdgdfgfdgts.co.uk
        </p>
    </div> 
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
            01959 525717 dfgdfgdf gdfgd
        </p>
    </div> 
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <a href="" class="l-header__user-link">
            {{ ui.icon('logout', '20', 'xx', 'one', 'l-header__logout', 'Logout') }}
        </a>
    </div>  
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <a href="" class="l-header__user-link">
            {{ ui.icon('logout', '20', 'xx', 'one', 'l-header__logout', 'Logout') }}
        </a>
    </div>  
</div>

<div class="b-grid__row">
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <a href="" class="b-grid__link">
            London wine Fair 2020
        </a>
    </div>  
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
            18/05/2020
        </p>
    </div>   
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
            20/05/2020
        </p>
    </div>  
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
            Olympia Exhibition Centre
        </p>
    </div>  
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
            Brintex Events
        </p>
    </div> 
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
            Jane Smith
        </p>
    </div> 
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
            jane.smith@brintexevents.co.uk
        </p>
    </div> 
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
            01959 525717
        </p>
    </div> 
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <a href="" class="l-header__user-link">
            {{ ui.icon('logout', '20', 'xx', 'one', 'l-header__logout', 'Logout') }}
        </a>
    </div>  
     <div class="b-grid__column-cell b-grid__column-cell--white">
        <a href="" class="l-header__user-link">
            {{ ui.icon('logout', '20', 'xx', 'one', 'l-header__logout', 'Logout') }}
        </a>
    </div>  
</div>


.b-grid__row {
    width: 100%;
    display: flex;
}
.b-grid__column-cell {
    display: flex;
    flex: 1;        
}

这是它目前的样子:

这就是我需要它做的:

有什么方法可以在将单元格保持在单独的行中的同时实现这一点?

请注意,这些必须保留单独的行包装器,不能全部放在一个容器中

感谢您的帮助

【问题讨论】:

    标签: html css flexbox css-grid css-tables


    【解决方案1】:

    这是一个表格布局:

    .container {
      display:table;
    }
    
    .b-grid__row {
      display: table-row;
    }
    
    .b-grid__column-cell {
      display: table-cell;
      border:2px solid transparent;
      padding:5px;
      background:#fff padding-box;
      vertical-align:middle;
    }
    .b-grid__column-cell > * {
      margin:0;
    }
    
    body {
     background:grey;
    }
    <div class="container">
    <div class="b-grid__row">
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <a href="" class="b-grid__link">
                tretregerg
            </a>
      </div>
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
          1rgeerger
        </p>
      </div>
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
    
        </p>
      </div>
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
          Olympia Exhibition Centre reggergreegr
        </p>
      </div>
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
          Brintex Eventser gergrege
        </p>
      </div>
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
          Jane Smith fgdfdgfdg
        </p>
      </div>
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
          jane.smith@brintexevef gfdgdfgfdgts.co.uk
        </p>
      </div>
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
          01959 525717 dfgdfgdf gdfgd
        </p>
      </div>
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <a href="" class="l-header__user-link">
                {{ ui.icon('logout', '20', 'xx', 'one', 'l-header__logout', 'Logout') }}
            </a>
      </div>
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <a href="" class="l-header__user-link">
                {{ ui.icon('logout', '20', 'xx', 'one', 'l-header__logout', 'Logout') }}
            </a>
      </div>
    </div>
    
    <div class="b-grid__row">
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <a href="" class="b-grid__link">
                London wine Fair 2020
            </a>
      </div>
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
          18/05/2020
        </p>
      </div>
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
          20/05/2020
        </p>
      </div>
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
          Olympia Exhibition Centre
        </p>
      </div>
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
          Brintex Events
        </p>
      </div>
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
          Jane Smith
        </p>
      </div>
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
          jane.smith@brintexevents.co.uk
        </p>
      </div>
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <p class="b-grid__content">
          01959 525717
        </p>
      </div>
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <a href="" class="l-header__user-link">
                {{ ui.icon('logout', '20', 'xx', 'one', 'l-header__logout', 'Logout') }}
            </a>
      </div>
      <div class="b-grid__column-cell b-grid__column-cell--white">
        <a href="" class="l-header__user-link">
                {{ ui.icon('logout', '20', 'xx', 'one', 'l-header__logout', 'Logout') }}
            </a>
      </div>
    </div>
    </div>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-20
      • 2015-11-21
      • 2013-05-22
      • 2012-03-24
      • 1970-01-01
      • 2018-09-03
      • 2014-03-27
      • 2017-10-29
      相关资源
      最近更新 更多