概述
HTML, Hyper Text Markup Language 超文本标记语言
超文本:包括文字、图片、音频、视频、动画等。HTML5 提供了一些新的元素和一些有趣的新特性,同时也建立了一些新的规则。这些元素、特性和规则的建立,提供了许多新的网页功能,如使用网页实现动态渲染图形、图标、图像和动画,以及不需要安装任何插件直接使用网页播放视频等
HTML5 的优势
- 世界知名浏览器厂商对 HTML5 的支持:微软、Google、苹果、Opera、Mozilla
- 市场的需求
- 跨平台
W3C 标准
World Wide Web Consortium (万维网联盟)。http://www.w3.org / http://www.chinaw3c.org
成立于1994年,Web技术领域最权威和具影响力的国际中立性技术标准机构。W3C 标准包括:
- 结构化标准语言(HTML、XML)
- 表现标准语言(CSS)
- 行为标准(DOM、ECMAScript)
HTML 基本结构
由开放标签和闭合标签组成,比如 <body></body>
网页基本信息
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="keywords" content="网站关键词"> <meta name="description" content="这是描述网站的地方"> <title>Title</title> </head>
<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>
<p>这是一个段落</p> <p>这是第二个段落</p>
这是第一行 <br/> 换行之后 <br/>
水平线之前 <hr/> 水平线之后
<h1>字体样式标签</h1>
<strong>粗体</strong> <br/> <em>斜体</em>
<br/>
空 格 <br/>
大于号: > <br/> 小于号: < <br/>
©
</body> </html>
|
图像标签
<img src="path" alt="text" title="text" width="x" height="y"/>
- src: 图像地址,分为相对地址和绝对地址,必须
- alt: 图像的替代文字,图片加载失败的时候返回,必须
- title: 鼠标悬停提示文字,非必需
- width: 图像宽度,非必需
- height: 图像高度,非必需
- …
超链接标签及应用
<a href="path" target="目标窗口位置">链接文本或者图像</a>
- href: 必填,标识要跳转到哪个页面
- target:标识窗口在哪里打开,_blank:在新标签中打开网页;_self:在自己的网页中打开
锚链接
需要一个锚作为标记,然后就可以跳转到标记,如何定义标记:<a name="top">顶部</a>
或者 <a id="top">顶部</a>
(后者是目前使用的),通过 # 来跳转到标记。 <a href="#top">回到顶部</a>
。对于页面链接也可以使用锚链接,比如 <a href="https://zyinnju.com#top">跳转到博客的顶部</a>
邮件地址
<a href="mailto:201250182@smail.nju.edu.cn">发送邮件</a>
块元素和行内元素
- 块元素:无论内容为多少,该元素都独占一行,比如
<p>
、<h1>
等
- 行内元素:内容撑开宽度,左右都是行内元素的可以排在同一行,比如
<a>
、<strong>
、<em>
等
列表标签
列表就是信息资源的一种展示形式。它可以使信息结构化和条理化,并以列表的样式显示出来,以便浏览者能够更加快捷地获得相应地信息
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>列表标签</title> </head> <body>
<ol> <li>Java</li> <li>Python</li> <li>运维</li> <li>前端</li> <li>C++</li> </ol>
<hr/>
<ul> <li>Java</li> <li>Python</li> <li>运维</li> <li>前端</li> <li>C++</li> </ul>
<hr/>
<dl> <dt>编程语言</dt>
<dd>Java</dd> <dd>Python</dd> <dd>Go</dd> <dd>C</dd> <dd>PHP</dd>
<dt>城市</dt> <dd>上海</dd> <dd>北京</dd> <dd>南京</dd> <dd>长沙</dd> </dl>
</body> </html>
|
表格标签
- 为什么要使用表格:简单通用、结构稳定
- 基本结构:单元格、行、列、跨行、跨列
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>表格标签</title> </head> <body>
<table border="1px"> <tr> <td colspan="4">1-1</td> </tr> <tr> <td rowspan="2">2-1</td> <td>2-2</td> <td>2-3</td> <td>2-4</td> </tr> <tr> <td>3-2</td> <td>3-3</td> <td>3-4</td> </tr>
</table>
</body> </html>
|
媒体元素
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>视频和音频标签</title> </head> <body>
<video src="path" controls autoplay></video>
<audio src="path" controls autoplay></audio>
</body> </html>
|
页面结构分析
元素名 |
描述 |
header |
标题头部区域的内容(用于页面或页面中的一块区域) |
footer |
标记脚部区域的内容(用于整个页面或页面的一块区域) |
section |
Web页面中的一块独立区域 |
article |
独立的文章内容 |
aside |
相关内容或应用(常用于侧边栏) |
nav |
导航类辅助内容 |
iframe 内连框架
在一个网页里面嵌套另一个网页
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body>
<iframe src="" name="hello" frameborder="0" width="1000px" height="800px"></iframe>
<a href="BaseLabel.html" target="hello">点击跳转</a>
</body> </html>
|
表单语法
- method: 规定如何发送表单数据,常用方法:GET、POST
- action:标识向何处发送表单数据
<form method="post" action="result.html"> <p> name: <input name="name" type="text"/></p> <p> password: <input name="pass" type="password"/></p> <p> <input type="submit" name="Button" value="提交"/> <input type="reset" name="Reset" value="重填"/> </p> </form>
|
表单元素格式
属性 |
说明 |
type |
指定元素的类型,包括 text、password、checkbox、radio、submit、reset、file、hidden、image 和 button,默认为 text |
name |
指定表单元素的名称 |
value |
元素的初始值。type 为 radio、checkbox 时必须指定一个值 |
size |
指定表单元素的初始宽度。当 type 为 text 或 password 时,表单元素的大小以字符为单元。对于其他类型,宽度以像素为单位 |
maxlength |
type 为 text 或 password 时,输入的最大字符数 |
checked |
type 为 radio 或 checkbox 时,指定按钮是否被选中 |
- radio: 单选框标签,相同 name 的单选框为一组(即同一组里的单选框同时只能够选择一个,不同组的可以被同时选择)。radio 需要有 value
- checkbox: 多选框标签,也必须要有 value 值。
- button:按钮
<p>性别: <label> <input type="radio" name="sex" value="boy"/> </label> 男 <label> <input type="radio" name="sex" value="girl"/> </label> 女 </p>
<p>爱好: <label> <input type="checkbox" name="hobby" value="sleep"/> </label> 睡觉 <label> <input type="checkbox" name="hobby" value="code"/> </label> 写代码 <label> <input type="checkbox" name="hobby" value="eat"> </label> 吃饭 </p>
<p>按钮: <input type="button" name="btn" value="按钮"> </p>
|
列表框和文本域和文件域
列表框
<p>下拉框 <select name="nation"> <option value="China">中国</option> <option value="Japan">日本</option> <option value="UK" selected>英国</option> <option value="USA">美国</option> </select> </p>
|
selected 表示默认选择。
文本域
<p>反馈: <label> <textarea name="textarea" cols="30" rows="5"> 文本内容 </textarea> </label> </p>
|
文件域
<p> <input type="file" name="files"/> <input type="button" value="上传" name="upload"/> </p>
|
搜索框和简单验证
邮件验证
<p>邮箱: <input type="email" name="email"/> </p>
|
URL 验证
<p>url: <input type="url" name="url"/> </p>
|
数字验证
<p>商品数量: <input type="number" name="num" max="100" min="0" step="10"/> </p>
|
滑块
<p>滑块 <input type="range" min="0" max="100"/> </p>
|
搜索
<p>搜索: <input type="search" name="search"/> </p>
|
表单初级验证
- placeholder(输入框中的提示信息)
<input type="text" placeholder="请输入用户名" name="username"/>
|
- required(非空要求)
<input type="text" name="username" required/>
|
- pattern(正则表达式)
<input type="text" name="mail" pattern="\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"/>
|