You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Media Query拆分Skill Certification表格,解决溢出并调整布局

解决表格溢出问题:通过媒体查询拆分表格布局

步骤1:调整HTML结构

修改表格结构,为每个员工行添加默认隐藏的技能矩阵子行,用于小屏幕下展示拆分后的内容:

<div class="col-md-12 mg-b-15">
    <div class="annual-training-plan sdm-box skill-certification">
        <div class="row">
            <div class="sdm-title col-md-6">
                <h3>技能认证与部署矩阵</h3>
            </div>
            <div class="demo-table col-md-6">
                <table>
                    <tr>
                        <td><span class="foo blue"> </span></td>
                        <td><span> 计划中</span></td>
                        <td><span class="foo yellow"> </span></td>
                        <td><span> 待重新认证</span></td>
                        <td><span class="foo green"> </span></td>
                        <td><span> 已认证</span></td>
                        <td><span class="foo gray"> </span></td>
                        <td><span> 无计划</span></td>
                    </tr>
                </table>
            </div>
        </div>

        <div class="matrix-graph">
            <table id="deploymentMatrixTbl" class="table-striped">
                <thead>
                    <tr>
                        <th scope="col" class="wd-20p emp-detail">员工姓名</th>
                        <th scope="col" class="wd-15p emp-detail">员工ID</th>
                        <th scope="col" class="wd-15p emp-detail">部门</th>
                        <th scope="col" class="wd-7p emp-detail">职位</th>
                        <th scope="col" class="wd-90p skill-matrix-header">技能认证与部署矩阵</th>
                    </tr>
                </thead>

                <tbody>
                    <!-- 示例员工行 -->
                    <tr class="employee-row">
                        <td>张三</td>
                        <td>E001</td>
                        <td>技术部</td>
                        <td>开发工程师</td>
                        <td class="skill-matrix-cell">
                            <!-- 原技能矩阵状态标记 -->
                            <span class="foo green"></span>
                            <span class="foo blue"></span>
                            <!-- 更多技能状态... -->
                        </td>
                    </tr>
                    <!-- 拆分后的技能矩阵子行(默认隐藏) -->
                    <tr class="skill-matrix-row hidden">
                        <td colspan="4">
                            <div class="skill-matrix-content">
                                <!-- 复制原技能矩阵内容 -->
                                <span class="foo green"></span>
                                <span class="foo blue"></span>
                                <!-- 更多技能状态... -->
                            </div>
                        </td>
                    </tr>

                    <!-- 无数据状态(按需保留) -->
                    <!-- <tr><td colspan="5">暂无数据。</td></tr> -->
                </tbody>
            </table>
        </div>
    </div>
</div>

步骤2:添加CSS媒体查询

通过媒体查询在小屏幕下切换布局,隐藏原技能列并显示拆分后的子行:

/* 默认隐藏技能矩阵子行 */
.skill-matrix-row.hidden {
    display: none;
}

/* 小屏幕适配(可根据需求调整宽度阈值) */
@media (max-width: 768px) {
    /* 隐藏原表格中的技能矩阵表头和单元格 */
    .skill-matrix-header,
    .skill-matrix-cell {
        display: none;
    }

    /* 显示拆分后的技能矩阵子行 */
    .skill-matrix-row.hidden {
        display: table-row;
    }

    /* 优化子行内容排版 */
    .skill-matrix-content {
        padding: 10px;
        background-color: #f8f9fa;
        display: flex;
        flex-wrap: wrap;
        gap: 15px;
    }

    /* 调整员工信息列宽度,占满整行 */
    .emp-detail {
        width: 25% !important;
    }
}

核心逻辑

小屏幕下将原本单列的技能矩阵内容,拆分为独立行并通过colspan="4"跨占所有员工信息列宽度,避免横向溢出;同时隐藏原技能列,保证内容完整且适配移动端。可根据实际需求调整媒体查询宽度阈值和子行样式。

内容的提问来源于stack exchange,提问作者Kiran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 13:35:14