课程:B站JavaWeb 广陵散
1、html的简介
HyperText Markup Language:超文本标记语言。
- 超文本:超出文本的范畴,使用html可以轻松实现这样操作
- 标记:html所有的操作都是通过标记实现的,标记就是标签,<标签名称>,代码都是由标签所组成。
- 网页语言:网页语言不是一种编程语言,是一种描述性的标记语言,用于描述超文本中内容的显示方式。比如字体什么颜色,大小等。
第一个html程序:
- html后缀是 .html .htm
** 直接通过浏览器就可以运行
- 代码:
这是我的<font size="5" color="red">第一个html程序!</font>
html的规范(遵循)
1、一个html文件开始标签和结束的标签 <html> </html>
- 定义一个java方法 { }
2、html包含两部分内容
(1)<head> 设置相关信息</head>
(2)<body> 显示在页面上的内容都写在body里面</body>
3、html的标签有开始标签,也要有结束标签
- <head></head>
4、html的代码不区分大小写的
5、有些标签,没有结束标签 ,在标签内结束
- 比如 换行 <br/> <hr/>
* html的操作思想(******理解)
网页中有很多数据,不同的数据可能需要不同的显示效果,这个时候需要使用标签把要操作的数据包起来(封装起来),通过修改标签的属性值实现标签内数据样式的变化。
一个标签相当于一个容器,想要修改容器内数据的样式,只需要改变容器的属性值,就可以实现容器内数据样式的变化。
<html>
<head>
<title>
</title>
</head>
<body>
</body>
</html>
HTML的注意事项
- 多数标签都是有开始标签和结束标签,其中有个别标签因为只有单一功能,或者没有要修饰的内容可以在标签内结束。
- 想要对被标签修饰的内容进行更丰富的操作,就用到了标签中的属性,通过对属性值的改变,增加了更多的效果选择。
- 属性与属性值之间用“=”连接,属性值可以用双引号或单引号或者不用引号,一般都会用双引号。或公司规定书写规范。
文字:
不同的文字格式(font标签)
标题标签(h1 h2 h3 h4 h5 h6)
水平线标签(hr)
特殊字符
< :<
> : >
& : &
空格 :
2、文字标签和注释标签
* 文字标签:修改文字的样式
- <font></font>
- 属性:
* size: 文字的大小 取值范围 1-7,超出了7,默认还是7
* color:文字颜色
- 两种表示方式
** 英文单词:red green blue black white yellow gray......
** 使用十六进制数表示 #ffffff : RGB
- 通过工具实现不同的颜色 #66cc66
* 注释标签: <!-- html的注释 -->页面不显示,但源代码里面存着
3、标题标签、水平线标签和特殊字符
* 标题标签
- <h1></h1> <h2></h2> <h3></h3> .......<h6></h6>
- 从h1到h6,大小是依次变小,同时会自动换行
* 水平线标签
- <hr/>
- 属性
** size: 水平线的粗细 取值范围 1-7
** color: 颜色
- 代码
<hr size="5" color="blue"/>
* 特殊字符
- 想要在页面上显示这样的内容 <html>:是网页的开始!
- 需要对特殊字符进行转义
* < <
* > >
* 空格:
* & : &
列表标签
- 比如现在显示这样的效果
传智播客
财务部
学工部
人事部
--------------------------------------
1.定义列表(dl标签)define list
** <dl> </dl>: 表示列表的范围
** 在dl里面 <dt></dt>: 上层内容
** 在dl里面 <dd></dd>:下层内容
例:
<dl>
<dt>传智播客</dt>
<dd>财务部</dd>
<dd>学工部</dd>
<dd>人事部</dd>
</dl>
--------------------------------------
2.有序列表(ol标签)ordered lsit
- 想要在页面上显示这样的效果
1. 财务部
2. 学工部
3. 人事部
a. 财务部
b. 学工部
c. 人事部
i. 财务部
ii. 学工部
iii. 人事部
** <ol></ol> : 有序列表的范围
- 属性 type:设置排序方式 1(默认) a i
** 在ol标签里面 <li>具体内容</li>
- 代码
<ol>
<li>财务部</li>
<li>学工部</li>
<li>人事部</li>
</ol>
例:
<ol type=“1”> <li></li> </ol>
--------------------------------------
3.无序列表(ul标签)unorder list
- 想要在页面上显示这样的效果
特殊符号(方框) 财务部
特殊符号(方框) 学工部
** <ul></ul> : 表示无序列表的范围
属性: type: 空心圆circle 、实心圆disc 、实心方块square ,默认disc
在ul里面 <li></li>
- 代码
<ul>
<li>财务部</li>
<li>学工部</li>
<li>人事部</li>
</ul>
如果 想要不同的符号,可以在ul中设置
<ul type=“circle”> <li></li> <ul>
- type: 空心圆circle 、实心圆disc 、实心方块square ,默认disc
图片标签
* <img src="图片的路径"/>
<img src="../a.jpg"/>
图片和文字的结合使用
路径:绝对路径和相对路径
参数:
- src: 图片的路径
- width:图片的宽度
- height:图片的高度
- alt: 图片上显示的文字,把鼠标移动到图片上,停留片刻显示内容,兼容性很差
** 有些浏览器下不显示(没有效果)
超链接
* 链接资源(******)
- <a href="链接到资源的路径"> 显示在页面上的内容 </a>
** href: 链接的资源的地址
** target:设置打开的方式 打开位置,默认是在当前页打开
-- _blank : 在一个新窗口打开
-- _self: 在当前页打开 默认
- 当超链接不需要到任何的地址 在href里面加#
- <a href="#">这是一个超链接2</a>
* 定位资源
** 如果想要定位资源:定义一个位置
<a name="top">顶部</a>
** 回到这个位置
<a href="#top">回到顶部</a>
** 引入一个标签 pre:原样输出
9、表格
* <table></table>: 表示表格的范围
参数:
- border:表格线
- bordercolor:表格线的颜色
- cellspacing:单元格直接的距离
- width:表格的宽度
- height:表格的高度
* 画图分析表格的写法
- 首先定义一个表格的范围使用table
- 定义一行使用 tr
- 定义一个单元格使用 td
** 操作技巧:
- 首先数有多少行 ,数每行里面有多少个单元格
** 表格的标题
<caption></caption>
** 合并单元格
- rowspan:跨行
** <td rowspan="3">人员信息</td>
- colspan:跨列
** <td colspan="3">人员信息</td>
** 在table里面 <tr></tr>
- 设置对齐方式 align: left center right
*** 在tr里面 <td></td>
- 设置显示方式 align: left center right
*** 使用th也可以表示单元格
- 表示可以实现居中和加粗
* 代码
<table border="1" bordercolor="blue" cellspacing="0" width="200" height="150">
10、表单
* 可以提交数据到开心网的服务器,这个过程可以使用表单标签实现 表单标签是最常用的标签,用于与服务器端的交互。
* <form></form>: 定义一个表单的范围
参数:
- action: 提交到地址,默认提交到当前的页面
- method:提交方式 :常用的有两种 get和post
- 常用的有两种 get和post,默认是get请求
- enctype属性(上传时候使用)一般请求下不需要这个属性,做文件上传时候需要设置这个属性
总共分为下面三大类:
<input>:输入标签 :接收用户输入信息。
其中的type属性指定输入标签的类型。
<select>:下拉选择标签<option value>。
<textarea>:文本域标签
--------------------------
例:
<form action="01-hello.html" method="get">
手机号码:<input type="text" name="phone"/><br/>
* 输入项
* 输入项里面写name属性,表示等号前面的值。大部分的输入项 使用 <input type="输入项的类型"/>
*** 普通输入项:<input type="text"/>
*** 密码输入项:<input type="password"/>
*** 单选输入项:<input type="radio"/>
- 在里面需要属性 name
- name的属性值必须要相同
- 必须有一个value值,表示等号后面的值
**** 实现默认选中的属性
-- checked="checked"
*** 复选输入项:<input type="checkbox"/>
- 在里面需要属性 name
- name的属性值必须要相同
- 必须有一个value值
**** 实现默认选中的属性
-- checked="checked"
* 下拉框
<select name="birth">
<option value="1991">1991</option>
<option value="1992">1992</option>
<option value="1993">1993</option>
</select>
- 默认选择
*** selected="selected"
* 文本域
<textarea cols="" rows="" name=""></textarea>
* 文件 <input type="file"/>
* 提交按钮 submit
*** 提交按钮
<input type="submit"/>
或 <input type="submit" value="注册"/>
点击注册之后地址后面增加了一些键值对:
- file:///C:/day01/10-表单标签一.html?phone=1301&pwd=123456&sex=nv&love=y&love=p&love=pp&birth=1992&tex=good+love&hid=
解释:
** ?输入项name的值=输入的值&
** 参数类似于key-value形式
*** 使用图片提交
<input type="image" src="图片路径"/>
* 重置 <input type="reset"/
* 使用图片提交 <input type="image" src=""/>
* 隐藏项(不会显示在页面上,但是存在于html代码里面) <input type="hidden" />
* 普通按钮 <input type="button" value=""/>
面试题目: 表单参数method中get和post区别
1、get请求地址栏会携带提交的数据,post不会携带(请求体里面。在第七天时候讲http协议时候)
2、get请求安全级别较低,post较高
3、get请求数据大小的限制,post没有限制
<html>
<head>
<title>HTML示例</title>
</head>
<body>
<form action="01-hello.html" method="get">
手机号码:<input type="text" name="phone"/><br/>
创建密码:<input type="password" name="pwd"/><br/>
性别:<input type="radio" name="sex" value="nv" checked="checked"/>女 <input type="radio" name="sex" value="nan"/>男<br/>
爱好:<input type="checkbox" name="love" value="y"/>羽毛球 <input type="checkbox" name="love" value="p" checked="checked"/>乒乓球
<input type="checkbox" name="love" value="pp"/> 排球<br/>
文件:<input type="file"/><br/>
生日:<select name="birth">
<option value="0">请选择</option>
<option value="1991" selected="selected">1991</option>
<option value="1992">1992</option>
<option value="1993">1993</option>
</select>
<br/>
自我描述:<textarea cols="10" rows="10" name="tex"></textarea><br/>
隐藏项:<input type="hidden" name="hid"/><br/>
<input type="submit" value="注册"/>
<input type="reset" value="重置注册"/>
<input type="button" value="普通按钮"/>
<br/>
<!-- <input type="image" src="a.jpg"/>-->
</form>
</body>
</html>
<html>
<head>
<title>HTML示例</title>
</head>
<body>
<h2>注册传智播客的账号</h2>
<form action="01-hello.html">
<table width="100%">
<tr>
<td align="right">注册邮箱:</td>
<td><input type="text" name="mail"/></td>
</tr>
<tr>
<td> </td>
<td>你可以使用 <a href="#">账号</a>注册或者使用 <a href="#">手机号</a>注册</td>
</tr>
<tr>
<td align="right">创建密码:</td>
<td><input type="password" name="pwd"/></td>
</tr>
<tr>
<td align="right">真实姓名:</td>
<td><input type="text" name="realname"/></td>
</tr>
<tr>
<td align="right">性别:</td>
<td><input type="radio" name="sex" value="nv"/>女 <input type="radio" name="sex" value="nan"/>男</td>
</tr>
<tr>
<td align="right" >生日:</td>
<td>
<select name="year">
<option value="1945">1945</option>
<option value="1931">1931</option>
<option value="1949">1949</option>
</select>年
<select name="month">
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>月
<select name="day">
<option value="30">30</option>
<option value="10">10</option>
<option value="25">25</option>
</select>日
</td>
</tr>
<tr>
<td align="right">我现在:</td>
<td>
<select name="now">
<option value="study">我正在上学</option>
<option value="work">我已经工作</option>
</select>
</td>
</tr>
<tr>
<td> </td>
<td><img src="verycode.gif"/> <a href="#">看不清换一张?</a></td>
</tr>
<tr>
<td align="right">验证码:</td>
<td><input type="text" name="verycode"/></td>
</tr>
<tr>
<td> </td>
<td><input type="image" src="btn_reg.gif"/></td>
</tr>
</table>
</form>
</body>
</html>
其他常用标签
b u i p pre sub sup s d iv span
加粗,下划 斜体 原样 下标 上标 自动换行 一行
b : 加粗
s :删除线
u :下划线
i :斜体
pre :原样输出
sub : 下标
sup : 上标
p :段落标签(换行+空行) 比br标签多一行
div :自动换行
span:在一行显示
头标签
* html两部分组成 head和body
** 在head里面的标签就是头标签
头标签都放在<head></head>头部分之间。包括:title base meta link
<title>:指定浏览器的。表示在标签上显示的内容
<base>:为页面上的所有链接规标题栏显示的内容定默认地址或默认目标。(target 属性)
** base标签:设置超链接的基本设置
- 可以统一设置超链接的打开方式,新开一页
<base target="_blank"/>
<meta>:可提供有关页面的基本信息
<meta http-equiv="refresh" content="3;url=http://www.sina.com.cn" />//3秒后跳转到后面路径
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
** <meta>标签:设置页面的一些相关内容
- <meta name="keywords" content="毕姥爷,熊出没,刘翔">
<meta http-equiv="refresh" content="3;url=01-hello.html" />
<link>:定义文档与外部资源的关系。
** link标签:引入外部文件
** 明天css,可以使用link标签引入css文件
框架集的使用、框架标签
窗口框架的建立(frameset,frame标签)
把窗口分为水平或者垂直的3部分,水平或者垂直混合分割
子窗口的边框设置
窗口的导航显示
使用框架标签时候,不能写在body里面,使用了框架标签,需要把body去掉
14、框架标签的使用(会用)
* <frameset>
- rows:按照行进行划分
** <frameset rows="80,*">
- cols:按照列进行划分
** <frameset cols="80,*">
* <frame>
- 具体显示的页面
- <frame name="lower_left" src="b.html">
--------------------------------------------------
<html>
<head>
<title>HTML示例</title>
</head>
<frameset rows="80,*"> //把页面划分成上下两部分
<frame name="top" src="a.html"/> //上面页面
<frame name="bottom" src="b.html"/>
</frameset>
</html>
--------------------------------------------------
<html>
<head>
<title>HTML示例</title>
</head>
<frameset rows="80,*"> //把页面划分成上下两部分
<frame name="top" src="a.html"/> //上面页面
<frameset cols="150,*"> //把下面部分划分成左右两部分
<frame name="lower_left" src="b.html"> //左边的页面
<frame name="lower_right" src="c.html"> //右边的页面
</frameset>
</frameset>
</html>
--------------------------------------------------
* 如果在左边的页面超链接,想让内容显示在右边的页面中
- 设置超链接里面属性 target值设置成名称
- <a href="01-hello.html" target="right">超链接1</a>
<html>
<head>
<title>HTML示例</title>
</head>
<body>
<h1>bbbbbbb</h1>
<a href="01-hello.html" target="right">超链接1</a>//target使点击左面页面的超链接会显示在右面
<a href="02-标题和水平线和特殊字符.html" target="right">超链接2</a>
<a href="03-列表标签.html" target="right">超链接3</a>
</body>
</html>
中文
相对于editplus而言
去掉 在保存文件时创建备份
选 目标
<html>
<head>
<title>HTML示例</title>
</head>
<body>
<h1>这个页面包含中文</h1>
</body>
</html>
15、a标签的扩展(了解)
- 百度是网络资源
- 当a标签里面访问网络资源时候,必须要加一个协议 http:表示一个网络的公共协议,
如果加上http协议之后,自动识别访问资源是一个网络资源
- 当浏览器里面找到相关协议,首先看这个协议是不是公共协议http。
如果不是公共协议,会去本地电脑找支持这个协议的应用程序。