首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用未知的列数和每个列的大小相等的网格布局?

如何使用未知的列数和每个列的大小相等的网格布局?
EN

Stack Overflow用户
提问于 2015-08-11 06:52:51
回答 2查看 6.1K关注 0票数 3

我需要列一排列,列数可以从5到10,并且每个列的宽度应该相等,如何通过仅使用css而不使用<table>来实现这一点?

现在我用的是引导带,但是它只有固定的尺寸。我现在通过googling找到的所有解决方案都在使用<table>元素进行改进,但据我所知,这是错误的方法,而且我多次听到不使用<table>进行模板化的说法。

到目前为止,我想过的最优雅的解决方案(尚未测试)是通过javascript动态计算宽度并动态更改它,还有其他更好的方法吗?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-11 06:58:53

使用挠曲箱

父元素应该在其CSS中包含display: flex。每个子元素(列)都应该有flex: 1 (这允许元素尽可能缩小和增长,而不管内容如何)。

下面是一个例子:

代码语言:javascript
复制
.container {
    display: flex;
}

.column {
    flex: 1;
    border: 1px solid #000;
}
代码语言:javascript
复制
<div class="container">
    <div class="column">Contents don't matter for width.</div>
    <div class="column"></div>
    <div class="column"></div>
    <div class="column"></div>
    <div class="column"></div>
    <div class="column"></div>
    <div class="column"></div>
    <div class="column"></div>
</div>

票数 11
EN

Stack Overflow用户

发布于 2015-08-11 07:09:42

您可以使用display与所有浏览器兼容:

CSS:

代码语言:javascript
复制
    .table {
        display: table;
        width: 100%;
    }
    .table .row {
        display: table-row;
    }
    .table .row .cell {
        display: table-cell;
        border: 1px solid red;
    }

HTML

代码语言:javascript
复制
    <div class="table">
        <div class="row">
            <div class="cell">&nbsp;</div>
            <div class="cell">&nbsp;</div>
        </div>
    </div>
    <div class="table">
        <div class="row">
            <div class="cell">&nbsp;</div>
            <div class="cell">&nbsp;</div>
            <div class="cell">&nbsp;</div>
        </div>
    </div>
    <div class="table">
        <div class="row">
            <div class="cell">&nbsp;</div>
            <div class="cell">&nbsp;</div>
            <div class="cell">&nbsp;</div>
            <div class="cell">&nbsp;</div>
        </div>
    </div>

用来测试它的小提琴:http://jsfiddle.net/4be2dhb2

祝好运!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31935052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档