1.标签由标签名、标签属性和文本内容三部分组成。(注意:单标签没有文本内容)
2.标签属性是对标签的一种描述方式。
3.标签属性分通用属性、自由属性和自定义属性。
4.通用属性:所有标签都具有的属性。(除了br标签之外)
- id:用来给标签取一个唯一的名称。在一个网页中必须唯一
- class:用来给标签取一个类名称。可重复。
- style:用来设置该标签的行内样式
- title:当鼠标悬停该标签时的展示
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>标签通用属性</title>
</head>
<body>
<!--id:给标签取一个标识名-->
<p id="p1">段落1</p>
<p id="p2">段落2</p>
<!--class:给一组标签取一个类名-->
<div class="test">
div
</div>
<p class="test"> p </p>
<!--style:用来设置当前标签的样式,也叫行内样式。-->
<p style="color:red;width:200px;border:1px solid #00f;">测试</p>
<!--title:给当前标签一个提示文本-->
<p title="提示">title标签属性测试</p>
</body>
</html>
5.用户自定义属性:通常用来传值或用于图片的懒加载等方面。
格式:data-* eg:<img data-src="图片名" alt="提示文本"/> 、<p data-id="goodsid">。。。</p>
6.table主要用于呈现格式化数据。表格是由行和列组成。
格式:
<table>
<tr> <!--行-->
<td></td> <!--列-->
<td></td>
<td></td>
...
</tr>
...
</table>
7.table表格属性:
- border:设置表格边框,默认单位是像素
- width:设置表格宽度,默认单位是像素
- align:设置表格对齐(left()默认)/right/center)
- cellpadding:设置单元格间距,文本与单元格间距
- cellapacing:设置像素间隙,单元格边框间距
<!--table>tr*2>td{内容$}*3-->
<table border="1" width="400" cellpadding="3" cellspacing="22" align="center">
<tr>
<th>内容11</th> <!--th:表头,主要对下面的内容起说明作用。th的内容会自动加粗和居中-->
<th>内容22</th>
<th>内容33</th>
</tr>
<tr>
<td>内容1</td>
<td>内容2</td>
<td>内容3</td>
</tr>
<tr>
<td>内容13</td>
<td>内容25</td>
</tr>
</table>
8.跨行/跨列属性主要用来绘制复杂表格。
rowspan:跨行
colspan:跨列
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表格</title>
</head>
<body>
<!--table[border=1 width=500 align=center]>tr*3>td{内容$$}*3-->
<table border="1" width="500" align="center">
<tr>
<td rowspan="2" align="center" valign="bottom">内容01</td>
<!--align:左右对齐(left/center/right)-->
<!--valign:垂直对齐(top/middle/bottom)-->
<td>内容02</td>
<td rowspan="3">内容03</td>
</tr>
<tr align="center">
<td>内容02</td>
</tr>
<tr>
<td>内容011</td>
<td>内容022</td>
</tr>
</table>
<hr>
<table border="1" width="500" align="center">
<tr >
<td rowspan="2">内容01</td>
<td colspan="2">内容02</td>
</tr>
<tr>
<td>内容02</td>
<td>内容03</td>
</tr>
<tr>
<td colspan="3" align="center">内容01</td>
</tr>
</table>
</body>
</html>
9.绘制一个完整表格:caption(标题)、thead(表头)、tbody(表体)和tfoot(表尾)四部分组成。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表格</title>
</head>
<body>
<!--table[border=q width=600 align=center]>(caption{学生信息表})+(thead>tr>th*4)+(tbody>tr*3>td*4)+(tfoot>tr>td[colspan=1])-->
<table border="q" width="600" align="center">
<caption>学生信息表</caption>
<thead>
<tr>
<th>学号</th>
<th>姓名</th>
<th>家庭住址</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>001</td>
<td>小明</td>
<td>北京</td>
<td>无</td>
</tr>
<tr>
<td>002</td>
<td>小花</td>
<td>上海</td>
<td></td>
</tr>
<tr>
<td>003</td>
<td>小丽</td>
<td>大同</td>
<td>优秀</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="4" align="left">加油!</td>
</tr>
</tfoot>
</table>
</body>
</html>
10.form表单标签是所有标签最核心标签之一。它是用来实现前后端交互的一个重要标签。
常用属性:
- name:表单名称
- action:表单数据提交的地方(通常是一个后台文件名(.jsp/.php/.asp/.py/.aspx),或网址)。如果是#,表示提交到当前文件下。
- method:前端提交数据到后端的方法。主要有:get和post,默认是get。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单</title>
</head>
<body>
<form name="stuInfo" action="https://www.baidu.com/" method="get">
<!--get方式提交会把数据暴露在外,post不会-->
<input type="text" name="userName" placeholder="请输入姓名">
<input type="submit">
</form>
</body>
</html>
11.表单元素:
1)input类:主要用来输入、选择或发出指令。
type:text/password/radio/checkbox/file/button/image/submit/reset
- text:单行文本输入框。tyoe="text"可以不写,默认值。属性:placeholder(提示)、name(命名)、value(默认值)、minlength/maxlength(最少/最多输入的字符个数)、disabled(失效)、readonly(只读)、pattern(正则匹配:后端也能实现,建议前端)
- password:密码框 属性与text一样
- radio:单选框,通常是两项以上。常用属性有:name(必须有)、value、checked(默认选中)、disabled(失效)、readonly(只读)
- checkbox:复选框,可以用来选择0项、1项、多项。常用属性有:name(必须有)、value、checked(默认选中)、disabled(失效)、readonly(只读)
- file:文件上传按钮
- button:普通按钮,通常用它去调用脚本代码。常用属性有:value(按钮标题)、disabled(失效)
- image:图片按钮,用法与button一样。特殊属性:src(用来加载提示图片,用它替换了value)。它有提交功能,有submit功能一样。
- submit:提交按钮,用来将表单数据提交到后台
- reset:重置按钮,将表单所有组件输入的内容全部清空,还原为初始状态
-
2)textarea类
文本域,也可以叫多行文本框,主要用于输入大批量内容。
-
常用属性:name、id、cols(列数)、rows(行数)、placeholder、minlength、maxlength、required
3)select类:下拉列表框,用于单项选择。用option呈现每个选项。
-
multiple属性:表示可以多选,这时的下拉列表框变成了列表框
-
size属性:最多显示的行数
4)button类:普通按钮,具有提交功能。
可以单独使用,不写在form元素中。如果写在form中,有提交功能。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单</title>
</head>
<body>
<form action="">
<!--文本框-->
<input type="text" name="test" placeholder="输入一个数字:" value="22" maxlength="6" >
<input type="text" name="test" placeholder="输入一个数字:" value="22" disabled="disabled">
<input type="text" name="test" placeholder="输入一个数字:" value="22" readonly="readonly">
<br>
<!--密码框-->
<input type="password"><br>
<!--单选钮-->
<input type="radio" name="sex" checked="checked"> 男
<input type="radio" name="sex"> 女
<!--相同name相互排斥-->
<input type="radio" name="num"> 1
<input type="radio" name="num"> 2
<input type="radio" name="num"> 3
<br>
<!--复选框/检查框-->
<input type="checkbox" name="hobby" checked>听音乐
<input type="checkbox" name="hobby" checked>跑步
<input type="checkbox" name="hobby">学习
<br>
<!--文件上传按钮-->
<input type="file" >
<br>
<!--button:普通按钮,通常用它去调用脚本代码-->
<input type="button" value="登录" disabled>
<input type="button" value="登录" >
<!--图片按钮-->
<input type="image" src="F:/demo/venv/img/test.jpg" title="名字">
<br>
<!--提交按钮-->
<input type="submit">
<!--重置按钮-->
<input type="reset" title="重置一下">
</form>
<form action="">
<textarea name="memo" id="memo" cols="30" rows="10">
备注
</textarea>
</form>
<form action="">
<label for="sex">性别:</label>
<select id="sex">
<option value="male">男</option>
<option value="fmale">女</option>
</select>
<br>
<label for="course">课程</label>
<select id="course" multiple size="2">
<!--multiple:控制是否多选-->
<option value="语文">语文</option>
<option value="数学">数学</option>
<option value="计算机">计算机</option>
<option value="英语">英语</option>
</select>
</form>
<!--button-->
<button id="id1">确定</button> <!--这里的button主要用来调用js脚本代码-->
<form action="test.aspx">
<input type="text" name="info">
<button>提交</button> <!--这里的button的功能与input中submit按钮功能一眼-->
</form>
</body>
</html>
iframe:框架集,是用来将多个网页文件组合成一个文件。常用属性如下:
- name:框架名
- src:引入的外部html稳健
- scrolling:滚动条(yes/no/auto)
- width:宽度(%/px)
- height:高度(%/px)
- frameborder:是否有框架边框(1/0)
- marginheight:框架离顶部和底端的具体(%/px)
- marginwidth:框架距离左右的距离(%/px)
注意:在实际开发过程中,尽量减少使用iframe。因为它破坏了前进和后退功能,且不利于SEO。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>iframe我的网站</title>
</head>
<body>
<!--banner-->
<iframe src="iframe/banner.html" scrolling="no" width="100%" height="100%" frameborder="0" marginheight="0"></iframe>
<!--导航-->
<iframe src="iframe/nav.html" scrolling="auto" width="20%" height="300px" frameborder="0"></iframe>
<!--核心内容-->
<iframe src="iframe/content1.html" name="main" scrolling="no" width="70%" height="300px" frameborder="0"></iframe>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<img src="../img/test.jpg" alt="banner">
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!--ul>li{分类$}*4>ul>li*5>a[href]{内容$}-->
<ul>
<li>分类1
<ul>
<li><a href="content1.html" target="main">内容1</a></li>
<li><a href="content2.html" target="main">内容2</a></li>
<li><a href="">内容3</a></li>
<li><a href="">内容4</a></li>
<li><a href="">内容5</a></li>
</ul>
</li>
<li>分类2
<ul>
<li><a href="">内容1</a></li>
<li><a href="">内容2</a></li>
<li><a href="">内容3</a></li>
<li><a href="">内容4</a></li>
<li><a href="">内容5</a></li>
</ul>
</li>
<li>分类3
<ul>
<li><a href="">内容1</a></li>
<li><a href="">内容2</a></li>
<li><a href="">内容3</a></li>
<li><a href="">内容4</a></li>
<li><a href="">内容5</a></li>
</ul>
</li>
<li>分类4
<ul>
<li><a href="">内容1</a></li>
<li><a href="">内容2</a></li>
<li><a href="">内容3</a></li>
<li><a href="">内容4</a></li>
<li><a href="">内容5</a></li>
</ul>
</li>
</ul>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<p>内容1...</p>
</body>
</html>