zoukankan      html  css  js  c++  java
  • html table 使用总结

    html中的table是一个历史相当悠久的标签,它能够很方便的实现数据的表格展示。虽然table是个很基础的标签,但是想用好还是对css相关知识有要求的。

    由于table标签中自带的属性操作起来略为麻烦,本文中所有的案例均使用纯css(scss)实现。

    我们拿几个常见的table样式案例来进行讲解。

    首先,html代码是统一的:

        <table class="table">
            <tr>
                <th>abcd</th>
                <th>abcd</th>
                <th>abcd</th>
                <th>abcd</th>
            </tr>
            <tr>
                <td>123</td>
                <td>123</td>
                <td>123</td>
                <td>123</td>
            </tr>
            <tr>
                <td>123</td>
                <td>123</td>
                <td>123</td>
                <td>123</td>
            </tr>
            <tr>
                <td>123</td>
                <td>123</td>
                <td>123</td>
                <td>123</td>
            </tr>
            <tr>
                <td>123</td>
                <td>123</td>
                <td>123</td>
                <td>123</td>
            </tr>
        </table>

    案例一:外部带边框,内部无边框。效果图:

    scss:

    .table{
        border: 1px solid #999999;
        th,td{
            text-align: center;
            padding: 20px 40px;
        }
    }

    案例二:内外均带边框,并实现隔行换色。效果图:

    scss:

    .table{
        border: 1px solid #999999;
        border-collapse: collapse;
        tr{
            &:nth-child(odd){
                background-color: #cccccc;
            }
            &:nth-child(even){
                background-color: #f4f4f4;
            }
        }
        th,td{
            text-align: center;
            padding: 20px 40px;
            border: 1px solid #999999;
        }
    }

    该案例关键的属性是border-collapse: collapse; 它能让重复的边框折叠起来并且消除表格直接的间距。(http://www.w3school.com.cn/cssref/pr_tab_border-collapse.asp

    案例三:外部带边框,各行之间用不横跨整张表格的横线隔开。效果图:

    scss:

    .table{
    border: 1px solid #999;
    position: relative;
    tr{
    100%;
    &:after{
    content: ' ';
    height: 1px;
    90%;
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    box-sizing: border-box;
    border-bottom: 1px solid #bbb;
    }
    &:first-child:after{
    height: 0;
    border: 0;
    }
    td,th{
    padding: 20px 40px;
    text-align: center;
    }
    }
    }

    该案例由于分割线的效果较为特殊,无法用传统border实现,所以使用了伪类。如果想将实线换成虚线,更改伪类的border solid为dashed即可。

  • 相关阅读:
    [codevs 1227] 方格取数 2
    记冬令营
    Codeforces Round 558(Div 2)题解
    Educational Round 64 题解
    [GXOI/GZOI2019]与或和(位运算,单调栈)
    LOJ6053 简单的函数(min_25筛)
    LOJ6235 区间素数个数(min_25筛)
    min_25筛学习笔记
    CF1142C U2(计算几何,凸包)
    关于一些没做出来的SBCF题
  • 原文地址:https://www.cnblogs.com/axel10/p/8722776.html
Copyright © 2011-2022 走看看