博客列表 >表格的组成和基本结构及两种实现方式&表单的组成和结构

表格的组成和基本结构及两种实现方式&表单的组成和结构

嘬一口啊
嘬一口啊原创
2020年06月20日 18:36:432418浏览

表格的组成和基本架构

标签名 作用
table 表格的开始标签
caption 表格的标题标签
colgroup 对表格中的列进行组合,组合之后可以控制整个列,不需要重复为每个单元格设置样式
thead 设置表格的头部
tbody 设置表格的主体 可以有多个tbody(一定要写tbody如果不写浏览器会自动生成但是浏览器生成的tbody标签使用js是获取不到的)
tfoot 表格的底部
tr 代表表格中行
td 代表表格中的列

注意:注意:colgroup标签只能在 <table> 元素之内,在任何一个 <caption> 元素之后,在任何一个 <thead>、<tbody>、<tfoot>、<tr> 元素之前使用 <colgroup> 标签。

  1. 例:
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <title>表格的基本格式</title>
  6. <meta charset='utf-8' />
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  8. </head>
  9. <body>
  10. <table>
  11. <!-- 表格的标题 -->
  12. <caption>
  13. 标题
  14. </caption>
  15. <!-- 对表格中列进行组合,可以向整个列应用样式 -->
  16. <colgroup>
  17. <!-- 每一个col单标签控制一列,就是把多行中的列组合成一列 -->
  18. <!-- 如果两个相邻的列样式基本一致可用这种方式达到一个col标签控制两个列 -->
  19. <!-- 这里的span="2"就是把两行中的多个单列组合成一个大列进行控制 -->
  20. <!-- <col span="2" width="100px" style="background-color:yellow"/> -->
  21. <!-- 控制第一列的样式和宽度 -->
  22. <col width="100px" style="background-color:yellow"/>
  23. <!-- 控制第二列的样式和宽度 -->
  24. <col width="100px" style="background-color:green"/>
  25. <!-- 控制第三列的样式和宽度 -->
  26. <col width="100px" style="background-color:blue"/>
  27. </colgroup>
  28. <!-- 表格的头部 -->
  29. <thead>
  30. <tr>
  31. <td>一列</td>
  32. <td>二列</td>
  33. </tr>
  34. </thead>
  35. <!-- 表格的主体部分 (可以有多个)-->
  36. <tbody>
  37. <!-- tr:代表表格中的行 -->
  38. <!-- td代表表格中的列 -->
  39. <tr>
  40. <td>111</td>
  41. <td>111</td>
  42. <td>111</td>
  43. </tr>
  44. <tr>
  45. <td>111</td>
  46. <td>111</td>
  47. <td>111</td>
  48. </tr>
  49. </tbody>
  50. <tbody>
  51. <tr>
  52. <td>222</td>
  53. <td>222</td>
  54. <td>222</td>
  55. </tr>
  56. <tr>
  57. <td>222</td>
  58. <td>222</td>
  59. <td>222</td>
  60. </tr>
  61. </tbody>
  62. <!-- 表格的底部 -->
  63. <tfoot>
  64. <tr>
  65. <td>一列</td>
  66. <td>二列</td>
  67. </tr>
  68. </tfoot>
  69. </table>
  70. </body>
  71. </html>

使用表格实现购物车页面

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>使用表格实战购物车页面</title>
  5. <meta charset='utf-8' />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <style type="text/css">
  8. /*给当前页面设置字体大小*/
  9. html {
  10. font-size:14px;
  11. }
  12. /*给表格添加样式*/
  13. table {
  14. width:50%;
  15. /*去除表格之间的间隙*/
  16. border-collapse: collapse;
  17. /*让表哥在页面中水平居中*/
  18. margin:auto;
  19. /*设置表格中字体的颜色*/
  20. color:#888;
  21. /*设置字体的粗细(lighter是设置细字体bold是设置粗字体)*/
  22. font-weight: lighter;
  23. /*表格中的文字水平居中显示*/
  24. text-align:center;
  25. }
  26. table td {
  27. /*给单元格设置下边框*/
  28. border-bottom:1px solid #666;
  29. /*给没个单元格设置内边距*/
  30. padding:10px;
  31. }
  32. /*给caption设置样式*/
  33. table caption {
  34. /*这里的1.5rem是指默认字体大小的1.5倍*/
  35. font-size:1.5rem;
  36. /*设置下边距(当前元素距离相邻元素下边的距离)*/
  37. margin-bottom:20px;
  38. /*给字体加粗*/
  39. font-weight:bold;
  40. /*设置字体颜色*/
  41. color:blue;
  42. }
  43. /*给表格头部分添加样式*/
  44. thead {
  45. background-color: #40c3cb;
  46. }
  47. /*表格主体部分实现隔行换色*/
  48. table tbody tr:nth-of-type(even){
  49. background-color:#5bd069;
  50. }
  51. /*设置伪类:hover当鼠标悬停改变单元格的颜色*/
  52. table tbody tr:hover {
  53. background-color:red;
  54. }
  55. /*设置底部样式*/
  56. tfoot tr td {
  57. border-bottom:none;
  58. color:#cc22eb;
  59. font-size:1.2rem;
  60. font-weight: bold;
  61. }
  62. /*给结算按钮设置样式*/
  63. body div:last-of-type {
  64. width:50%;
  65. /*border:1px solid red;*/
  66. /*给这个div四周加上10个像素外边距病让这个div水平居中*/
  67. margin: 10px auto;
  68. overflow:hidden;
  69. }
  70. /*设置按钮的样式*/
  71. body div:first-of-type button {
  72. float:right;
  73. width:120px;
  74. height:80px;
  75. background-color:#eba18d;
  76. /*去除边框*/
  77. border:none;
  78. font-size:1.3rem;
  79. color:white;
  80. }
  81. /*鼠标悬停样式*/
  82. body div:first-of-type button:hover {
  83. background-color: coral;
  84. font-size: 1.5rem;
  85. }
  86. </style>
  87. </head>
  88. <body>
  89. <table>
  90. <caption>购物车</caption>
  91. <thead>
  92. <tr>
  93. <td>ID</td>
  94. <td>商品名</td>
  95. <td>单价/元</td>
  96. <td>单位</td>
  97. <td>数量</td>
  98. <td>金额/元</td>
  99. </tr>
  100. </thead>
  101. <tbody>
  102. <tr>
  103. <td>1</td>
  104. <td>1号商品</td>
  105. <td>100</td>
  106. <td></td>
  107. <td>1</td>
  108. <td>100</td>
  109. </tr>
  110. <tr>
  111. <td>2</td>
  112. <td>3号商品</td>
  113. <td>200</td>
  114. <td></td>
  115. <td>2</td>
  116. <td>400</td>
  117. </tr>
  118. <tr>
  119. <td>3</td>
  120. <td>3号商品</td>
  121. <td>300</td>
  122. <td></td>
  123. <td>3</td>
  124. <td>900</td>
  125. </tr>
  126. <tr>
  127. <td>4</td>
  128. <td>4号商品</td>
  129. <td>400</td>
  130. <td></td>
  131. <td>4</td>
  132. <td>1600</td>
  133. </tr>
  134. <tr>
  135. <td>5</td>
  136. <td>5号商品</td>
  137. <td>500</td>
  138. <td></td>
  139. <td>5</td>
  140. <td>2500</td>
  141. </tr>
  142. </tbody>
  143. <tfoot>
  144. <tr>
  145. <td colspan="4">总计:</td>
  146. <td>13</td>
  147. <td>35765</td>
  148. </tr>
  149. </tfoot>
  150. </table>
  151. <div>
  152. <button>结算</button>
  153. </div>
  154. </body>
  155. </html>

div+css实现表格

display: table; 定义一个div为表格样式
display: table-caption; 定义一个div为表格的标题
display: table-column-group; 定义一个div为表格的列分组样式
display: table-header-group; 定义一个div为表格的表头样式
display: table-row; 定义一个div为表格的行样式
display: table-cell; 定义一个div为表格的列样式
display: table-row-group; 定义一个div为表格的主体样式
display: table-footer-group; 定义一个div为表格的底部样式
  1. 例:
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>div+css实现表格</title>
  8. <style>
  9. /* 表格 */
  10. .table {
  11. display: table;
  12. border: 1px solid #000;
  13. width: 300px;
  14. text-align: center;
  15. margin: auto;
  16. }
  17. /* 标题 */
  18. .table-caption {
  19. display: table-caption;
  20. margin-bottom: 10px;
  21. font-size: 1.3rem;
  22. }
  23. /* 表头 */
  24. .table-thead {
  25. display: table-header-group;
  26. background-color: #ccc;
  27. }
  28. /* 行 */
  29. .table-row {
  30. display: table-row;
  31. }
  32. /* 列 */
  33. .table-cell {
  34. display: table-cell;
  35. border: 1px solid #000;
  36. padding: 5px;
  37. }
  38. /* 主体 */
  39. .table-tbody {
  40. display: table-row-group;
  41. }
  42. /* 底部 */
  43. .table-tfoot {
  44. display: table-footer-group;
  45. }
  46. /* 列分组样式 */
  47. .table-colgroup {
  48. display: table-column-group;
  49. }
  50. .table-colgroup .table-col:first-of-type {
  51. display: table-column;
  52. background-color: lightblue;
  53. }
  54. .table-colgroup .table-col {
  55. display: table-column;
  56. background-color: lightgreen;
  57. }
  58. </style>
  59. </head>
  60. <body>
  61. <!-- 表格:<table>< -->
  62. <div class="table">
  63. <!-- 标题 <caption>-->
  64. <div class="table-caption">员工信息表</div>
  65. <!-- 列分组<colgroup> -->
  66. <div class="table-colgroup">
  67. <div class="table-col"></div>
  68. <div class="table-col"></div>
  69. <div class="table-col"></div>
  70. </div>
  71. <!-- 表头:<thead> -->
  72. <div class="table-thead">
  73. <!-- -->
  74. <div class="table-row">
  75. <div class="table-cell">ID</div>
  76. <div class="table-cell">姓名</div>
  77. <div class="table-cell">职务</div>
  78. </div>
  79. </div>
  80. <!-- 主体 -->
  81. <div class="table-tbody">
  82. <div class="table-row">
  83. <div class="table-cell">1</div>
  84. <div class="table-cell">小王</div>
  85. <div class="table-cell">程序员</div>
  86. </div>
  87. <div class="table-row">
  88. <div class="table-cell">2</div>
  89. <div class="table-cell">小张</div>
  90. <div class="table-cell">组长</div>
  91. </div>
  92. <div class="table-row">
  93. <div class="table-cell">2</div>
  94. <div class="table-cell">小李</div>
  95. <div class="table-cell">程序员</div>
  96. </div>
  97. <div class="table-row">
  98. <div class="table-cell">3</div>
  99. <div class="table-cell">小朱</div>
  100. <div class="table-cell">组长</div>
  101. </div>
  102. </div>
  103. <!-- 底部<tfoot> -->
  104. <div class="table-tfoot">
  105. <div class="table-row">
  106. <div class="table-cell">X</div>
  107. <div class="table-cell">Y</div>
  108. <div class="table-cell">Z</div>
  109. </div>
  110. </div>
  111. </div>
  112. </body>
  113. </html>

表单的结构及应用

  • from表单的基本结构

from标签 定义表单

from标签中的action是表单的提交地址

from标签中的methed是表单的提交方式(两种get/post)

fieldset标签将表单内的相关元素分组(就是控件组)

legend标签为fieldset元素定义标题

label标签为input元素定义标注(给input输入框前面加个名字)

input单标签定义输入框

textaera 标签定义文本域

  1. 文本域中 clos设置文本框的宽度,rows设置文本框的高度
  2. 例:
  3. <label for="wb">文本域</label>
  4. <textarea id="wb" name="wby" cols="40" rows="10" placeholder="不超过100字">

datalist 定义选项列表。与input元素配合使用该元素,来定义 input 可能的值

  1. list属性表明他是一个列表
  2. datelist标签中一定要有id属性这个id属性一定要和input输入框中的list属性绑定(就是id的名字要和list的名字一样就是绑定)
  3. input标签中list的值要和id的值一致
  4. option中间的文本可以写在option标签中间,也可以在option标签中添加一个label属性写在label属性中
  5. 例:
  6. <label for="brand">手机:</label>
  7. <input type="search" list="phone" name="brand" id="brand" />
  8. <datalist id="phone">
  9. <option value="apple"> </option>
  10. <option value="huawei" >华为</option>
  11. <option value="mi" label="小米"> </option>
  12. </datalist>
  • 表单中输入框获取焦点

id名字和label中的for值相关联当点击姓名时自动获取input的焦点

  1. 例:
  2. <label for="my-username">姓名:</label>
  3. <input type="text" id="my-username" name="username" placeholder="这是姓名" autofocus require />
  • input中的小属性

placeholder:设置输入框中的默认值

autofocus:页面刷新时自动获取当前输入框的焦点(注意:一个表单中只能有一个autofocus属性,autofocus没有值如果非要写值就是他本身)

require:社会仔当前输入框是必填选项

  • 表单中input的type类型

type="text" 文本类型

  1. 例:
  2. <input type="text" id="my-username" name="username" placeholder="这是姓名" autofocus require />

type="password" 文本加密

  1. 例:
  2. <input type="password" id="my-password" name="pass" placeholder="这是密码" />

type="email" 邮箱类型 (当表单提交时如果邮箱格式不合法蒋提示)

  1. 例:
  2. <input type="email" id="my-email" name="email" placeholder="这是邮箱"/>

type="data" 日期类型

  1. 例:
  2. <input type="date" name="birthday"/>

type="radio" 单选框类型 (单选框中的name都要相同)

  1. 例:
  2. <label for="dx">性别:</label>
  3. <input type="radio" name='danxuan' value="nan" /><label>男:</label>
  4. <input type="radio" name='danxuan' value="nv" /><label>女:</label>
  5. <input type="radio" name='danxuan' value="bm" id="dx" /><label>保密:</label>

type="checkbox" 复选框类型 (复选框中的name也都是相同的)

  1. 例:
  2. <label for="game">打游戏</label>
  3. <input type="checkbox" name="hobby[]" value="games" id='game' />
  4. <label for="photo">摄影</label>
  5. <input type="checkbox" name="hobby[]" value="photos" id='photo' />
  6. <label for="bc">编程</label>
  7. <input type="checkbox" name="hobby[]" value="bcs" id='bc' checked />

type="search" 选项列表类型 (给当前输入框设置可选列表)

  1. 例:
  2. <label for="brand">手机:</label>
  3. <input type="search" list="phone" name="brand" id="brand" />
  4. <datalist id="phone">
  5. <option value="apple"> </option>
  6. <option value="huawei" >华为</option>
  7. <option value="mi" label="小米"> </option>
  8. </datalist>

type="file" 上传类型 (input中的accept属性是文件上传类型)

  1. 例:<label for="wj">文件上传</label>
  2. <input type="file" id="wj" name='wenjian' accept="image/png, image/jpeg, image/gif" />

type="hidden" 设置输入框为隐藏域

  1. 例:
  2. <input type="hidden" name="yc" value="yc_123" />

总结

  1. 表格的组成和基本机构
  2. 使用表格实现购物车页面
  3. 使用div+css实现表格
  4. 表单的组成和基本结构
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议