HTML & CSS & JavaScript 从一个表格到一个灰阶颜色表 04

工具1:HBuilder X 1.9.9.20190522

工具2:火狐浏览器 67.0.4 (64 位)



目前,我们已经将一些行和列插入到表格中,并设置单元格的背景颜色,显示 RGB 值等。

例 7:最后,我们需要将表头插入到表格中。基于上一个例子,我们再加入一些 JavaScript 代码。

 1 <!DOCTYPE html>
 2 <html>
 3   <head>
 4     <meta charset="utf-8">
 5     <title>灰阶颜色表</title>
 6     <style type="text/css">
 7       table {
 8         width: 400px;               /* 设置表格的宽度 */
 9         border-width: 1px;          /* 设置表格的四条边框的宽度 */
10         border-style: solid;        /* 设置表格的四条边框的样式 */
11         border-color: gray;         /* 设置表格的四条边框的颜色 */
12         border-collapse: collapse;  /* 规定是否合并表格边框。 */
13         /* 使表格居中对齐 */
14         margin-left: auto;
15         margin-right: auto;
16       }
17       th {
18         color: white;               /* 设置表头单元格的文本的颜色 */
19         background-color: #3F3F3F;  /* 设置表头单元格的背景颜色 */
20       }
21       th, td {
22         /* 设置表格中的单元格的外边框风格 */
23         border-width: 1px;
24         border-style: solid;
25         border-color: gray;
26         text-align: left;                   /* 规定表格中的单元格的文本的水平对齐方式 */
27         font-family: "courier new", 新宋体;  /* 规定表格中的单元格的文本的字体系列 */
28         padding: 4px;                       /* 在一个声明中设置所有内边距属性。 */
29       }
30     </style>
31   </head>
32   <body onload="insertTableRow()">
33     <table id="grayScale">
34
35     </table>
36   </body>
37   <script type="text/javascript">
38     // #### 创建一个灰阶颜色表 ####
39     function insertTableRow() {
40       // 获取表格对象
41       var table = document.getElementById("grayScale");
42       // #### 加入表主体信息 ####
43       for (var i = 0; i < 256; ++i) {
44         // 插入一行
45         var tableRow = table.insertRow(i);
46         // RGB 颜色值
47         var value = dec2Hex("#", i) + dec2Hex("", i) + dec2Hex("", i);
48         // 插入第一个单元格,并设置背景颜色
49         tableRow.insertCell(0).style.backgroundColor = value;
50         // 插入第二个单元格,并将第一个单元格所对应的背景颜色的十六进制值写入其中
51         tableRow.insertCell(1).innerHTML = value.toUpperCase();
52         // 插入第三个单元格,并将第一个单元格所对应的背景颜色的RGB值写入其中
53         tableRow.insertCell(2).innerHTML = "rgb(" + i + "," + i + "," + i + ")";
54       }
55       // #### 加入表头信息 ####
56       // 表头中的单元格的内容
57       var tableHeaderContent = ["灰阶", "HEX", "RGB"];
58       // 表头中的单元格的宽度
59       var tableHeaderWidth = ["30%", "25%", "45%"];
60       // 在表格中创建并获取 <thead> 元素。
61       var tableHead = table.createTHead();
62       var txt;
63       for (var i = 0; i < 3; ++i) {
64         // 创建并获取一个 <th> 元素
65         var tableHeader = document.createElement("th");
66         // 将信息加入到单元格中
67         txt = document.createTextNode(tableHeaderContent[i]);
68         tableHeader.appendChild(txt);
69         // 将单元格插入到表头中
70         tableHead.appendChild(tableHeader);
71         // 设置表头中的单元格的宽度
72         tableHeader.style.width = tableHeaderWidth[i];
73       }
74     }
75     // 十进制数转 2 位十六进制数
76     // 形参 prefix 指定前缀
77     // 形参 value 的取值范围 0 ~ 255,如果传递一个在此范围之外的数字,将得到不可预期的结果。
78     function dec2Hex(prefix, value) {
79       var hexCode = value.toString(16);
80       var zeroes = "00";
81       var length = zeroes.length - hexCode.length;
82       return prefix + zeroes.substr(0, length) + hexCode;
83     }
84   </script>
85 </html>

通过使用火狐浏览器的查看器,我们可以看到,新增的表头位于表主体前面。

让我们一起看看这块 JavaScript 代码:

55       // #### 加入表头信息 ####
56       // 表头中的单元格的内容
57       var tableHeaderContent = ["灰阶", "HEX", "RGB"];
58       // 表头中的单元格的宽度
59       var tableHeaderWidth = ["30%", "25%", "45%"];
60       // 在表格中创建并获取 <thead> 元素。
61       var tableHead = table.createTHead();
62       var txt;
63       for (var i = 0; i < 3; ++i) {
64         // 创建并获取一个 <th> 元素
65         var tableHeader = document.createElement("th");
66         // 将信息加入到单元格中
67         txt = document.createTextNode(tableHeaderContent[i]);
68         tableHeader.appendChild(txt);
69         // 将单元格插入到表头中
70         tableHead.appendChild(tableHeader);
71         // 设置表头中的单元格的宽度
72         tableHeader.style.width = tableHeaderWidth[i];
73       }

这是 JavaScript 数组

57 var tableHeaderContent = ["灰阶", "HEX", "RGB"];
59 var tableHeaderWidth = ["30%", "25%", "45%"];

在表格中创建 <thead> 元素,并将返回的元素的引用存储在 tableHead 中。

61 var tableHead = table.createTHead();

关于 HTML DOM createTHead() 方法

定义和用法:createTHead() 方法用于在表格中获取或创建 <thead> 元素。

语法:tableObject.createTHead()

返回值:返回一个 TableSection,表示该表的 <thead> 元素。如果该表格已经有了表头,则返回它。如果该表没有表头,则创建一个新的空 <thead> 元素,把它插入表格,并返回它。

创建并获取 <th> 元素,接着将文本信息添加进 <th> 单元格中,最后将单元格插入到表头中。

65 var tableHeader = document.createElement("th");
67 txt = document.createTextNode(tableHeaderContent[i]);
68 tableHeader.appendChild(txt);
70 tableHead.appendChild(tableHeader);

关于如何创建 <th> 元素,参考:HTML DOM TableHeader 对象

关于 HTML DOM appendChild() 方法

定义和用法:appendChild() 方法向节点添加最后一个子节点。

提示:如果您需要创建包含文本的新段落,请记得添加到段落的文本的文本节点,然后向文档添加该段落。您也可以使用 appendChild() 方法从一个元素向另一个元素中移动元素。



到这里,《HTML & CSS & JavaScript 从一个表格到一个灰阶颜色表》已经完结!

原文地址:https://www.cnblogs.com/Satu/p/11112104.html

时间: 2024-08-11 10:16:47

HTML & CSS & JavaScript 从一个表格到一个灰阶颜色表 04的相关文章

HTML &amp; CSS &amp; JavaScript 从一个表格到一个灰阶颜色表 03

工具1:HBuilder X 1.9.9.20190522 工具2:火狐浏览器 67.0.4 (64 位) 其实,我还想使用表格,做一个这样的颜色表,如下图所示: 如果按照之前的做法,把每一种颜色都列举出来,估计做完上面这个颜色表,估计人都废了. 为了解决这个重复性的问题,我们必须引入另一种语言:JavaScript 为何学习 JavaScript? JavaScript 是 web 开发者必学的三种语言之一: HTML 定义网页的内容 CSS 规定网页的布局 JavaScript 对网页行为进

HTML &amp; CSS &amp; JavaScript 从一个表格到一个灰阶颜色表(目录)

HTML & CSS & JavaScript 从一个表格到一个灰阶颜色表 01 HTML & CSS & JavaScript 从一个表格到一个灰阶颜色表 02 HTML & CSS & JavaScript 从一个表格到一个灰阶颜色表 03 HTML & CSS & JavaScript 从一个表格到一个灰阶颜色表 04 最终实现的效果: 原文地址:https://www.cnblogs.com/Satu/p/11115545.html

HTML &amp; CSS &amp; JavaScript 从一个表格到一个灰阶颜色表 01

工具1:HBuilder X 1.9.9.20190522 工具2:火狐浏览器 67.0.4 (64 位) 在开始之前,你需要了解一些基本的知识,不要求你能掌握,但是了解一下还是有益的: HTML 简介 HTML <!DOCTYPE> 标签 HTML <html> 标签 HTML <head> 标签 HTML <meta> 标签 HTML <title> 标签 HTML <body> 标签 例 1:一个简单的 HTML 表格,包含三行

HTML &amp; CSS &amp; JavaScript 从一个表格到一个灰阶颜色表 02

工具1:HBuilder X 1.9.9.20190522 工具2:火狐浏览器 67.0.4 (64 位) 其实,我想使用表格,做一个这样的颜色表,如下图所示: 例 3:我们参照上图,基于上一个例子,对表格的内容做一些修改. 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>颜色表</title> 6 </head>

聊聊html+css+javascript的学习顺序

最近在知乎看到一篇文章,内容颇具感染力,助力了我经营TwentyHeart的想法,手动补上文章地址https://zhuanlan.zhihu.com/p/23893278 时不我待,如果有想法有信念想入前端大坑的朋友,just do it! 说下小编入坑八个月的感悟想法与学习顺序吧: 身为一个前端,必须会核心技能是HTML+CSS+Javascript,如果把HTML比作一个裸体机器人的话,那么css就是这个机器人的皮肤,Javascript就是这个有身体,有皮肤的机器 人的动作了,用技术词来

分享一个CSS+JavaScript框架materializecss

一.内容: CSS+JavaScript框架materializecss. 二.网址:http://materializecss.com 三.图片:

HTML + CSS + JavaScript 实现勾选动态表格中的记录

要求 添加一个学生信息表格,表格的信息有编号.姓名.性别.信息勾选4个字段,可以任意的勾选其中0行或以上信息行. 主要步骤分析 创建一个学生信息表格 定义三个按钮:全选.全不选.反选 给添加按钮绑定点击事件 步骤实现 创建一个表格 <table> <caption>学生信息表</caption> <tr> <th><input type="checkbox" name="cb" id="fi

ArcGIS API for JavaScript开发环境搭建及第一个实例demo

原文:ArcGIS API for JavaScript开发环境搭建及第一个实例demo ESRI公司截止到目前已经发布了最新的ArcGIS Server for JavaScript API v3.9,它提供了更为丰富而又强大的功能.     一.安装前准备 1.ArcGIS Server for JavaScript API各版本下载地址:http://support.esrichina-bj.cn/2011/0223/960.html,我们选择下载最新的"ArcGIS API for Ja

bootstrap做了一个表格

花了一下午做了一个表格: 大致是这样: 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>广发互联小贷</title> <meta name="keywords" content="广发互联小贷" /> <meta name="description" co