<!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 -
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”