一、 HTML预备知识
1. 基本语法规范
- HTML 标签是由尖括号包围的关键词,例如
<html>
。 - 双标签:HTML 标签通常是成对出现的,例如
<html>
和<html/>
,称为双标签。第一个是开始标签,第二个是结束标签。 - 单标签:有些特殊标签必须是单个标签(极少情况),例如
<br/>
,我们称之为单标签。 - 标签关系:包含关系和并列关系。
2. 基本结构标签
每个网页都会有一个基本的结构标签(也称为骨架标签),页面内容也是在这些基本标签上书写。
标签名 | 定义 | 说明 |
---|---|---|
html /html | HTML标签 | 页面中最大的标签,称为根标签 |
head /head | 文档的头部 | 注意在head标签中必须要设置的是title |
title /title | 文档的标题 | 让页面拥有一个属于自己的网页标题 |
body /body | 文档的主体 | 元素包含文档的所有内容,页面内容基本放于此 |
3. VSCode 工具生成骨架标签新增代码
3.1 文档类型声明标签
!<DOCTYPE>
文档类型声明,告诉浏览器使用何种 HTML 版本来显示网页。
<!DOCTYPE html>
此代码表明:当前页面采用的是 HTML5 版本来显示网页。
注意:
<!DOCTYPE>
声明位于文档最前面的位置,处于<html>
标签之前。<!DOCTYPE>
不是一个 HTML 标签,他就是文档类型声明标签。
3.2 lang 语言种类
用来显示当前文档显示的语言。
<html lang="zh-CN">
<html lang="en"></html>
</html>
en
定义语言为英文。zh-CN
定义语言为中文。
3.3 charset 字符集
<meta charset="UTF-8" />
字符集(character set)是多个字符的集合,以便计算机能够识别和存储各种文字。
在<head>
标签内,可以通过<meta>
标签的charset
属性来设置文档使用何种字符编码。
charset
常用的值有:GBK、UTF-8,其中UTF-8被称为万国码,基本包含了全世界所有国家需要用到的字符。
二、HTML基础标签
1. 标题标签
为了使网页具有语义化,经常使用标题标签,HTML 提供 6 个等级的网页标题标签即 <h1>-<h6>
。
特点:
- 加了标题的文字会加粗,字号也会依次变大。
- 一个标题独占一行。
<h1>标题标签</h1>
<h1>标题一共六级选,</h1>
<h2>文字加粗一行显。</h2>
<h3>由大到小依次减,</h3>
<h4>从重到轻随之变。</h4>
<h5>语法规范书写后,</h5>
<h6>具体效果刷新见。</h6>
2. 段落和换行标签
- 在 html 中,
<p>
标签用于定义段落,将整个网页分成若干个段落。
p
指paragraph,意为段落。把文字有条理的显示出来就需要将文字分段显示。
**特点:
- 文本在一个段落中会根据浏览器窗口的大小自动换行。
- 段落和段落之间保有空隙。
- 在 html 中,一个段落中的文字会从左到右依次排列,直到浏览器窗口的右端,然后才自动换行。如果希望 某段文本强制换行显示,就需要使用换行标签
<br/>
。
<br/>
是 break 缩写,意为打断、换行。
特点:
<br/>
是个单标签。<br/>
标签只是简单地开始新的一行,跟段落不一样,段落之间会插入一些垂直的间距。
3. 文本格式化标签
语义 | 标签 | 说明 |
---|---|---|
加粗 | <strong></strong> 或<b></b> |
更推荐<strong> ,语义更强烈 |
斜体 | <em></em> 或<i></i> |
更推荐使用<em> ,语义更强烈 |
删除线 | <del></del> 或<s><s/> |
更推荐使用<del> ,语义更强烈 |
下划线 | <ins></ins> 或<u></u> |
更推荐使用<ins> ,语义更强烈 |
4.注释和特殊字符号
注释:
<!--注释-->
VSCode 中快捷键:Ctrk + /字符实体
字符 | 显示 |
---|---|
|
空格 |
< |
< |
> |
> |
© |
© |
补充:(使用较少,按需查阅) |
5. 超链接标签
5.1 链接的语法格式
a 是单词 anchor 的简写,是锚的意思。
<a href="跳转目标" target="目标窗口的弹出方式">文本或图像</a>
属性 | 作用 |
---|---|
href |
指定链接地址 url,为必须属性。 |
target |
指定页面打开方式,_self 为默认值,_blank 为在新窗口中打开 |
5.2 链接分类
- 外部链接:例如
<a href="http://www.baidu.com">百度</a>
。 - 内部链接:网站内部页面之间的相互链接. 直接链接内部页面名称即可,例如
<a href="index.html">首页</a>
。 - 空链接:
#
- 下载链接:地址链接的是文件.exe、压缩包.zip 等。
<a href="img.zip">下载文件</a>
- 网页元素链接:在网页中的各种网页元素,如文本、图像、表格、音频、视频等都可以添加超链接。
<a href="http://www.baidu.com"><img src="img.jpg"/></a>
- **锚点链接:点击链接,可以快速定位到页面中的某个位置。
- 在链接文本的 href 属性中,设置属性值为
#名字
的形式,如:<a href="#two">第二季</a>
。 - 找到目标位置标签,里面添加一个 id 属性 = 刚才的名字 ,如:
<h3 id="two">第二季介绍</h3>
- 在链接文本的 href 属性中,设置属性值为
6. 图像标签和路径
6.1 图像标签
在 HTML 标签中,<img />
标签用于定义 HTML 标签页面中的图像。
<img src="图像url" />
标签内属性
属性 | 属性值 | 说明 |
---|---|---|
src |
图片路径 | 必须属性 |
alt |
文本 | 替换文本,当图片不显示时显示文字 |
title |
文本 | 提示文本。鼠标放到图像上显示文字 |
width |
像素 | 图像宽度 |
height |
像素 | 图像高度 |
border |
像素 | 图像边框粗细 |
图像标签属性注意点: |
- 图像标签可以拥有多个属性,必须写在标签名称的后面。
- 属性之间不分先后顺序,标签名称与属性、属性与属性之间均以空格分开。
- 属性采取键值对的格式,即 key=“value” 的格式,属性 =“属性值”。
6.2 路径
- 相对路径: 以引用文件位置为参考基础,而建立出来的目录路径。是图片相对于 HTML 页面的位置。
分类 | 符号 | 说明 |
---|---|---|
同级路径 | 同一级 | |
下一级路径 | / |
图像文件位于HTML文件下一级 |
上一级路径 | ../ |
图像文件位于HTML文件上一级 |
- 绝对路径: 是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径或者完整的网络地址。
例如,
D:\web\img\logo.gif
或完整的网络地址“http://www.itcast.cn/images/logo.gif”。
7. div 和 span 标签
<div>
和 <span>
是没有语义的,它们是一个盒子,用来装内容的。
div 是 division 的缩写,表示分割、分区。span 意思是跨度、跨距。
<div>这是头部</div>
<span>今日价格</span>
特点:
div 标签用来布局,一行只能放一个 div大盒子。
span 标签用来布局,一行可以多个 span小盒子。
三、HTML高阶标签
1. 表格标签
1.1 表格的基本语法
<table></table>
用于定义表格的标签。<tr></tr>
标签用于定义表格中的行,必须嵌套在<table></table>
中。<th></th>
(table head) 标签用于定义表格的表头部分,必须嵌套在<tr></tr>
中。常用于表格第一行,突出重要性,表头单元格里面的文字会加粗居中显示。<td></td>
(table data)标签用于定义表格中的单元格,必须嵌套在<tr></tr>
中。
<table>
<tr>
<th>表头名称</th>
...
</tr>
<tr>
<td>单元格内的文字</td>
...
</tr>
...
</table>
1.2 表格属性
只作了解,后期通过 CSS 来设置。 这些属性都要写到 <table></table>
标签中
属性名 | 属性值 | 描述 |
---|---|---|
align |
left、center、right | 表格元素对齐方式 |
border |
1或”” | 规定是否有边框,默认为"" ,表示没有边框 |
cellpadding |
像素值 | 规定单元边沿与其内容之间空白,默认1px |
cellspacing |
像素值 | 规定单元格之间的空白,默认为2px |
width |
像素值或百分比 | 规定表格宽度 |
hight |
像素值或百分比 | 规定表格高度 |
1.3 表格结构标签
场景:表格可能很长,将表格分割为表格头部和表格主题两大部分。
<thead>
表示头部区域,<tbody>
表示主体区域,更好区分表格结构。
注意:
<thead></thead>
:定义表格头部,且内部必须有<tr>
标签。<tbody></tbody>
:定义表格主体,存放数据,且内部必须有<tr>
标签。- 以上标签都放在
<table></table>
里面。
<thead>
<tr>
<th>表头名称</th>
...
</tr>
</thead>
<tbody>
<tr>
<td>单元格内的文字</td>
</tr>
...
</tbody>
1.4 合并单元格
- 跨行合并:rowspan=”合并单元格个数”
- 跨列合并:colspan=”合并单元格个数”
合并三部曲:
- 确定跨行 or 跨列。
- 找到目标单元格:跨行取最上面为目标单元格,跨列取最左边为目标单元格。
<td colspan="2"></td>
- 删除多余单元格。
2. 列表标签
2.1 无序列表
<ul>
标签标识 HTML 页面项目中的无序列表,一般以项目符号呈现列表项,而列表项使用<li>
标签定义。
<ul>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
</ul>
注意:
- 无序列表的各个列表项之间没有顺序级别之分,是并列的。
<ul></ul>
中只能包含<li></li>
,写入其他标签或文字是不允许的。<li></li>
之间相当于一个容器,可以容纳所有元素。- 无序列表带有自己的属性,可用 CSS 修改样式属性。
2.2 有序列表
使用 <ol>
标签来定义有序列表,<li>
来定义列表项。
<ol>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
</ol>
与无序列表类似,有自己的样式属性,通过 CSS 设置。
2.3 自定义列表
自定义列表的列表项前没有任何项目符号。
<dl>
定义描述列表,与 <dt>
和 <dd>
标签配合使用。
<dl>
<dt>名词1</dt>
<dd>名词1解释1</dd>
<dd>名词1解释2</dd>
</dl>
注意
- dl 里面只能包含 dt 和 dd。
- dt和dd个数没有限制,经常是一个dt对应多个dd。
3. 表单标签
3.1 表单组成
在 HTML 中,一个完整的表单通常由表单域、表单控件(也称为表单元素)和 提示信息3个部分构成。
3.2 表单域
表单域是一个包含表单元素的区域。 使用 <form>
标签用于定义表单域,以实现用户信息的收集和传递。<form>
标签会将它范围内的表单元素信息提交给服务器。
<form action="url地址" method="提交方式" name="表单域名称">
各种表单元素控件
</form>
常用属性:
属性 | 属性值 | 作用 |
---|---|---|
action | url地址 | 指定接受并处理表单数据的服务器的 url 地址 |
method | get/post | 设置表单数据的提交方式 |
name | 名称 | 用于指定表单名称,区分同一个页面中的多个表单域 |
**注意: |
- 写表单元素之前需要有表单域将其包含。
- 表单域是
form
标签。
3.3 表单控件
3.3.1 <input>
表单元素
<input>
标签用于收集用户信息。
input
标签包含 type
属性,决定了输入字段的不同形式:***文本字段、复选框、掩码后的文本控件、单选按钮、按钮等。
<input type="属性值" />
input
标签为单标签type
属性设置不同属性值来指定不同控件类型
type 常用属性值
属性值 | 描述 |
---|---|
text | 输入字段。用户可输入文本,默认宽度为 20 个字符。 |
button | 可点击按钮,后期结合js搭配使用。 |
radio | 单选按钮 |
checkbox | 复选框 |
password | 密码字段。字符被掩码。 |
file | 定义输入字段和“浏览”按钮,供文件上传 |
submit | 提交按钮。会把表单数据发送到服务器。 |
reset | 重置按钮,清除表单所有数据。 |
image | 定义图像形式的提交按钮 |
hidden | 定义隐藏的输入字段 |
input 的其他属性
属性 | 属性值 | 描述 |
---|---|---|
name | 自定义 | 定义 input 元素名称 |
value | 自定义 | 规定 input 元素的值(可以显示出来) |
checked | checked | 规定此 input 元素首次加载时应当被选中 |
maxlength | 正整数 | 规定输入字段字符的最大长度 |
name 和 value
是每个表单元素都有的属性值,主要给后台人员使用。- name:多选一或复选时,所有的单选按钮和复选框要有相同的name值。
- value:多选一或复选时,每个单选按钮和复选框要有不同的value值。
- checked 属性主要针对于单选按钮和复选框, 主要作用一打开页面,就要可以默认选中某个表单元素。
- maxlength 是用户可以在表单元素输入的最大字符数, 一般较少使用。
label标签
<label>
标签为 input 元素定义标注。<label>
标签用于绑定一个表单源深路,当点击 label 标签内的文本时,浏览器自动将焦点转到或者选择对应的表单元素上,提升用户体验。
<label for="nan">男</label>
<input type="radio" name="sex" id="nan" />
核心: <lable>
标签的 for 属性与input元素的 id 属性相同。
3.3.2 <select>
下拉表单元素
<select>
<option>选项1</option>
<option>选项2</option>
<option>选项3</option>
</select>
注意
- select 中至少包含一对 option。
- 在 option 中定义属性
selected="selected"
,当前项即为默认选项。
3.3.3 <textarea>
文本域元素
<textarea rows="3" cols="20">
文本内容
</textarea>
- cols=”每行的字符数”,rows=”显示的行数”。**我们在实际开发中不会使用,都是用 CSS 来改变大小。
四、搜索优化
1. TDK 标签 SEO 优化
SEO(Search Engine Optimization),即搜索引擎优化,是一种利用搜索引擎的规则提高网站在有关搜索引擎内自然排名的方式。
SEO 的目的是对网站进行深度优化,从而帮助网站获得免费流量,进而在搜索引擎上提升网站排名,提高网站知名度。
页面必须有三个标签用来进行 SEO 优化。
title
description
keyword
<!-- 网站标题 -->
<title></title>
<!-- 网站说明 -->
<meta name="description" content="">
<!-- 网站关键词 -->
<meta name="keywords" content="">
1.1 title 网站标题
title
具有不可替代性,是我们内页的第一个重要标签,是搜索引擎了解网页的入口和对网页主题归属的最佳判断点。
建议:网站名(产品名)- 网站的介绍(尽量不要超过30个汉字)
例如:
- 京东(JD.COM) - 综合网购首选-正品低价、品质保障、配送及时、轻松购物!
- 小米商城 - 小米5s、红米Note 4、小米MIX、小米笔记本官方网站
1.2 description 网站说明
简要说明我们网站主要是做什么的。
我们提倡,description 作为网站的总体业务和主题概括,多采用“我们是…”、“我们提供…”、“×××网作为…”、“电话:010…”之类语句。
例如:
<meta name="description" content="京东JD.COM-专业的综合网上购物商城,销售家电、数码通讯、电脑、家居百货、服装服饰、母婴、图书、食品等数万个品牌优质商品.便捷、诚信的服务,为您提供愉悦的网上购物体验!">
1.3 keywords 关键字
- keywords 是页面关键词,是搜索引擎的关注点之一。
- keywords 最好限制为6~8 个关键词,关键词之间用英文逗号隔开,采用关键词1,关键词2 的形式。
例如:
<meta name= " keywords" content="网上购物,网上商城,手机,笔记本,电脑,MP3,CD,VCD,DV,相机,数码,配件,手表,存储卡,京东">
2. LOGO SEO 优化
- logo 首先放一个
h1
标签,目的是为了提权,告诉搜索引擎,这个地方很重要。 h1
里面再放一个a
链接,可以返回首页的,把logo 的背景图片给a链接即可。- 为了搜索引擎收录我们,我们链接里面要放文字(网站名称),但是文字不要显示出来。
- 方法1:text-indent 移到盒子外面(text-indent: -9999px) ,然后overflow:hidden ,淘宝的做法。
- 方法2:直接给font-size: 0; 就看不到文字了,京东的做法。
- 最后给logo图片一个
title
属性,这样鼠标放到 logo 上就可以看到提示文字了。