[05]表格元素

一. 表格元素汇总

表格的基本构成最少需要三个元素:<table>、<tr>、<td>,其他的一些作为可选辅助存在。

元素名称说明
table表示表格
thead表示标题行
tbody表示表格主体
tfoot表示表脚
tr表示一行单元格
th表示标题行单元格
td表示单元格
col表示一列
colgroup表示一组列
caption表示表格标题

二. 构建表格解析

1.<table><tr><td> 构建基础表格
<table border="1">
    <tr>
        <td>张三</td>
        <td></td>
        <td>未婚</td>
    </tr>
    <tr>
        <td>李四</td>
        <td></td>
        <td>已婚</td>
    </tr>
</table>

解释:<table>元素表示一个表格的声明,<tr>元素表示表格的一行,<td>元素表示一个单元格。默认情况下表格是没有边框的,所以,在<table>元素增加一个 border 属性,设置为 1 即可显示边框。

2.<th> 为表格添加标题单元格
<table border="1" style="width:300px;">
    <tr>
        <th>姓名</th>
        <th>性别</th>
        <th>婚姻</th>
    </tr>
    <tr>
        <td>张三</td>
        <td></td>
        <td>未婚</td>
    </tr>
    <tr>
        <td>李四</td>
        <td></td>
        <td>已婚</td>
    </tr>
</table>

解释:<th>元素主要是添加标题行的单元格,实际作用就是将内部文字居中且加粗。这里使用了一个通用属性 style,主要用于 CSS样式设置,以后会涉及到。<th><td>均属于单元格,包含两个合并属性:colspanrowspan等。

3.<thead>添加表头
<thead>
    <tr>
        <th>姓名</th>
        <th>性别</th>
        <th>婚姻</th>
    </tr>
</thead>

解释:<thead>元素就是限制和规范了表格的表头部分。尤其是以后动态生成表头,它的位置是不固定的,使用此元素可以限定在开头位置。

4.<tfoot>添加表脚
<tfoot>
    <tr>
        <td colspan="3">统计:共两名</td>
    </tr>
</tfoot>

解释:<tfoot>元素为表格生成表脚,限制在表格的底部。

5.<tbody>添加表主体
<tbody>
    <tr>
        <td>张三</td>
        <td></td>
        <td>未婚</td>
    </tr>
    <tr>
        <td>李四</td>
        <td></td>
        <td>已婚</td>
    </tr>
</tbody>

解释:<tbody>元素主要是包含住非表头表脚的主体部分,有助于表格格式的清晰,更加有助于后续 CSS 和 JavaScript的控制。

6.<caption> 添加表格标题

<caption>这是一个人物表</caption>

解释:<caption>元素给表格添加一个标题。

7.<colgroup>设置列

<colgroup span="2" style="background:red;">

解释:<colgroup>元素是为了处理某个列,span 属性定义处理哪些列。1 表示第一列,2 表示前两列。如果要单独设置第二列,那么需要声明两个,先处理第一个,将列点移入第二位,再处理第二个即可。

8.<col>更灵活的设置列
<colgroup>
    <col>
    <col style="background:red;" span="1">
</colgroup>

解释:<col>元素表示单独一列,一个表示一列,控制更加灵活。如果设置了 span 则,控制多列。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
A:可以通过监听 `scroll` 事件来实现 el-table 表格的滚动监听。具体实现如下: ```html <template> <el-table ref="table" :data="tableData" height="400" style="width: 100%" @scroll="handleTableScroll" > <el-table-column prop="date" label="日期" width="180"></el-table-column> <el-table-column prop="name" label="姓名" width="180"></el-table-column> <el-table-column prop="address" label="地址"></el-table-column> </el-table> </template> <script> export default { data() { return { tableData: [ { date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-04', name: '王小虎', address: '上海市普陀区金沙江路 1517 弄' }, { date: '2016-05-01', name: '王小虎', address: '上海市普陀区金沙江路 1519 弄' }, { date: '2016-05-03', name: '王小虎', address: '上海市普陀区金沙江路 1516 弄' } ] } }, methods: { handleTableScroll(event) { // 获取 el-table 的 body 元素 const bodyWrapper = this.$refs.table.$refs.bodyWrapper // 判断滚动到底部 if (bodyWrapper.scrollTop + bodyWrapper.clientHeight >= bodyWrapper.scrollHeight) { console.log('滚动到底部了') } } } } </script> ``` 在上面的代码中,我们通过 `@scroll="handleTableScroll"` 监听了 el-table 的滚动事件,并在 `handleTableScroll` 中进行了滚动到底部的判断。具体实现中,我们获取 el-table 的 `body` 元素,然后通过比较 `scrollTop` 和 `scrollHeight` 来判断是否滚动到底部。如果触发了滚动到底部的条件,那么就可以执行对应的逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值