批改状态:合格
老师批语:写的很认真仔细,建议加上效果图会更好!
表格的组成和基本架构
| 标签名 | 作用 |
|---|---|
| table | 表格的开始标签 |
| caption | 表格的标题标签 |
| colgroup | 对表格中的列进行组合,组合之后可以控制整个列,不需要重复为每个单元格设置样式 |
| thead | 设置表格的头部 |
| tbody | 设置表格的主体 可以有多个tbody(一定要写tbody如果不写浏览器会自动生成但是浏览器生成的tbody标签使用js是获取不到的) |
| tfoot | 表格的底部 |
| tr | 代表表格中行 |
| td | 代表表格中的列 |
注意:注意:colgroup标签只能在 <table> 元素之内,在任何一个 <caption> 元素之后,在任何一个 <thead>、<tbody>、<tfoot>、<tr> 元素之前使用 <colgroup> 标签。
例:<!DOCTYPE html><html><head><title>表格的基本格式</title><meta charset='utf-8' /><meta name="viewport" content="width=device-width, initial-scale=1.0" /></head><body><table><!-- 表格的标题 --><caption>标题</caption><!-- 对表格中列进行组合,可以向整个列应用样式 --><colgroup><!-- 每一个col单标签控制一列,就是把多行中的列组合成一列 --><!-- 如果两个相邻的列样式基本一致可用这种方式达到一个col标签控制两个列 --><!-- 这里的span="2"就是把两行中的多个单列组合成一个大列进行控制 --><!-- <col span="2" width="100px" style="background-color:yellow"/> --><!-- 控制第一列的样式和宽度 --><col width="100px" style="background-color:yellow"/><!-- 控制第二列的样式和宽度 --><col width="100px" style="background-color:green"/><!-- 控制第三列的样式和宽度 --><col width="100px" style="background-color:blue"/></colgroup><!-- 表格的头部 --><thead><tr><td>一列</td><td>二列</td></tr></thead><!-- 表格的主体部分 (可以有多个)--><tbody><!-- tr:代表表格中的行 --><!-- td代表表格中的列 --><tr><td>111</td><td>111</td><td>111</td></tr><tr><td>111</td><td>111</td><td>111</td></tr></tbody><tbody><tr><td>222</td><td>222</td><td>222</td></tr><tr><td>222</td><td>222</td><td>222</td></tr></tbody><!-- 表格的底部 --><tfoot><tr><td>一列</td><td>二列</td></tr></tfoot></table></body></html>
使用表格实现购物车页面
<!DOCTYPE html><html><head><title>使用表格实战购物车页面</title><meta charset='utf-8' /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><style type="text/css">/*给当前页面设置字体大小*/html {font-size:14px;}/*给表格添加样式*/table {width:50%;/*去除表格之间的间隙*/border-collapse: collapse;/*让表哥在页面中水平居中*/margin:auto;/*设置表格中字体的颜色*/color:#888;/*设置字体的粗细(lighter是设置细字体bold是设置粗字体)*/font-weight: lighter;/*表格中的文字水平居中显示*/text-align:center;}table td {/*给单元格设置下边框*/border-bottom:1px solid #666;/*给没个单元格设置内边距*/padding:10px;}/*给caption设置样式*/table caption {/*这里的1.5rem是指默认字体大小的1.5倍*/font-size:1.5rem;/*设置下边距(当前元素距离相邻元素下边的距离)*/margin-bottom:20px;/*给字体加粗*/font-weight:bold;/*设置字体颜色*/color:blue;}/*给表格头部分添加样式*/thead {background-color: #40c3cb;}/*表格主体部分实现隔行换色*/table tbody tr:nth-of-type(even){background-color:#5bd069;}/*设置伪类:hover当鼠标悬停改变单元格的颜色*/table tbody tr:hover {background-color:red;}/*设置底部样式*/tfoot tr td {border-bottom:none;color:#cc22eb;font-size:1.2rem;font-weight: bold;}/*给结算按钮设置样式*/body div:last-of-type {width:50%;/*border:1px solid red;*//*给这个div四周加上10个像素外边距病让这个div水平居中*/margin: 10px auto;overflow:hidden;}/*设置按钮的样式*/body div:first-of-type button {float:right;width:120px;height:80px;background-color:#eba18d;/*去除边框*/border:none;font-size:1.3rem;color:white;}/*鼠标悬停样式*/body div:first-of-type button:hover {background-color: coral;font-size: 1.5rem;}</style></head><body><table><caption>购物车</caption><thead><tr><td>ID</td><td>商品名</td><td>单价/元</td><td>单位</td><td>数量</td><td>金额/元</td></tr></thead><tbody><tr><td>1</td><td>1号商品</td><td>100</td><td>个</td><td>1</td><td>100</td></tr><tr><td>2</td><td>3号商品</td><td>200</td><td>个</td><td>2</td><td>400</td></tr><tr><td>3</td><td>3号商品</td><td>300</td><td>个</td><td>3</td><td>900</td></tr><tr><td>4</td><td>4号商品</td><td>400</td><td>个</td><td>4</td><td>1600</td></tr><tr><td>5</td><td>5号商品</td><td>500</td><td>个</td><td>5</td><td>2500</td></tr></tbody><tfoot><tr><td colspan="4">总计:</td><td>13</td><td>35765</td></tr></tfoot></table><div><button>结算</button></div></body></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为表格的底部样式 |
例:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>div+css实现表格</title><style>/* 表格 */.table {display: table;border: 1px solid #000;width: 300px;text-align: center;margin: auto;}/* 标题 */.table-caption {display: table-caption;margin-bottom: 10px;font-size: 1.3rem;}/* 表头 */.table-thead {display: table-header-group;background-color: #ccc;}/* 行 */.table-row {display: table-row;}/* 列 */.table-cell {display: table-cell;border: 1px solid #000;padding: 5px;}/* 主体 */.table-tbody {display: table-row-group;}/* 底部 */.table-tfoot {display: table-footer-group;}/* 列分组样式 */.table-colgroup {display: table-column-group;}.table-colgroup .table-col:first-of-type {display: table-column;background-color: lightblue;}.table-colgroup .table-col {display: table-column;background-color: lightgreen;}</style></head><body><!-- 表格:<table>< --><div class="table"><!-- 标题 <caption>--><div class="table-caption">员工信息表</div><!-- 列分组<colgroup> --><div class="table-colgroup"><div class="table-col"></div><div class="table-col"></div><div class="table-col"></div></div><!-- 表头:<thead> --><div class="table-thead"><!-- 行 --><div class="table-row"><div class="table-cell">ID</div><div class="table-cell">姓名</div><div class="table-cell">职务</div></div></div><!-- 主体 --><div class="table-tbody"><div class="table-row"><div class="table-cell">1</div><div class="table-cell">小王</div><div class="table-cell">程序员</div></div><div class="table-row"><div class="table-cell">2</div><div class="table-cell">小张</div><div class="table-cell">组长</div></div><div class="table-row"><div class="table-cell">2</div><div class="table-cell">小李</div><div class="table-cell">程序员</div></div><div class="table-row"><div class="table-cell">3</div><div class="table-cell">小朱</div><div class="table-cell">组长</div></div></div><!-- 底部<tfoot> --><div class="table-tfoot"><div class="table-row"><div class="table-cell">X</div><div class="table-cell">Y</div><div class="table-cell">Z</div></div></div></div></body></html>
表单的结构及应用
from标签 定义表单
from标签中的action是表单的提交地址
from标签中的methed是表单的提交方式(两种get/post)
fieldset标签将表单内的相关元素分组(就是控件组)
legend标签为fieldset元素定义标题
label标签为input元素定义标注(给input输入框前面加个名字)
input单标签定义输入框
textaera 标签定义文本域
文本域中 clos设置文本框的宽度,rows设置文本框的高度例:<label for="wb">文本域</label><textarea id="wb" name="wby" cols="40" rows="10" placeholder="不超过100字">
datalist 定义选项列表。与input元素配合使用该元素,来定义 input 可能的值
list属性表明他是一个列表datelist标签中一定要有id属性这个id属性一定要和input输入框中的list属性绑定(就是id的名字要和list的名字一样就是绑定)input标签中list的值要和id的值一致option中间的文本可以写在option标签中间,也可以在option标签中添加一个label属性写在label属性中例:<label for="brand">手机:</label><input type="search" list="phone" name="brand" id="brand" /><datalist id="phone"><option value="apple"> </option><option value="huawei" >华为</option><option value="mi" label="小米"> </option></datalist>
id名字和label中的for值相关联当点击姓名时自动获取input的焦点
例:<label for="my-username">姓名:</label><input type="text" id="my-username" name="username" placeholder="这是姓名" autofocus require />
placeholder:设置输入框中的默认值
autofocus:页面刷新时自动获取当前输入框的焦点(注意:一个表单中只能有一个autofocus属性,autofocus没有值如果非要写值就是他本身)
require:社会仔当前输入框是必填选项
type="text" 文本类型
例:<input type="text" id="my-username" name="username" placeholder="这是姓名" autofocus require />
type="password" 文本加密
例:<input type="password" id="my-password" name="pass" placeholder="这是密码" />
type="email" 邮箱类型 (当表单提交时如果邮箱格式不合法蒋提示)
例:<input type="email" id="my-email" name="email" placeholder="这是邮箱"/>
type="data" 日期类型
例:<input type="date" name="birthday"/>
type="radio" 单选框类型 (单选框中的name都要相同)
例:<label for="dx">性别:</label><input type="radio" name='danxuan' value="nan" /><label>男:</label><input type="radio" name='danxuan' value="nv" /><label>女:</label><input type="radio" name='danxuan' value="bm" id="dx" /><label>保密:</label>
type="checkbox" 复选框类型 (复选框中的name也都是相同的)
例:<label for="game">打游戏</label><input type="checkbox" name="hobby[]" value="games" id='game' /><label for="photo">摄影</label><input type="checkbox" name="hobby[]" value="photos" id='photo' /><label for="bc">编程</label><input type="checkbox" name="hobby[]" value="bcs" id='bc' checked />
type="search" 选项列表类型 (给当前输入框设置可选列表)
例:<label for="brand">手机:</label><input type="search" list="phone" name="brand" id="brand" /><datalist id="phone"><option value="apple"> </option><option value="huawei" >华为</option><option value="mi" label="小米"> </option></datalist>
type="file" 上传类型 (input中的accept属性是文件上传类型)
例:<label for="wj">文件上传</label><input type="file" id="wj" name='wenjian' accept="image/png, image/jpeg, image/gif" />
type="hidden" 设置输入框为隐藏域
例:<input type="hidden" name="yc" value="yc_123" />
总结
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号