
HTML <ul> 元素 ( 或 HTML 无序列表元素) 代表多项的无序列表,即无数值排序项的集合,且它们在列表中的顺序是没有意义的。通常情况下,无序列表项的头部可以是几种形式,如一个点,一个圆形或方形。头部的风格并不是在页面的 HTML 描述定义, 但在其相关的 CSS 可以用 list-style-type 属性。 ul 标签需要和 li 标签结合使用。
属性说明:
HTML <ol> 元素 表示多个有序列表项,通常渲染为有带编号的列表。
属性说明:
HTML 元素 (或 HTML 描述列表元素)是一个包含术语定义以及描述的列表,通常用于展示词汇表或者元数据 ( 键-值对列表 )。
HTML 的 table 元素表示表格数据 — 即通过二维数据表表示的信息。
?>属性:(写在开头标签的里面的单词就叫做该元素的属性)
浏览器运行效果如下:
把上面表格中数字为 1 和 2 的单元格进行合并,数字为 3 和 6 的单元格进行合并。
数字为 1 和 2 的单元格分别在不同的列中所以是进行了列合并,因为只需要合并两个单元格所以 colspan 的值为 2, 列合并只需要在数字为 1 的单元格中添加属性 colspan,然后把数字为 2 的单元格删除,列合并就完成了。
数字为 1 和 2 的单元格分别在不同的行中所以是进行了行合并,因为只需要合并两个单元格所以 rowspan 的值为 2, 行合并只需要在数字为 3 的单元格中添加属性 rowspan,然后把数字为 6 的单元格删除,行合并就完成了。
浏览器运行效果如下:
1、飞书:
飞书是字节跳动于2016年自研的新一代一站式协作平台,是保障字节跳动全球五万人高效协作的办公工具。飞书将即时沟通、日历、云文档、云盘和工作台深度整合,通过开放兼容的平台,让成员在一处即可实现高效的沟通和流畅的协作,全方位提升企业效率。
2、SpreadJS:
是一款基于 HTML5 的纯前端表格控件,兼容 450 种以上的 Excel 公式,具备“高性能、跨平台、与 Excel 高度兼容”的产品特性。
SpreadJS 可为用户带来亲切、易用的使用体验,并满足 Web Excel组件开发、 表格文档协同编辑、 数据填报、 类Excel报表设计等业务场景。
3、石墨文档:
石墨文档是中国一款支持云端实时协作的企业办公服务软件,可以实现多人同时在同一文档及表格上进行编辑和实时讨论,同步响应速度达到毫秒级。
文档/表格实时保存在云端,即写即存。在编辑过程中,文档页面上方会实时提示文档的状态,包括正在保存、保存成功和最后更新时间。
4、腾讯文档:
腾讯文档是一款可多人同时编辑的在线文档,支持在线Word/Excel/PPT/PDF/收集表多种类型。可以在电脑端、移动端、iPad等多类型设备上随时随地查看和修改文档。打开网页就能查看和编辑,云端实时保存,权限安全可控。
5、超级表格:
超级表格是一款基于云端的数据协作表格软件,给用户提供数据收集与报表,共享协作的解决方案。服务对象包括电商、教育机构、政府、连锁店和各种销售、服务业公司。超级表格还给银行、电信、烟草等大型机构提供私有云部署解决方案。
多人查看/修改同一表格。可设置让他人只看到/修改部分的行、列和单元格。支持通过手机表单收集数据。可自行创建多个表格关联后当作OA
举个实现HTML5响应式表格的实例,仅供参考:HTML结构如下:
<table id="miyazaki">
<caption>The Films of Miyazaki</caption>
<thead>
<tr><th>Film<th>Year<th>Honor
<tbody>
<tr>
<td data-th="Film">My Neighbor Totoro
<td data-th="Year">1988
<td data-th="Honor">Blue Ribbon Award (Special)
<tr>
<td data-th="Film">Princess Mononoke
<td data-th="Year">1997
<td data-th="Honor">Nebula Award (Best Script)
<tr>
<td data-th="Film">Spirited Away
<td data-th="Year">2001
<td data-th="Honor">Academy Award (Best Animated Feature)
<tr>
<td data-th="Film">Howl’s Moving Castle
<td data-th="Year">2004
<td data-th="Honor">Hollywood Film Festival (Animation OTY)
</table>
注意代码中的data属性,每一个单元格的data属性都与表格的header相对应。
CSS样式
表格基本的CSS样式如下:
table#miyazaki caption {
font-size: 2remcolor: #444
margin: 1rem
background-image: url(miyazaki.png), url(miyazaki2.png)
background-size: contain
background-repeat: no-repeat
background-position: center left, center right
}
table#miyazaki {
border-collapse: collapse
font-family: Agenda-Lightfont-weight: 100
background: #333color: #fff
text-rendering: optimizeLegibility
border-radius: 5px
}
table#miyazaki thead th { font-weight: 600}
table#miyazaki thead th, table#miyazaki tbody td {
padding: .8remfont-size: 1.4rem
}
table#miyazaki tbody td {
padding: .8remfont-size: 1.4rem
color: #444background: #eee
}
table#miyazaki tbody tr:not(:last-child) {
border-top: 1px solid #ddd
border-bottom: 1px solid #ddd
}
下面是响应式表格的CSS代码:
@media screen and (max-width: 600px) {
table#miyazaki caption { background-image: none}
table#miyazaki thead { display: none}
table#miyazaki tbody td { display: blockpadding: .6rem}
table#miyazaki tbody tr td:first-child { background: #333color: #fff}
table#miyazaki tbody td:before {
content: attr(data-th)font-weight: bold
display: inline-blockwidth: 6rem
}
}
media query代码中隐藏表格的头部单元,并且将每一个单元格的data-th作为标签显示在单元格内容的前面。每一行的第一个单元格都设置了特别的背景色和前景色,使之更为清晰。
扩展
你现在可以缩放浏览器来看看效果,非常不错。但是上面的代码是不可扩展的:要添加一个新行必须手动为每个单元格添加一个data-th属性。要想做到自动化,可以在服务器端实现,如PHP。也可以通过javascript来实现它。
首先,将整个表格都进行简化:
<table id="miyazaki">
<caption>The Films of Hayao Miyazaki</caption>
<thead>
<tr><th>Film<th>Year<th>Honor
<tbody>
<tr>
<td>My Neighbor Totoro
<td>1988
<td>Blue Ribbon Award (Special)
<tr>
<td>Princess Mononoke
<td>1997
<td>Nebula Award (Best Script)
<tr>
<td>Spirited Away
<td>2001
<td>Academy Award (Best Animated Feature)
<tr>
<td>Howl’s Moving Castle
<td>2004
<td>Hollywood Film Festival (Animation OTY)
</table>
然后在文档的底部添加下面的javascript代码:
<script>
var headertext = []
var headers = document.querySelectorAll("#miyazaki th"),
tablerows = document.querySelectorAll("#miyazaki th"),
tablebody = document.querySelector("#miyazaki tbody")
for(var i = 0i <headers.lengthi++) {
var current = headers[i]
headertext.push( current.textContent.replace( /\r?\n|\r/,"") )
}
for (var i = 0, rowrow = tablebody.rows[i]i++) {
for (var j = 0, colcol = row.cells[j]j++) {
col.setAttribute("data-th", headertext[j])
} }
</script>
上面的代码的意思是:获取每一个<th>中的文本内容,然后分别剔除它们的回车和换行符。然后将这些文本分别添加到适当的单元格的data属性上,添加的规则与CSS样式的规则相一致。(使用setAttribute要比dataset要好,后者只有在IE 11中得到支持。)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)