table通过伪类实现 另类自适应

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            padding: 0;
            margin: 0;
            box-sizing: border-box;
        }

        @media screen and (min-width: 800px) {
            table {
                width: 100vw;
                border: 1px solid black;
                border-collapse: collapse;
            }

            tr {
                border-bottom: 1px solid black;
            }

            td {
                text-align: center;
            }
        }

        @media screen and (max-width: 800px) {
            table {
                border: 0;
                width: 100vw;
            }

            table thead {
                display: none;
            }

            table tr {
                display:block;
                margin-bottom: 20px;
            }

            table td {
                border-bottom: 1px solid #ddd;
                /* position: relative; */
                /* display: block; */
                /* text-align: right; */
                display: flex;
                justify-content: space-between;
            }

            table td::before {
                /* position: absolute; */
                /* left: 10px; */
                content: attr(data-label);
                font-weight: 600;
            }
        }
    </style>
</head>

<body>
    <table>
        <caption>Lorem ipsum !</caption>
        <thead>
            <tr>
                <th>Account</th>
                <th>Due Date</th>
                <th>Amount</th>
                <th>Period</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td data-label="Account">Visa -![在这里插入图片描述](https://img-blog.csdnimg.cn/69491690235342b88be9a1d891894451.gif#pic_center)
 3412</td>
                <td data-label="Due Date">04/01/2016</td>
                <td data-label="Amount">$1,190</td>
                <td data-label="Period">03/01/2016 - 03/31/2016</td>
            </tr>
            <tr>
                <td data-label="Account">Visa - 3412</td>
                <td data-label="Due Date">04/02/2016</td>
                <td data-label="Amount">$1,190</td>
                <td data-label="Period">03/01/2016 - 03/31/2016</td>
            </tr>
            <tr>
                <td data-label="Account">Visa - 3412</td>
                <td data-label="Due Date">04/02/2016</td>
                <td data-label="Amount">$1,190</td>
                <td data-label="Period">03/01/2016 - 03/31/2016</td>
            </tr>

        </tbody>
    </table>
</body>

</html>

请添加图片描述

主要实现方法媒体查询 +借助伪元素极其特性,实现表头信息展示

这里 当他满足屏幕小于800时 隐藏表头 然后打碎td 并通过伪类中的content 实现 表头填充
这里,我们核心的知识点就是利用了元素的伪元素可以在 content 属性里,读取其 HTML 元素内的属性内容,并进行展示的知识点。

假设一个 HTML 标签定义为:


那么该 div 对应的伪元素如果设置了 content: attr(data-msg) ,就可以读取到 data-msg 的值,相当于 content:“ABC”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值