html中表体下拉标头不懂动6,html实例之给table的tbody设置垂直滚动条但thead固定不动...

html代码:

NameColorDescription

AppleRedThese are red.PearGreenThese are green.GrapePurple / GreenThese are purple and green.OrangeOrangeThese are orange.BananaYellowThese are yellow.KiwiGreenThese are green.

css代码:

table {

width: 100%;

text-align: left;

min-width: 610px;

}

tr {

height: 30px;

padding-top: 10px

}

tbody {

height: 150px;

overflow-y: auto;

overflow-x: hidden;

}

th,td,tr,thead,tbody { display: block; }

td,th { float: left; }

td:nth-child(1),

th:nth-child(1) {

width: 20%;

}

td:nth-child(2),

th:nth-child(2) {

width: 20%;

float: left;

}

td:nth-child(3),

th:nth-child(3) {

width: 59%;

float: left;

}

/* some colors */

thead {

background-color: #333333;

color: #fdfdfd;

}

table tbody tr:nth-child(even) {

background-color: #dddddd;

}

运行结果:在线运行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Flutter 中,DataTable 组件的默认行为是在用户滚动表格内容时,整个表格都会滚动,包括表头和列标头。 如果你想要固定列标头的位置,可以尝试使用第三方库 `flutter_data_table2`。这个库提供了更多的功能,包括固定行标头和列标头的位置、自定义表格样式等。 以下是一个使用 `flutter_data_table2` 库实现固定行标头和列标头的示例代码: 首先,你需要在 `pubspec.yaml` 文件中添加 `flutter_data_table2` 依赖: ```yaml dependencies: flutter_data_table2: ^3.2.0 ``` 然后,在代码中使用 `PaginatedDataTable2` 组件,并设置 `stickyColumns` 和 `stickyRows` 参数来固定列标头和行标头的位置: ```dart import 'package:flutter/material.dart'; import 'package:flutter_data_table2/flutter_data_table2.dart'; class MyDataTable extends StatefulWidget { @override _MyDataTableState createState() => _MyDataTableState(); } class _MyDataTableState extends State<MyDataTable> { final List<Map<String, String>> dataList = [ { 'name': 'John Smith', 'age': '30', 'email': 'john.smith@example.com', }, { 'name': 'Jane Doe', 'age': '25', 'email': 'jane.doe@example.com', }, { 'name': 'Bob Johnson', 'age': '40', 'email': 'bob.johnson@example.com', }, ]; @override Widget build(BuildContext context) { return PaginatedDataTable2( columns: [ DataColumn( label: Text('Name'), ), DataColumn( label: Text('Age'), ), DataColumn( label: Text('Email'), ), ], rowsPerPage: 3, source: MyDataTableSource(dataList), // 设置 stickyColumns 和 stickyRows 来固定列标头和行标头 stickyColumns: 1, stickyRows: 1, ); } } class MyDataTableSource extends DataTableSource { final List<Map<String, String>> dataList; MyDataTableSource(this.dataList); @override DataRow getRow(int index) { final data = dataList[index]; return DataRow( cells: [ DataCell(Text(data['name'])), DataCell(Text(data['age'])), DataCell(Text(data['email'])), ], ); } @override int get rowCount => dataList.length; @override bool get isRowCountApproximate => false; @override int get selectedRowCount => 0; } ``` 在上面的示例代码中,我们使用 `PaginatedDataTable2` 组件,并将数据源封装在 `MyDataTableSource` 类中。然后,我们设置 `stickyColumns` 和 `stickyRows` 参数来固定列标头和行标头的位置。在这个示例中,我们将 `stickyColumns` 设置为 `1`,表示只固定第一列的位置;将 `stickyRows` 设置为 `1`,表示只固定第一行的位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值