博客列表 >表格与表单实战教程

表格与表单实战教程

天涯
天涯原创
2020年06月17日 13:03:07824浏览

表格与表单实战教程

购物车实战

body主体代码

  1. <body>
  2. <!-- 表格 -->
  3. <table>
  4. <!-- 标题 -->
  5. <caption>
  6. 购物车
  7. </caption>
  8. <!-- 头部 -->
  9. <thead>
  10. <tr>
  11. <th>ID</th>
  12. <th>品名</th>
  13. <th>单价/元</th>
  14. <th>单位</th>
  15. <th>数量</th>
  16. <th>金额/元</th>
  17. </tr>
  18. </thead>
  19. <!-- 主体 -->
  20. <tbody>
  21. <tr>
  22. <td>SN-1010</td>
  23. <td>MacBook Pro电脑</td>
  24. <td>18999</td>
  25. <td></td>
  26. <td>1</td>
  27. <td>18999</td>
  28. </tr>
  29. <tr>
  30. <td>SN-1020</td>
  31. <td>iPhone手机</td>
  32. <td>4999</td>
  33. <td></td>
  34. <td>2</td>
  35. <td>9998</td>
  36. </tr>
  37. <tr>
  38. <td>SN-1030</td>
  39. <td>智能AI音箱</td>
  40. <td>399</td>
  41. <td></td>
  42. <td>5</td>
  43. <td>1995</td>
  44. </tr>
  45. <tr>
  46. <td>SN-1040</td>
  47. <td>SSD移动硬盘</td>
  48. <td>888</td>
  49. <td></td>
  50. <td>2</td>
  51. <td>1776</td>
  52. </tr>
  53. <tr>
  54. <td>SN-1050</td>
  55. <td>黄山毛峰</td>
  56. <td>999</td>
  57. <td></td>
  58. <td>3</td>
  59. <td>2997</td>
  60. </tr>
  61. </tbody>
  62. <!-- 底部 -->
  63. <tfoot>
  64. <tr>
  65. <td colspan="4">总计:</td>
  66. <td>13</td>
  67. <td>35765</td>
  68. </tr>
  69. </tfoot>
  70. </table>
  71. <!-- 结算按钮 -->
  72. <div>
  73. <button>结算</button>
  74. </div>
  75. </body>

样式代码

  1. <style>
  2. html {
  3. font-size: 14px;
  4. }
  5. table {
  6. /* 去掉间隙 */
  7. border-collapse: collapse;
  8. /* 宽度设置为窗口的70% */
  9. width: 70%;
  10. /* 横向居中 */
  11. margin: auto;
  12. color: #666;
  13. /* 字体变细 */
  14. font-weight: lighter;
  15. /* 文体居中 */
  16. text-align: center;
  17. }
  18. /* 为单元格添加边框 th为头单元格,td为表体单元格 */
  19. table thead th,
  20. table td {
  21. /* 添加底边框 线粗1px,solid 实线 */
  22. border-bottom: 1px solid #ccc;
  23. /* 内边柜 */
  24. padding: 10px;
  25. }
  26. /* 标题样式 */
  27. table caption {
  28. /* rem指原始字体的倍数,如原始字体为14px,则1.5rem=14px*1.5=21px */
  29. font-size: 1.5rem;
  30. /* 外边柜,这里以table thead 作为参照物 */
  31. margin-bottom: 15px;
  32. color: green;
  33. }
  34. /* 设置表头栏字体及颜色 */
  35. table th {
  36. font-weight: lighter;
  37. color: green;
  38. }
  39. /* 设置表头栏背景色 */
  40. table thead tr:first-of-type {
  41. background-color: cyan;
  42. }
  43. /* 设置偶数行为背景色为黄色 */
  44. table tbody tr:nth-of-type(even) {
  45. background-color: yellow;
  46. }
  47. /* 设置鼠标移动到行的悬停效果 移上变换背景色为粉色*/
  48. table tbody tr:hover {
  49. background-color: pink;
  50. }
  51. /* 设置表底样式 */
  52. table tfoot td {
  53. /* 不显示底部边框 */
  54. border-bottom: none;
  55. color: coral;
  56. font-size: 1.2rem;
  57. font-weight: bolder;
  58. }
  59. /* 结算按钮 */
  60. /* 用分组结构选择器取最后一个DIV */
  61. body div:last-of-type {
  62. width: 70%;
  63. margin: 10px auto;
  64. }
  65. /* 用分组结构选择器取第一个DIV 因文档body中只有一个div,所以和最后一个div是同一个*/
  66. body div:first-of-type button {
  67. /* 元素靠右,相对父元素 */
  68. float: right;
  69. width: 120px;
  70. height: 32px;
  71. background-color: seagreen;
  72. color: white;
  73. border: none;
  74. /* cursor设置鼠标样式,pointer为手状 */
  75. cursor: pointer;
  76. }
  77. /* 设置按钮鼠标悬停样式 */
  78. body div:first-of-type button:hover {
  79. background-color: coral;
  80. font-size: 1.1rem;
  81. }
  82. </style>

显示效果

购物车实战


登录界面实战

body主体代码

  1. <body>
  2. <h3>用户注册</h3>
  3. <!-- form+input.... -->
  4. <!-- form:表单固定元素名,action提交目标,method为提交方式,常用的值有post、get -->
  5. <form action="" method="POST">
  6. <!--fieldset 控件组 -->
  7. <fieldset>
  8. <!-- legeng为本控件组定义个标题,与fieldset配合使用,不用legeng,默认为无标题 -->
  9. <legend>基本信息(必填)</legend>
  10. <div>
  11. <!-- label:标签控件,for属性的值为需绑定控件的ID值,可以与其它控件绑定,绑定后,点击label控件,
  12. 则焦点转换到被绑定的控件上。for为空时则不绑定任何控件,独立显示,点击无效 -->
  13. <label for="my-username">账号:</label>
  14. <!-- input:文本录入控件
  15. type常用属性值:text(文本)、email(邮箱)、password(密码)、date(日期)、radio(单选框)、
  16. checkbox(复选框)、search(搜索框,与datalist配合使用时,可显示下拉提示效果) -->
  17. <input
  18. type="text"
  19. id="my-username"
  20. name="username"
  21. placeholder="6-15位字符"
  22. autofocus
  23. />
  24. </div>
  25. <div>
  26. <label for="email-id">邮箱:</label>
  27. <input
  28. type="email"
  29. name="email"
  30. id="email-id"
  31. placeholder="demo@example.com"
  32. />
  33. </div>
  34. <!-- 密码 -->
  35. <div>
  36. <label for="pwd-1">密码:</label>
  37. <!-- placeholder显示提示条件,当文本框为空值时显示 -->
  38. <input type="password"" name="password1" id="pwd-1"
  39. placeholder="不少于6位且字母+数字" />
  40. </div>
  41. <div>
  42. <label for="pwd-2">确认:</label>
  43. <input type="password" name="password2" id="pwd-2" />
  44. </div>
  45. </fieldset>
  46. <fieldset>
  47. <legend>扩展信息(选填)</legend>
  48. <div>
  49. <label
  50. >生日:
  51. <input type="date" name="birthday" />
  52. </label>
  53. </div>
  54. <!-- 以下单选按钮用DIV包装后,起到一组按钮的效果 -->
  55. <div>
  56. <!-- 单选按钮 -->
  57. <label for="secret">性别:</label>
  58. <!-- 单选按钮中的name属性名必须相同 -->
  59. <input type="radio" name="gender" value="male" id="male" /><label
  60. for="male"
  61. ></label
  62. >
  63. <input type="radio" name="gender" value="female" id="female" /><label
  64. for="female"
  65. ></label
  66. >
  67. <input
  68. type="radio"
  69. name="gender"
  70. value="secret"
  71. id="secret"
  72. checked
  73. /><label for="secret">保密</label>
  74. </div>
  75. <div>
  76. <!-- 复选框 -->
  77. <label for="programme">爱好</label>
  78. <!-- 因为复选框返回是一个或多个值,最方便后端用数组来处理, 所以将name名称设置为数组形式便于后端脚本处理 -->
  79. <!-- checkbox的name属性值强烈建议加“[]”,为后端处理做准备 -->
  80. <input type="checkbox" name="hobby[]" id="game" value="game" /><label
  81. for="game"
  82. >打游戏</label
  83. >
  84. <!-- checked 默认选中 -->
  85. <input
  86. type="checkbox"
  87. name="hobby[]"
  88. value="shoot"
  89. id="shoot"
  90. /><label for="shoot">摄影</label>
  91. <input
  92. type="checkbox"
  93. name="hobby[]"
  94. value="programme"
  95. id="programme"
  96. checked
  97. /><label for="programme">编程</label>
  98. </div>
  99. <div>
  100. <!-- 选项列表 -->
  101. <label for="brand">手机:</label>
  102. <!-- search:搜索框,与下面的datalist(数据列表)配合使用,起到提示效果 -->
  103. <input type="search" list="phone" name="brand" id="brand" />
  104. <datalist id="phone">
  105. <option value="apple"> </option>
  106. <option value="huawei" label="华为"></option>
  107. <option value="mi" label="小米"> </option>
  108. </datalist>
  109. </div>
  110. </fieldset>
  111. <fieldset>
  112. <legend>其它信息(选填)</legend>
  113. <!--文件上传-->
  114. <div>
  115. <label for="uploads">上传头像:</label>
  116. <input
  117. type="file"
  118. name="user_pic"
  119. id="uploads"
  120. accept="image/png, image/jpeg, image/gif"
  121. />
  122. </div>
  123. <!--文本域-->
  124. <div>
  125. <label for="resume">简历:</label>
  126. <!--注意文本域没有value属性-->
  127. <textarea
  128. name="resume"
  129. id="resume"
  130. cols="30"
  131. rows="5"
  132. placeholder="不超过100字"
  133. ></textarea>
  134. </div>
  135. </fieldset>
  136. <!-- 隐藏域, 例如用户的Id, 注册,登录的时间。。。。
  137. 隐藏域是为后端取数存数准备的,无须显示但必须存在的数据可以用隐藏域
  138. 用JS控制后,也可实现显示/隐藏效果 -->
  139. <input type="hidden" name="user_id" value="123" />
  140. <p>
  141. <!-- submit为提交按钮控件,现在流行直接加button,不建议用submit,因样式控制没有button方便 -->
  142. <input type="submit" value="提交" class="btn" />
  143. <button class="btn">提交</button>
  144. </p>
  145. </form>
  146. </body>

样式代码

  1. <style>
  2. body {
  3. color: #555;
  4. }
  5. h3 {
  6. /* 文本居中 */
  7. text-align: center;
  8. }
  9. form {
  10. width: 450px;
  11. /* 外边距 */
  12. margin: 30px auto;
  13. border-top: 1px solid #aaa;
  14. }
  15. form fieldset {
  16. border: 1px solid seagreen;
  17. background-color: lightcyan;
  18. box-shadow: 2px 2px 4px #bbb;
  19. border-radius: 10px;
  20. margin: 20px;
  21. }
  22. form fieldset legend {
  23. background-color: rgb(178, 231, 201);
  24. /* border-radius:给元素添加圆角边框 */
  25. border-radius: 10px;
  26. color: seagreen;
  27. padding: 5px 15px;
  28. }
  29. form div {
  30. margin: 5px;
  31. }
  32. form p {
  33. text-align: center;
  34. }
  35. form .btn {
  36. width: 80px;
  37. height: 30px;
  38. border: none;
  39. background-color: seagreen;
  40. color: #ddd;
  41. }
  42. /* 按钮鼠标悬停样式 */
  43. form .btn:hover {
  44. background-color: coral;
  45. color: white;
  46. cursor: pointer;
  47. }
  48. /* 文本框得到焦点后的样式 */
  49. input:focus {
  50. background-color: rgb(226, 226, 175);
  51. }
  52. </style>

显示效果

登录界面实战

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议