「趣学前端」优雅又精致,来看看别人家的表格样式是怎样实现

简介: 用技术实现梦想,用梦想打开创意之门。今天分享前端CSS中的表格的知识点。

背景

我身边一些非互联网技术从业的朋友,偶尔看我转发到朋友圈的文章,会表示出一定的兴趣。前段时间,有朋友问我公众号的问题,所以我来了灵感,准备写一个趣学前端系列,适用于零基础、新手前端或者想把编程当做兴趣培养的人。

学问必须合乎自己的兴趣,方可得益。 ——莎士比亚

上篇习题解析

上一篇结尾留了一个小习题,先来看看,表格的高亮的表头、隔行高亮的效果是如何实现的。

通常为元素设计背景色可以实现高亮效果。

隔行的效果则是通过为元素添加:nth-child()选择器实现的。:nth-child()选择器的作用是匹配父元素中第n个子元素,n从0开始,所以奇数行或者偶数行,隔行高亮可以这样设置:

  • 奇数:tr:nth-child(2n+1) 或者 tr:nth-child(odd)
  • 偶数:tr:nth-child(2n) 或者 tr:nth-child(even)
.tabletable {
display: inline-block;
font-size: 12px;
width: auto;
max-width: 100%;
overflow: auto;
border: 1pxsolid#f6f6f6;}
.tablethead {
background: #4dd0e1;color: #000;text-align: left;
}
.tabletd,
.tableth {
padding: 12px7px;
line-height: 24px;
}
.tabletbodytr:nth-child(2n+2) {
background: rgba(77, 208, 225, 0.5);
}

知识点讲解

前面对于表格高亮设置的讲解,也引出了今天要讲的内容,网页中看到的一些优雅且精致的表格样式是如何实现的。

百变表格

以下表格的样式,参考了antd的Table组件、掘金文章主题等。

类型

效果展示

实现方案

错落有致的边框表格

前面的篇章里讲过border属性可以为元素添加边框。每个元素的边框包括四个边,如果相邻元素的四个边都设置,边框会变粗,所以单元格需要为相对的边设置单侧边框才有图中的效果。border-right: 2px solid #916dd5和 border-bottom: 2px solid #916dd5。

我为单元格都设置右侧和下侧的边框,所以表格最外层只需要设置左侧边框即可,border-left: 2px solid #916dd5。

表头固定的表格

表头固定,即不随表格内容的滑动一起滑动。前面的篇章提到过吸顶的效果,实现思路是一致的。

表头设置黏性定位,即position: sticky。就可以实现固定的效果。

带省略的表格

当表格文字过多时,为了优雅的展示表格,一般会设置文字超出一定的长度展示省略号。省略号的功能是为单元格添加了text-overflow属性且值为ellipsis。

注意省略号功能同时要为元素设置不换行white-space: nowrap以及内容超出时隐藏overflow: hidden。

带分组的表格

rowspan 属性可以定义表头单元格应该横跨的行数。

colspan属性可以定义表头单元格应该横跨的列数。

scope 属性标识某个单元是否是列、行、列组或行组的表头。

没错,想实现分组的表格,需要欢乐组合套餐。

活动规则单元格上设置rowspan 属性值为2,它可以跨越2行。

零食种类单元格上设置colspan属性值为6,它可以跨越6列。

数量单元格上设置scope属性值为row,可以被标识为行的表头。


知识点

边框

以下知识内容来自于菜鸟教程

属性名

作用

属性值

border-left

简写属性把左边框的所有属性设置到一个声明中。

border-left-width:规定左边框的宽度。参阅:border-left-width 中可能的值。

border-left-style:规定左边框的样式。参阅:border-left-style 中可能的值。

border-left-color:规定左边框的颜色。参阅:border-left-color 中可能的值。

inherit:规定应该从父元素继承 border-left:属性的设置。

border-right、border-bottom和border-left的知识点很相似,就不一一列举了。

定位

以下知识内容来自于菜鸟教程

属性名

作用

属性值

position

指定了元素的定位类型。

sticky 定位

基于用户的滚动位置来定位。

粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。

它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。


省略号

以下知识内容来自于菜鸟教程

属性名

作用

属性值

text-overflow

属性指定当文本溢出包含它的元素时,应该如何显示。可以设置溢出后,文本被剪切、显示省略号 (...) 或显示自定义字符串(不是所有浏览器都支持)。

clip:剪切文本。

ellipsis:显示省略符号 ... 来代表被修剪的文本。

string:使用给定的字符串来代表被修剪的文本。

initial:设置为属性默认值。阅读关于 initial。

inherit:从父元素继承该属性值。 阅读关于 inherit。

white-space

属性指定元素内的空白怎样处理。

normal:默认。空白会被浏览器忽略。

pre:空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签。

nowrap:文本不会换行,文本会在同一行上继续,直到遇到<br> 标签为止。

pre-wrap:保留空白符序列,但是正常地进行换行。

pre-line:合并空白符序列,但是保留换行符。

inherit:规定应该从父元素继承 white-space 属性的值。

表格

以下知识内容来自于菜鸟教程

属性名

作用

属性值

scope

属性标识某个单元是否是列、行、列组或行组的表头。

col:规定单元格是列的表头。

row:规定单元格是行的表头。

colgroup:规定单元格是列组的表头。

rowgroup:规定单元格是行组的表头。

rowspan

属性可以定义表头单元格应该横跨的行数。

number:规定表头单元格应该横跨的行数。注意: rowspan="0" 告知浏览器使单元格横跨到表格组件中的最后一个行(thead、tbody 或 tfoot)。

colspan

属性定义表头单元格应该横跨的列数。

number:规定表头单元格应该横跨的列数。注意: colspan="0" 告知浏览器使单元格横跨到列组 (colgroup) 的最后一列。

讲解代码

讲解代码放到了在线预览平台

讲解代码操作步骤

演示代码都可通过代码复制拷贝到本地的IDE中进行演示。也可以自己照着敲击学习。

第一步:选中一个想查看代码的功能项;

第二步:将查看的功能的代码进行复制;

第三步:将代码粘贴到一个空档html文档中;

第四步:运行这个新建的html文档,刚才的顶部模块功能就出来啦。

下篇预告

周末会整理一篇近期工作对于大型项目中遇到的问题的总结。

总结

表格可塑性还是很强,可以配合各种CSS属性,最终实现你想要的表格样式。它可以更换各种优雅的颜色,添加线条,设置不同的定位方式。总之,想象有多宽阔,表格就能有多精致。

有时候学习并不困难,如何应用是关键,所以,想要熟练的掌握前端知识,还需要不断的练习和应用。

前端的千变万化,源于对前端知识的融会贯通。

目录
相关文章
|
7月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
伪类:伪类这个叫法源自于它们跟类相似,但实际上并没有类会附加到标记中的标签上。 伪类分为两种(以及新增的伪类选择器): UI伪类:会在HTML元素处于某种状态时(例如:鼠标指针位于连接上),为该元素应用CSS样式。 :hover 结构化伪类:会在标记中存在某种结构上的关系时 例如: 某元素是一组元素中的第一个或最后一个,为该元素应用CSS样式。 :not和:target(CSS3新增的两个特殊的伪类选择器)
836 2
|
开发框架 前端开发 JavaScript
循序渐进VUE+Element 前端应用开发(5)--- 表格列表页面的查询,列表展示和字段转义处理
循序渐进VUE+Element 前端应用开发(5)--- 表格列表页面的查询,列表展示和字段转义处理
|
7月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
继承 我们的CSS中很多的属性也是可以继承的,其中相当一部分是跟文字的相关的,比如说颜色、字体、字号。 当然还有一部分是不能继承的。 例如边框、内外边距。 层叠 层叠是CSS的核心机制。 层叠的工作机制: 当元素的同一个样式属性有多种样式值的时候,CSS就是靠层叠机制来决定最终应用哪种样式。 层叠规则: 层叠规则一:找到应用给每个元素和属性的声明。 说明:浏览器在加载每个页面时,都会据此查找到每条CSS规则, 并标识出所有受到影响的HTML元素。
250 1
|
Dart 前端开发
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
529 75
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
前端开发 JavaScript
乾坤qiankun(微前端)样式隔离解决方案--使用插件替换前缀
乾坤qiankun(微前端)样式隔离解决方案--使用插件替换前缀
2934 8
|
前端开发 程序员
【前端web入门第二天】01 html语法实现列表与表格_合并单元格
本文介绍了HTML中的列表与表格的使用方法。列表包括无序列表(`<ul>`嵌套`<li>`)、有序列表(`<ol>`嵌套`<li>`)和定义列表(`<dl>`嵌套`<dt>`和`<dd>`)。
406 20
|
前端开发 JavaScript
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
1842 1
|
前端开发
【前端web入门第五天】03 清除默认样式与外边距问题【附综合案例产品卡片与新闻列表】
本文档详细介绍了CSS中清除默认样式的方法,包括清除内外边距、列表项目符号等;探讨了外边距的合并与塌陷问题及其解决策略;讲解了行内元素垂直边距的处理技巧;并介绍了圆角与盒子阴影效果的实现方法。最后通过产品卡片和新闻列表两个综合案例,展示了所学知识的实际应用。
485 11
|
前端开发
前端基础(四)_CSS层叠样式表_什么是css_css样式的引入方式_样式表的优先级_样式选择器
本文详细介绍了CSS(层叠样式表)的基本概念、语法规则、引入方式、样式表的优先级和样式选择器。文章解释了CSS的作用,展示了如何在HTML中通过行内样式、内部样式和外部样式引入CSS,讨论了不同CSS选择器的优先级和如何确定最终的样式应用。此外,还强调了使用`!important`规则时的优先级高于行内样式。
894 1
|
前端开发
前端使用xlsx模板导出表格
【9月更文挑战第10天】在前端使用 `xlsx` 模板导出表格需完成以下步骤:首先引入 `xlsx` 库,准备数据与模板;接着读取模板文件,选择特定工作表并填充数据;最后将填充后的表格转换为二进制数据,创建 Blob 对象并触发下载。整个过程中可根据需求调整模板格式和数据填充方式。
672 6

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
    1074
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    466
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    363
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    349
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    469
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    634
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    995
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    250
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    836
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    430