• 记录下:nth-child在table中遇到的问题~(已解决)


    首先做了一个表格,如下:

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
        <style type="text/css">
            .t-table{
                width: 200px;
            }
        </style>
    </head>
    <body>
        <div>
            <table  class="t-table" border="1px solid #000" cellpadding="0" cellspacing="0">
                <thead>
                    <th>first</th>
                    <th>second</th>
                    <th>third</th>
                    <th>fourth</th>
                </thead>
                <tr>
                    <td rowspan="3">1</td>
                    <td>2</td>
                    <td>3</td>
                    <td>4</td>
                </tr>
                <tr>
                    <td>5</td>
                    <td>6</td>
                    <td>7</td>
                </tr>
                <tr>
                    <td>8</td>
                    <td>9</td>
                    <td>10</td>
                </tr>
                <tr>
                    <td>11</td>
                    <td>12</td>
                    <td>13</td>
                    <td>14</td>
                </tr>
            </table>
        </div>
    </body>
    </html>

    在页面效果如下:

    现在有一个很重要的需求,要求 third 和 fourth 两列居中。

    考虑使用 :nth-child() 给一个 text-align:center 来控制

    于是加了一段 css 样式如下:

        <style type="text/css">
            .t-table{
                width: 200px;
            }
            .t-table td:nth-child(2){
                text-align: center;
            }
        </style>    

    希望第二列居中,

    浏览器展示如下:

    发现居然错位了!!   很难过。。。

    想了想应该是 rowspan 导致第2、3行的第一列没有,即从 second 开始为第一列!

    知道原因以后只能放弃 :nth-child 考虑给第二列开始给一个 class,再用兄弟选择器实现。。

    页面代码如下:

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
        <style type="text/css">
            .t-table{
                width: 200px;
            }
            .t-td,
            .t-td ~td
            {
                text-align: center;
            }
        </style>
    </head>
    <body>
        <div>
            <table  class="t-table" border="1px solid #000" cellpadding="0" cellspacing="0">
                <thead>
                    <th>first</th>
                    <th>second</th>
                    <th>third</th>
                    <th>fourth</th>
                </thead>
                <tr>
                    <td rowspan="3">1</td>
                    <td class="t-td">2</td>
                    <td>3</td>
                    <td>4</td>
                </tr>
                <tr>
                    <td class="t-td">5</td>
                    <td>6</td>
                    <td>7</td>
                </tr>
                <tr>
                    <td class="t-td">8</td>
                    <td>9</td>
                    <td>10</td>
                </tr>
                <tr>
                    <td>11</td>
                    <td class="t-td">12</td>
                    <td>13</td>
                    <td>14</td>
                </tr>
            </table>
        </div>
    </body>
    </html>

    展示效果如下:

  • 相关阅读:
    20155307 2017-2018-2 《Java程序设计》第2周学习总结
    20155307刘浩——预备作业03: 安装虚拟机
    刘浩(专业打劫三十年)20155307的预备作业02:
    刘浩的预备作业01:我期望的师生关系——————不要问我为什么我叫专业打劫三十年
    List Leaves
    树的同构
    Pop Sequence
    Reversing Linked List
    一元多项式的乘法与加法运算
    Python 基础语法复习
  • 原文地址:https://www.cnblogs.com/zhuxingqing/p/11176212.html
Copyright © 2020-2023  润新知