<!DOCTYPE html><!--约束,声明-->
<html lang="zh_CN"> <!--html标签表示html的开始 lang="en"表示英文,lang="zh_CN"表示中文-->
<head> <!--表示头部信息,一般包含三部分,title标签,css样式,js代码-->
<meta charset="UTF-8"> <!--表示当前页面使用UTF-8字符集-->
<title>Title</title> <!--表示标题-->
</head>
<body>
hello
</body>
</html>
注:Java文件是需要先编译,再有Java虚拟机跑起来的。但是HTML文件它不需要编译,直接由浏览器进行解析执行。
一、HTML文件的书写规范
<html> 表示整个html页面的开始
<head> 头信息
<title>标题</title> 标题
</head>
<body> body是页面的主体内容
页面主题内容
</body>
</html> 表示整个html页面的结束
<!--html的注释-->
二、HTML标签介绍
- 标签的格式:<标签名>封装的数据</标签名>
- 标签名大小写不敏感
- 标签拥有自己的属性
i.基本属性:bgcolor=“red” (可以修改简单的样式效果)
ii.事件属性:οnclick=“alert(‘你好!’);” (可以直接设置事件响应后的代码)
<!DOCTYPE html>
<html lang="zh_CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body bgcolor="#808080"> <!--设置背景颜色为灰色-->
hello
</body>
</html>
<!DOCTYPE html>
<html lang="zh_CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<!--onclick表示单击事件
alert是javaScript提供的一个警告框函数,
它可以接收任意参数,参数就是警告框的函数信息
-->
<body onclick="alert('鼠标已被点击')">
hello <!--当点击hello时会弹出警告框-->
</body>
</html>
<!DOCTYPE html>
<html lang="zh_CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
hello
<button onclick="alert('按钮被点击')">按钮</button>
</body>
</html>
4. 标签可分为单标签和双标签
i.单标签格式:<标签名 /> br换行 hr水平线
ii.双标签格式:<标签名> 封装的数据 </标签名>
<!DOCTYPE html>
<html lang="zh_CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
hello<br/> <!---换行-->
<hr/> <!---水平线-->
world
<button onclick="alert('按钮被点击')">按钮</button>
</body>
</html>
标签语法
-
标签不能交叉嵌套
-
标签必须正确的关闭
-
属性必须要有值,属性值必须加引号
-
注释不能嵌套
三、常用标签的介绍
- font标签
font标签是字体标签,它可以用来修改文本的字体,颜色,大小
color属性修改颜色
face属性修改字体
size属性修改文本大小
<!DOCTYPE html>
<html lang="zh_CN" >
<head>
<meta charset="UTF-8">
<title>0-标签语法</title>
</head>
<body>
<font color="#7fffd4" face="宋体" size="5">字体标签</font>
</body>
</html>
四、特殊字符
常用的特殊字符:
<!DOCTYPE html>
<html lang="zh_CN" >
<head>
<meta charset="UTF-8">
<title>0-标签语法</title>
</head>
<body>
<!--
< =====》 <
> =====》 >
空格 ====》
-->
我是<br>标签<br />
123 45
</body>
</html>
在html中空格符号中间不论有多少个空格,其只会保留一个空格,因此需要 用到 。
五、标题标签
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<h1>这是标题 1</h1>
<h2>这是标题 2</h2>
<h3>这是标题 3</h3>
<h4>这是标题 4</h4>
<h5>这是标题 5</h5>
<h6>这是标题 6</h6>
</body>
</html>
<!DOCTYPE html>
<html lang="zh_CN" >
<head>
<meta charset="UTF-8">
<title>0-标签语法</title>
</head>
<body>
<!--修改标题的对齐方式,默认为左对齐-->
<h1 align="left">标题一</h1>
<h2 align="center">标题二</h2>
<h3 align="right">标题三</h3>
</body>
</html>
六 超链接
<!DOCTYPE html>
<html lang="zh_CN">
<head>
<meta charset="UTF-8">
<title>0-标签语法</title>
</head>
<body>
<!--a标签是超链接
href属性设置连接的地址
_self 表示当前页面进行跳转,_self是默认值
_blank 表示打开新页面来进行跳转
-->
<a href="http://localhost:8080">超链接</a> <br />
<a href="http://localhost:8080" target="_self">超链接</a> <br />
<a href="http://localhost:8080" target="_blank">超链接</a> <br />
</body>
</html>
七、列表标签
- 无序列表
<!DOCTYPE html>
<html lang="zh_CN" >
<head>
<meta charset="UTF-8">
<title>0-标签语法</title>
</head>
<body>
<!--ul表示无序列表,li表示列表中的每一项-->
<ul>
<li>张三</li>
<li>李四</li>
<li>王五</li>
<li>刘六</li>
</ul>
</body>
</html>
- 有序列表
<!DOCTYPE html>
<html lang="zh_CN" >
<head>
<meta charset="UTF-8">
<title>0-标签语法</title>
</head>
<body>
<!--ol表示无序列表,li表示列表中的每一项-->
<ol>
<li>张三</li>
<li>李四</li>
<li>王五</li>
<li>刘六</li>
</ol>
</body>
</html>
<!DOCTYPE html>
<html lang="zh_CN">
<head>
<meta charset="UTF-8">
<title>0-标签语法</title>
</head>
<body>
<!--ol表示无序列表,li表示列表中的每一项,type可以修改列表前的符号,对于无序列表也如此-->
<ol type="A">
<li>张三</li>
<li>李四</li>
<li>王五</li>
<li>刘六</li>
</ol>
</body>
</html>
八、img标签
img标签可以在html页面上显示图片,src可以设置图片的路径
- 在JavaSE中的相对路径和绝对路径
i. 相对路径:从工程名开始算
ii.绝对路径:盘符:/目录/文件名 - 在Web中的相对路径和绝对路径
i.相对路径
". " 表示当前文件是所在的目录
“. .” 表示当前文件所在的上一级目录
"文件名 " 表示当前文件所在目录的文件,相当于./文件名,./可以省略
ii.绝对路径
http://ip:port/工程名/资源路径
<!DOCTYPE html>
<html lang="zh_CN" >
<head>
<meta charset="UTF-8">
<title>0-标签语法</title>
</head>
<body>
<img src="./imgs/1623566931122.jpeg" width="400" height="328"/>
<!--src设置图片路径,width设置宽度,height设置高度-->
</body>
</html>
看一下文件路径的设置:.回到了当前文件的目录,也就是html,因此./imgs便进入了imags目录,./imgs/1623566931122.jpeg便找到了图片。
页面效果:
<!DOCTYPE html>
<html lang="zh_CN" >
<head>
<meta charset="UTF-8">
<title>0-标签语法</title>
</head>
<body>
<img src="./imgs/22.jpeg" width="400" height="328" border="5" alt="图片不存在"/>
<!--border设置边框大小,数字越大边框越粗;alt设置当图片不存在时用来替换的内容-->
</body>
</html>
九、表格标签(重点!)
<!DOCTYPE html>
<html lang="zh_CN" >
<head>
<meta charset="UTF-8">
<title>0-标签语法</title>
</head>
<body>
<!--table 是表格标签
align 表格相对于页面的对齐方式
border 设置边框
width 设置表格宽度
height 设置表格高度
cellspacing 设置单元格间距,数字越大间距越大
tr 是行标签
th 是表头标签
td 是单元格标签
align 设置单元格文本对齐方式
b 加粗
-->
<table border="2" width="300" height="300" align="center" cellspacing="10">
<tr>
<td align="center"><b>1.1</b></td>
<th>1.2</th> <!--th显示的效果与上述align=“center”加上<b>的效果相同-->
<th>1.3</th>
</tr>
<tr>
<td>2.1</td>
<td>2.2</td>
<td>2.3</td>
</tr>
<tr>
<td>3.1</td>
<td>3.2</td>
<td>3.3</td>
</tr>
</table>
</body>
</html>
十、跨行跨列表格
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>跨行跨列表格</title>
</head>
<body>
<!-- 需求:
新建一个五行五列表格
第一行第一列的单元格都要跨两列
第二行第一列的单元格跨两行
第四行第四列的单元格跨两行两列
colspan属性设置跨列
rowspan属性设置跨行
-->
<table width="500" height="500" border="1" cellspacing="0">
<tr>
<td colspan="2">1.1</td>
<td>1.3</td>
<td>1.4</td>
<td>1.5</td>
</tr>
<tr>
<td rowspan="2">2.1</td>
<td>2.2</td>
<td>2.3</td>
<td>2.4</td>
<td>2.5</td>
</tr>
<tr>
<td>3.2</td>
<td>3.3</td>
<td>3.4</td>
<td>3.5</td>
</tr>
<tr>
<td>4.1</td>
<td>4.2</td>
<td>4.3</td>
<td rowspan="2" colspan="2">4.4</td>
</tr>
<tr>
<td>5.1</td>
<td>5.2</td>
<td>5.3</td>
</tr>
</table>
</body>
</html>
十一、了解iframe框架标签(内嵌窗口)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
我是一个单独的完整页面<br/>
<!--iframe标签可以在页面上开辟一个小区域显示一个单独的页面
iframe和a标签组合使用的步骤:
1. 在iframe标签中使用name属性定义一个名称
2. 在a标签的target属性上设置iframe的name的属性值
-->
<iframe width="500" height="500" name="abc"></iframe>
<br/>
<ul>
<li><a href="2.跨行跨列表格.html" target="abc">2.跨行跨列表格</a></li>
<li><a href="1.表格标签.html" target="abc">1.表格标签</a></li>
</ul>
</body>
</html>
点击下面的无序列表中的任意一个,就会在iframe设定的小页面中,跳转到对应页面
首页:
点击跨行跨页列表
点击表格标签
十二、表单标签(重点)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>04-表单</title>
</head>
<body>
<!--
form标签就是表单
input type=text 是文本输入框 value设置文本框的默认值
input type=password 是文本输入框 value设置文本框的默认值
input type=radio 是单选框 name属性可以对其进行分组(只有同一组的才会限制单选) checked="checked"表示默认选中
input type=checkbox是复选框 checked="checked"表示默认选中
input type=reset 是重置按钮 value属性修改按钮上的文本,默认文本为充值
input type=submit 是提交按钮 value属性修改按钮上的文本,默认文本为提交
input type=button 是按钮 value属性可以修改上面的文字
input type=file 是文件上传域
input type=hidden 是隐藏域,当我们要发送的信息不需要用户看见,就可以使用隐藏域,提交的时候可以传给服务器
select标签是下拉列表框
option标签是下拉列表框的选项 可以通过selected="selected"来设置默认选项,若没有selected则默认为第一个
textarea 表示多行文本输入框
rows 属性设置可以显示几行高度
cols 属性设置每行可以显示几个字符宽度
textarea起始标签和结束标签之间的内容是默认值
-->
<form>
用户名称:<input type="text" value="默认值"/><br/>
用户密码:<input type="password" value="abc"><br/>
确认密码:<input type="password" value="abc"><br/>
性别:<input type="radio" name="sex" checked="checked">男<input type="radio" name="sex">女<br/>
<!--若是不用name属性对男女进行分组,则两个单选框都可以同时选择,不符合现实要求-->
<!--在男的单选框里用checked设置了默认性别为男-->
兴趣爱好:<input type="checkbox"/>Java<input type="checkbox"/>JavaScript<input type="checkbox"/>C++<br/>
国籍:<select>
<option>--请选择国籍--</option>
<option selected="selected">中国</option>
<option>美国</option>
<option>日本</option>
<option>俄罗斯</option>
</select><br/>
自我评价:<textarea rows="10" cols="20">默认值</textarea><br/>
<input type="reset" value="重置1"/>
<input type="submit" value="提交1"/>
<input type="button" value="按钮"/>
<input type="file" >
<input type="hidden">
</form>
</body>
</html>
十二、表单格式化
通常通过把表单放在表格里,进行格式化
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>05-表单格式化</title>
</head>
<body>
<table align="center">
<form>
<h1 align="center">用户注册</h1>
<tr>
<td>用户名称:</td>
<td><input type="text" value="默认值"/></td>
</tr>
<tr>
<td>用户密码:</td>
<td><input type="password" value="abc"></td>
</tr>
<tr>
<td>确认密码:</td>
<td><input type="password" value="abc"></td>
</tr>
<tr>
<td>性别:</td>
<td>
<input type="radio" name="sex" checked="checked">男
<input type="radio" name="sex">女
</td>
</tr>
<tr>
<td>兴趣爱好:</td>
<td>
<input type="checkbox"/>Java
<input type="checkbox"/>JavaScript
<input type="checkbox"/>C++
</td>
</tr>
<tr>
<td>国籍:</td>
<td>
<select>
<option>--请选择国籍--</option>
<option selected="selected">中国</option>
<option>美国</option>
<option>日本</option>
<option>俄罗斯</option>
</select>
</td>
</tr>
<tr>
<td>自我评价:</td>
<td><textarea rows="10" cols="20">默认值</textarea></td>
</tr>
<tr>
<td><input type="reset" value="重置1"/></td>
<td><input type="submit" value="提交1"/></td>
</tr>
</form>
</table>
</body>
</html>
十二、表单提交的细节
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>06-表单提交的细节</title>
</head>
<body>
<!--
form标签是表单标签
action属性设置提交的服务器地址
method属性设置提交的方式GET(默认值)或POST\
表单提交时,数据没有发送给服务器的三种情况:
1.表单项没有name属性
-->
<table>
<form action="http://localhost:8000" method="get">
<input type="hidden" name="action" value="login">
<h1 align="center">用户注册</h1>
<tr>
<td>用户名称:</td>
<td><input type="text" value="默认值"/></td>
</tr>
<tr>
<td>用户密码:</td>
<td><input type="password" value="abc"></td>
</tr>
<tr>
<td>确认密码:</td>
<td><input type="password" value="abc"></td>
</tr>
<tr>
<td>性别:</td>
<td>
<input type="radio" name="sex" checked="checked">男
<input type="radio" name="sex">女
</td>
</tr>
<tr>
<td>兴趣爱好:</td>
<td>
<input type="checkbox"/>Java
<input type="checkbox"/>JavaScript
<input type="checkbox"/>C++
</td>
</tr>
<tr>
<td>国籍:</td>
<td>
<select>
<option>--请选择国籍--</option>
<option selected="selected">中国</option>
<option>美国</option>
<option>日本</option>
<option>俄罗斯</option>
</select>
</td>
</tr>
<tr>
<td>自我评价:</td>
<td><textarea rows="10" cols="20">默认值</textarea></td>
</tr>
<tr>
<td><input type="reset" value="重置1"/></td>
<td><input type="submit" value="提交1"/></td>
</tr>
</form>
</table>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>06-表单提交的细节</title>
</head>
<body>
<!--
form标签是表单标签
action属性设置提交的服务器地址
method属性设置提交的方式GET(默认值)或POST\
表单提交时,数据没有发送给服务器的三种情况:
1.表单项没有name属性
-->
<table>
<form action="http://localhost:8000" method="get">
<input type="hidden" name="action" value="login">
<h1 align="center">用户注册</h1>
<tr>
<td>用户名称:</td>
<td><input type="text" name="username" value="默认值"/></td>
</tr>
<tr>
<td>用户密码:</td>
<td><input type="password" name="password" value="abc"></td>
</tr>
<tr>
<td>确认密码:</td>
<td><input type="password" value="abc"></td>
</tr>
<tr>
<td>性别:</td>
<td>
<input type="radio" name="sex" checked="checked">男
<input type="radio" name="sex">女
</td>
</tr>
<tr>
<td>兴趣爱好:</td>
<td>
<input name="hoby" type="checkbox"/>Java
<input name="hoby" type="checkbox"/>JavaScript
<input name="hoby" type="checkbox"/>C++
</td>
</tr>
<tr>
<td>国籍:</td>
<td>
<select name="country">
<option>--请选择国籍--</option>
<option selected="selected">中国</option>
<option>美国</option>
<option>日本</option>
<option>俄罗斯</option>
</select>
</td>
</tr>
<tr>
<td>自我评价:</td>
<td><textarea name="desc" rows="10" cols="20">默认值</textarea></td>
</tr>
<tr>
<td><input type="reset" value="重置1"/></td>
<td><input type="submit" value="提交1"/></td>
</tr>
</form>
</table>
</body>
</html>
在提交数据给后端时,只有给了name属性才能成功提交数据
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>06-表单提交的细节</title>
</head>
<body>
<!--
form标签是表单标签
action属性设置提交的服务器地址
method属性设置提交的方式GET(默认值)或POST\
表单提交时,数据没有发送给服务器的三种情况:
1.表单项没有name属性
2.单选、复选(下拉列表中的option标签,都需要添加value属性,以便发送给服务器)
3.表单项不在提交的form标签中
-->
<table>
<form action="http://localhost:8000" method="get">
<input type="hidden" name="action" value="login">
<h1 align="center">用户注册</h1>
<tr>
<td>用户名称:</td>
<td><input type="text" name="username" value="默认值"/></td>
</tr>
<tr>
<td>用户密码:</td>
<td><input type="password" name="password" value="abc"></td>
</tr>
<tr>
<td>确认密码:</td>
<td><input type="password" value="abc"></td>
</tr>
<tr>
<td>性别:</td>
<td>
<input type="radio" name="sex" checked="checked" value="boy">男
<input type="radio" name="sex" value="girl">女
</td>
</tr>
<tr>
<td>兴趣爱好:</td>
<td>
<input name="hoby" type="checkbox" value="Java"/>Java
<input name="hoby" type="checkbox" value="JavaScript"/>JavaScript
<input name="hoby" type="checkbox" value="C++"/>C++
</td>
</tr>
<tr>
<td>国籍:</td>
<td>
<select name="country">
<option>--请选择国籍--</option>
<option selected="selected" value="中国">中国</option>
<option value="美国">美国</option>
<option value="日本">日本</option>
<option value="俄罗斯">俄罗斯</option>
</select>
</td>
</tr>
<tr>
<td>自我评价:</td>
<td><textarea name="desc" rows="10" cols="20">默认值</textarea></td>
</tr>
<tr>
<td><input type="reset" value="重置1"/></td>
<td><input type="submit" value="提交1"/></td>
</tr>
</form>
</table>
</body>
</html>
上面的案例,在提交的时候单选、复选都没有设置value,提交的数据中并不会显示我选择的内容,而是提交on,因此要想提交正确的内容需要设置value值,返回给后端的值也就是value属性的值。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>06-表单提交的细节</title>
</head>
<body>
<!--
form标签是表单标签
action属性设置提交的服务器地址
method属性设置提交的方式GET(默认值)或POST\
表单提交时,数据没有发送给服务器的三种情况:
1.表单项没有name属性
2.单选、复选(下拉列表中的option标签,都需要添加value属性,以便发送给服务器)
3.表单项不在提交的form标签中
GET请求的特点:
1. 浏览器地址栏中的地址是:action属性+?+请求参数
请求参数的格式时:name=value&name=value
2.不安全
提交时密码可以看见
3.有数据长度的限制
POST请求的特点:
1.浏览器地址栏中只有action属性值
2.相对于get会更安全
3.理论上没有数据长度的限制
-->
<table>
<input type="hidden" name="action" value="login">
<form action="http://localhost:8000" method="get">
<h1 align="center">用户注册</h1>
<tr>
<td>用户名称:</td>
<td><input type="text" name="username" value="默认值"/></td>
</tr>
<tr>
<td>用户密码:</td>
<td><input type="password" name="password" value="abc"></td>
</tr>
<tr>
<td>确认密码:</td>
<td><input type="password" value="abc"></td>
</tr>
<tr>
<td>性别:</td>
<td>
<input type="radio" name="sex" checked="checked" value="boy">男
<input type="radio" name="sex" value="girl">女
</td>
</tr>
<tr>
<td>兴趣爱好:</td>
<td>
<input name="hoby" type="checkbox" value="Java"/>Java
<input name="hoby" type="checkbox" value="JavaScript"/>JavaScript
<input name="hoby" type="checkbox" value="C++"/>C++
</td>
</tr>
<tr>
<td>国籍:</td>
<td>
<select name="country">
<option>--请选择国籍--</option>
<option selected="selected" value="中国">中国</option>
<option value="美国">美国</option>
<option value="日本">日本</option>
<option value="俄罗斯">俄罗斯</option>
</select>
</td>
</tr>
<tr>
<td>自我评价:</td>
<td><textarea name="desc" rows="10" cols="20">默认值</textarea></td>
</tr>
<tr>
<td><input type="reset" value="重置1"/></td>
<td><input type="submit" value="提交1"/></td>
</tr>
</form>
</table>
</body>
</html>
表单项只有在form标签中,才能被提交到后端,当我把隐藏域hidde放到form标签外面时,可以发现action=login不会再被提交。
十三、div/span/p标签
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!--
div标签 默认独占一行
span标签 它的长度是封装数据的长度
p段落标签 默认会在段落的上方或下方各空出一行来
-->
<div>div标签1</div>
<div>div标签2</div>
<span>span标签1</span>
<span>span标签2</span>
<p>p段落标签1</p>
<p>p段落标签2</p>
</body>
</html>