html - 不使用表格标签创建 HTML 表格

标签 html css

我试图在不使用 table 标签的情况下创建一个表格,仅使用 CSS 中的 display: table 属性。但不知何故,行没有正确对齐。单元格的宽度不同。第一行的单元格与其他行的单元格具有不同的宽度。 这里是 JSFiddle 一个清晰的理解:http://jsfiddle.net/tryouts/3MVUD/

这是我的 HTML:

<div class="content">
    <header>
        <span class="title">Title</span>
        <span class="avail">Avail</span>
        <span class="list">List</span>
    </header>
    <main>
       <section id="item-1">
            <span class="title">Item 1</span>
            <span class="avail"></span>
            <span class="list">
                <span>One</span>
                <span>Two</span>
                <span>Three</span>
                <span>Four</span>
            </span>
       </section> 
       <section id="item-2">
            <span class="title">Item 2</span>
            <span class="avail">Yes</span>
            <span class="list">
                <span>Two</span>
                <span>Three</span>
            </span>
       </section> 
       <section id="item-3">
            <span class="title">Item 3</span>
            <span class="avail"></span>
            <span class="list">
            </span>
       </section>         
    </main>
</div>

这是我的 CSS:

div.content {
    display: table;
    width: 100%;
    border: 1px solid black;
}

div.content header, div.content main section {
    display: table-row;
    border: 1px solid black;
}

span.title,span.avail,span.list {
    display: table-cell;
    width: 33%;
    border: 1px solid black;
}

我不想更改现有的 HTML 内容,这是使用 CSS 创建类似表格结构的主要原因。

最佳答案

你需要添加:

main { display: table-row-group }

关于html - 不使用表格标签创建 HTML 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22036460/

相关文章:

html - 带有图像的响应式导航,悬停时底部边框触及导航栏

javascript - HTML 和 CSS ..并排添加 div n 次

html - 最小高度有什么问题?

html - 固定位置后的内容

javascript - 类型错误 : Cannot read property '0' of undefined. React Redux 应用程序

css - 阻止 "Hover Zoom"插件显示缩放的 img(或向 img div 添加类)

html - 保持文本的高度,即使它是空白

jquery - IE7 和 8 不触发附加在表内的元素的 jQuery 单击事件

javascript - 获取输入类型="button"的值

html - 能够始终如一地 float td 元素?