HTML基本语法
什么是HTML
- 超文本标记语言
- 超文本包括:文字、图片、音频、视频、动画等
HTML的发展史
HTML5的优势
- 世界知名浏览器厂商对HTML5的支持
- 市场的需求
- 跨平台
W3C标准
W3C
World Wide Web Consortium(万维网联盟)
成立于1994年,Web技术领域最权威和具影响力的国际中立性技术标准机构
W3C标准
- 结构化标准语言(HTML、XML)
- 表现标准语言(CSS)
- 行为标准(DOM、ECMAScript)
HTML基本结构
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
</html>
- <body>、</body> 等成对的标签,分别叫开放标签和闭合标签
- 单独呈现的标签(空元素),如 <hr/> ,叫做自闭合标签,意为用 / 来关闭空元素
HTML的注释
<!-- 注释 -->
网页基本信息
<!-- DOCTYPE:高斯浏览器,我们要使用什么样的规范,但即使不写这个也没事,因为浏览器默认的规范就是html -->
<!DOCTYPE html>
<!-- html 是一个总的标签,所有的html代码都在这个标签内编写 -->
<html lang="en">
<!-- head 标签代表网页头部 -->
<head>
<!-- meta 标签是一个描述性标签,它用来描述我们网站的一些信息 -->
<!-- meta 标签一般用来做SEO(搜索引擎优化)-->
<meta charset="UTF-8">
<meta name="keywords" content="学习HTML">
<meta name="description" content="来这里可以学习前端的小知识">
<!-- title 标签代表网页的标题 -->
<title>我的第一个网页</title>
</head>
<!-- body 标签代表网页主体 -->
<body>
Hello World!
</body>
</html>
网页基本标签
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>基本标签学习</title>
</head>
<body>
<!-- 标题标签 -->
<h1>一级标签</h1>
<h2>二级标签</h2>
<h3>三级标签</h3>
<h4>四级标签</h4>
<h5>五级标签</h5>
<h6>六级标签</h6>
<hr/>
<!-- 段落标签 -->
<!-- 如果没有写段落标签,输入的文本都会在一行显示 -->
<p>两只老虎,两只老虎,</p>
<p>跑得快,跑得快,</p>
<p>一只没有耳朵,</p>
<p>一只没有尾巴,</p>
<p>真奇怪!真奇怪!</p>
<!-- 水平线标签 -->
<hr/>
<!-- 换行标签 -->
两只老虎,两只老虎,<br/>
跑得快,跑得快,<br/>
一只没有耳朵,<br/>
一只没有尾巴,<br/>
真奇怪!真奇怪!<br/>
<hr/>
<!-- 粗体,斜体 -->
<h1>字体样式标签</h1>
粗体: <strong>I LOVE YOU</strong>
斜体: <em>I LOVE YOU</em>
<br/>
<hr/>
<!-- 特殊符号 -->
空 格
<br/>
空 格
<br/>
大于号:>
<br/>
小于号:<
<br/>
版权号:©
<!--
特殊符号记忆方式
&开头 ;结尾
-->
</body>
</html>
标题标签
<!-- 标题标签 -->
<h1>一级标签</h1>
<h2>二级标签</h2>
<h3>三级标签</h3>
<h4>四级标签</h4>
<h5>五级标签</h5>
<h6>六级标签</h6>
段落标签
<!-- 段落标签 -->
<!-- 如果没有写段落标签,输入的文本都会在一行显示 -->
<p>两只老虎,两只老虎,</p>
<p>跑得快,跑得快,</p>
<p>一只没有耳朵,</p>
<p>一只没有尾巴,</p>
<p>真奇怪!真奇怪!</p>
换行标签
<!-- 换行标签 -->
两只老虎,两只老虎,<br/>
跑得快,跑得快,<br/>
一只没有耳朵,<br/>
一只没有尾巴,<br/>
真奇怪!真奇怪!<br/>
水平线标签
<!-- 水平线标签 -->
<hr/>
字体样式标签
<!-- 粗体,斜体 -->
<h1>字体样式标签</h1>
粗体: <strong>I LOVE YOU</strong>
斜体: <em>I LOVE YOU</em>
注释和特殊符号
<!-- 特殊符号 -->
空 格
<br/>
空 格
<br/>
大于号:>
<br/>
小于号:<
<br/>
版权号:©
<!--
特殊符号记忆方式
&开头 ;结尾
-->
图像标签
常见的图像格式
- JPG
- GIF
- PNG
- BMP
- ...
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图像标签学习</title>
</head>
<body>
<!-- img学习
src:图片地址(相对地址、绝对地址) -- 必填
推荐使用相对地址
../ --上一级目录
alt:图片名字(加载图片失败的时候会显示) -- 必填
title:鼠标悬停再图片上面的时候显示的文字
-->
<img src="../resources/image/1.jpg" alt="微信头像" title="悬停" width="300" height="300">
</body>
</html>
链接标签
- 文本超链接
- 图像超链接
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>链接标签学习</title>
</head>
<body>
<!-- 使用id作为标记 -->
<a id="top">顶部</a>
<!-- a标签
href:表示要跳转到哪个页面 -- 必填
target:表示窗口在哪里打开
_blank:在新标签页中打开
_self:在当前页面打开,不填target属性的值默认就是_self
-->
<!-- 页面间链接 -->
<a href="1.我的第一个网页.html" target="_blank">点击我跳转页面</a>
<br/>
<a href="https://www.baidu.com" target="_self">点击我跳转到百度</a>
<br/>
<a href="1.我的第一个网页.html">
<img src="../resources/image/1.jpg" alt="微信头像" title="点击图片跳转页面" width="100" height="100">
</a>
<!-- 锚链接
1.需要一个锚标记 用a标签里面的id属性作为一个标记
2.跳转到标记 利用 #id属性设置的值 进行跳转
#
-->
<a href="#top">跳转到顶部</a>
<a id="down">底部</a>
<!-- 功能性链接
邮件链接:mailto:
QQ链接:去网上搜QQ推广,然后得到它给的链接
-->
<a href="mailto:2479433253@qq.com">点击联系我</a>
</body>
</html>
页面间链接
从一个页面链接到另一个页面
<!-- 页面间链接 -->
<a href="1.我的第一个网页.html" target="_blank">点击我跳转页面</a>
<br/>
<a href="https://www.baidu.com" target="_self">点击我跳转到百度</a>
<br/>
<a href="1.我的第一个网页.html">
<img src="../resources/image/1.jpg" alt="微信头像" title="点击图片跳转页面" width="100" height="100">
</a>
锚链接
同一页面的锚链接
<!-- 锚链接
1.需要一个锚标记 用a标签里面的id属性作为一个标记
2.跳转到标记 利用 #id属性设置的值 进行跳转
#
-->
<!-- 使用id作为标记 -->
<a id="top">顶部</a>
...
<a href="#top">跳转到顶部</a>
不同页面的锚链接
<a href="4.链接标签.html#down">跳转到四四个页面的底部</a>
功能性链接
<!-- 功能性链接
邮件链接:mailto:
QQ链接:去网上搜QQ推广,然后得到它给的链接
-->
<a href="mailto:2479433253@qq.com">点击联系我</a>
块元素和行内元素
块元素
- 无论内容多少,该元素独占一行
- (p、h1~h6...)
行内元素
- 内容撑开宽度,左右都是行内元素的可以排在一行
- (a、strong、em...)
列表
概述
列表就是信息资源的一种表示形式,它可以使信息结构化和条理化,并以列表的样式显示出来,一边浏览者能更快接地获得相应的信息
分类
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>列表学习</title>
</head>
<body>
<!-- 有序列表 -->
<ol>
<li>语文</li>
<li>数学</li>
<li>英语</li>
</ol>
<hr/>
<!-- 无序列表 -->
<ul>
<li>语文</li>
<li>数学</li>
<li>英语</li>
</ul>
<hr/>
<!-- 自定义列表
dl:标签
dt:列表名称
dd:列表内容
-->
<dl>
<dt>学科</dt>
<dd>语文</dd>
<dd>数学</dd>
<dd>英语</dd>
<dt>地址</dt>
<dd>汕头</dd>
<dd>西安</dd>
<dd>江西</dd>
</dl>
</body>
</html>
有序列表
<!-- 有序列表 -->
<ol>
<li>语文</li>
<li>数学</li>
<li>英语</li>
</ol>
无序列表
<!-- 无序列表 -->
<ul>
<li>语文</li>
<li>数学</li>
<li>英语</li>
</ul>
自定义列表
<!-- 自定义列表
dl:标签
dt:列表名称
dd:列表内容
-->
<dl>
<dt>学科</dt>
<dd>语文</dd>
<dd>数学</dd>
<dd>英语</dd>
<dt>地址</dt>
<dd>汕头</dd>
<dd>西安</dd>
<dd>江西</dd>
</dl>
表格
为什么使用表格
- 简单通用
- 结构稳定
基本结构
- 单元格
- 行 (tr)
- 列 (td)
- 跨行 (rowspan)
- 跨列 (colspan)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表格学习</title>
</head>
<body>
<!-- 表格table
行 tr
列 td
-->
<table border="1px">
<tr>
<!-- colspan 跨列 -->
<td colspan="3">学生成绩</td>
</tr>
<tr>
<!-- rowspan 跨行 -->
<td rowspan="2">lhj</td>
<td>语文</td>
<td>100</td>
</tr>
<tr>
<td>数学</td>
<td>100</td>
</tr>
<tr>
<td rowspan="2">fjq</td>
<td>语文</td>
<td>99</td>
</tr>
<tr>
<td>数学</td>
<td>99</td>
</tr>
</table>
</body>
</html>
视频和音频
视频元素
video
<video src="../resources/video/搞笑.mp4" controls autoplay></video>
音频元素
audio
<audio src="../resources/audio/4月17日.MP3" controls autoplay></audio>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>媒体元素学习</title>
</head>
<body>
<!-- 音频和视频
src:资源路径
controls:控制条
autoplay:自动播放
-->
<video src="../resources/video/搞笑.mp4" controls autoplay></video>
<audio src="../resources/audio/4月17日.MP3" controls autoplay></audio>
</body>
</html>
页面结构分析
元素名 | 描述 |
header | 标题头部区域内容(用于页面或页面中的一块区域) |
footer | 标记脚步区域的内容(用于页面或页面中的一块区域) |
section | Web页面中的一块独立区域 |
article | 独立的文章内容 |
aside | 相关内容或应用(常用于侧边栏) |
nav | 导航类辅助内容 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>页面结构分析</title>
</head>
<body>
<header>
<h2>网页头部</h2>
</header>
<section>
<h2>网页主体</h2>
</section>
<footer>
<h2>网页脚部</h2>
</footer>
</body>
</html>
iframe内联框架
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!-- iframe 内联框架
src:地址
width:宽度
height:高度
name:可以利用a标签给iframe设置跳转的位置
-->
<iframe src="https://www.baidu.com" frameborder="0" width="1000px" height="800px"></iframe>
<iframe src="" name="hello" frameborder="0"></iframe>
<a href="1.我的第一个网页.html" target="hello">点击跳转</a>
<!--<iframe src="//player.bilibili.com/player.html?isOutside=true&aid=55631961&bvid=BV1x4411V75C&cid=97257967&p=11"-->
<!-- scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe>-->
</body>
</html>
点击前
点击后
表单语法
表单元素格式
属性 | 说明 |
type | 指定元素的类型,text、password、radio、checkbox、submit、reset、number、email、url、image、button、range、hidden,默认为text |
name | 指定表单元素的名称 |
value | 元素的初始值,type为radio时必须指定一个值 |
size | 指定表单元素的初始宽度,当type为text或password时,表单元素的大小以字符为单位,对于其他类型,宽度以像素为单位 |
maxlength | type为text或password时,输入的最大字符 |
checked | type为radio或者checkbos时,执行按钮是否被选中 |
表单的应用
readonly | 只读,不能修改 |
disabled | 禁用,什么都不能操作 |
hidden | 将指定的input标签隐藏 |
表单初级验证
placeholder | 提示信息 |
required | 非空判断 |
pattern | 正则表达式判断 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登陆注册</title>
</head>
<body>
<h1>注册</h1>
<!--表单form
action:表单提交的位置,可以是网站,也可以是一个请求处理地址
method:post、get 提交方式
get 方式提交:我们可以在url中看到我们提交的信息,不安全,但高效
post 方式提交:比较安全,可以传输大文件
-->
<form action="1.我的第一个网页.html" method="get">
<!-- 文本的输入框:input type="text"
value:默认初始值
maxlength:该输入框最多能输入几个字符
size:该文本框的长度为多少字符
readonly:表示只读,不能更改
disabled:表示禁用,什么都不能操作
-->
<p>名字:<input type="text" name="username" placeholder="请输入用户名" required/></p>
<!-- 密码的输入框:input type="password" -->
<p>密码:<input type="password" name="password" disabled></p>
<!-- 单选框标签
input type="radio"
value:单选框的值
name:表示组
checked:表示默认选中
-->
<p>性别:
<input type="radio" value="boy" name="sex" checked/>男
<input type="radio" value="girl" name="sex"/>女
</p>
<!-- 多选框标签
input type="checkbox"
value:单选框的值
name:表示组
checked:表示默认选中
-->
<p>爱好:
<input type="checkbox" value="sleep" name="hobby" checked/>睡觉
<input type="checkbox" value="code" name="hobby"/>敲代码
<input type="checkbox" value="chat" name="hobby"/>聊天
</p>
<!-- 按钮
input type="button" 普通按钮
input type="image" 图片按钮
input type="submit" 提交按钮
input type="reset" 重置按钮
-->
<p>按钮:
<input type="button" name="btn1" value="点击变长"/>
<input type="image" src="../resources/image/1.jpg" width="100px" height="100px"/>
</p>
<!-- 下拉框,列表框
selected:表示默认选中
<select>
<option></>option>
</select>
-->
<p>下拉框:
<select name="列表名称">
<option value="china">中国</option>
<option value="us">美国</option>
<option value="eth" selected>瑞士</option>
<option value="india">印度</option>
</select>
</p>
<!-- 文本域
<textarea cols="" rows=""></textarea>
-->
<p>反馈:
<textarea name="textarea" cols="50" rows="10">文本内容</textarea>
</p>
<!-- 文件域
input type="file"
-->
<p>
<input type="file" name="files"/>
<input type="button" value="上传" name="upload"/>
</p>
<!-- 邮件验证
input type="email"
-->
<p>邮箱:
<input type="email" name="email" required/>
</p>
<!-- URL
input type="url"
-->
<p>URL:
<input type="url" name="url" required/>
</p>
<!-- 数字验证
input type="number"
max:最大值
min:最小值
step:步长
-->
<p>数字:
<input type="number" name="num" max="100" min="0" step="10"/>
</p>
<!-- 滑块
input type="range"
max:最大值
min:最小值
step:步长
-->
<p>滑块:
<input type="range" name="voice" min="0" max="100" step="10"/>
</p>
<!-- 搜索框
input type="search"
-->
<p>搜索:
<input type="search" name="search"/>
</p>
<!-- 增强鼠标可用性 -->
<p>
<label for="mark">你点我试试</label>
<input type="text" id="mark"/>
</p>
<p>自定义邮箱:
<input type="email" name="email" pattern="/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
/^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/">
</p>
<p>
<input type="submit" disabled/>
<input type="reset" value="清空表单"/>
</p>
</form>
</body>
</html>