【前端学习】D1:HTML简介与HTML标签


前言

这篇文章为我跟随pink老师重新系统学习前端时做的一些笔记。

系列文章目录

【前端学习】D1:HTML简介与HTML标签
【前端学习】D2-1:CSS入门
【前端学习】D2-2:CSS基础
【前端学习】D3-1:CSS进阶


1 HTML简介

1.1 网页

1.1.1 什么是网页?

网站是指因特网上根据一定的规则没使用HTML等制作的用于展示特定内容相关的网页集合。
网页是网站中的一“页”,通常是HTML格式的文件,它要通过浏览器来阅读。
网页是构成网站的基本元素,它通常由图片、链接、文字、声音、视频等元素组成。通常我们看到的网页,常见以.htm或.html后缀结尾的文件,因此称其为HTML文件。

1.1.2 什么是HTML?

HTML指的是超文本标签语言(Hyper Text Markup Language),是用来描述网页的一种语言。HTML不是一种编程语言,而是一种标记语言。标记语言是一套标记标签(Markup Tag)。

超文本:

  1. 可以加入图片、声音、动画、多媒体等内容,超越了文本限制。
  2. 可以从一个文件跳转到另一个文件,与世界各地主机的文件连接,为超级链接文本。

1.1.3 网页的形成

前端人员开发代码 --> 浏览器显示代码(解析、渲染) --> 生成最后的Web页面

1.2 常用浏览器

1.2.1 常用浏览器

国际五大浏览器:火狐浏览器、谷歌浏览器(前端开发的主要浏览器)、Edge浏览器(IE浏览器)、Safari浏览器、Opera浏览器。

1.2.2 浏览器内核

浏览器内核(渲染引擎):负责读取网页内容,整理讯息,计算网页的显示方式并显示页码。

浏览器内核备注
IETridentIE、猎豹安全、360极速浏览器、百度浏览器
FirefoxGecko火狐浏览器内核
SafariWebKit苹果浏览器内核
Chrome/OperaBlinkChrome/Opera浏览器内核,Blink其实是WebKit的分支

目前国内一般浏览器都会采用WebKit/Blink内核,如360,UC,QQ,搜狗等。

1.3 Web标准(*)

Web标准时由W3C和其他标准化组织制定的一系列标准的集合。W3C(万维网联盟)是国际最著名的标准化组织。

1.3.1 为什么需要Web标准?

浏览器不同,它们显示页面或排版就有些许差异。遵循Web标准除了可以让不同的开发人员写出的页面更标准、更统一外,还有以下优点:

  • 让Web的发展前倾更广阔。
  • 内容能被更广泛的设备访问。
  • 更容易被搜寻引擎搜索。
  • 降低网站流量费用。
  • 使网站更易于维护。
  • 提高页面浏览速度。

1.3.2 Web标准的构成

主要包括结构(Structure)、表现(Presentation)和行为(Behavior)三个方面。

标准说明
结构结构用于对网页元素进行整理和分类,现阶段主要学的是HTML。
表现表现用于设置网页元素的版式、颜色、大小等外观样式,主要指的是CSS。
行为行为是指网页模型的定义及交互的编写,现阶段主要学的是JavaScript。

Web标准提出的最佳体验方案:结构、样式、行为相分离,三者中结构最重要。
简单理解:结构写到HTML文件中,表现写到CSS文件中,行为写到JavaScript文件中。


2 HTML标签(上)

2.1 HTML语法规范

2.1.1 基本语法概述

  1. HTML标签是由尖括号包围的关键词,例如<html>。
  2. HTML标签通常是成对出现的,称之为双标签。标签对中的第一个标签是开始标签,第二个标签是结束标签。
    <html></html>
    
  3. 有些特殊的标签必须是单个标签(极少情况),称之为单标签。
    <br/>
    

2.1.2 标签关系

双标签关系可以分为两类:包含关系和并列关系。
包含关系(父子关系):

<head>
	<title></title>
</head>

并列关系(兄弟关系):

<head></head>
<body></body>

2.2 HTML基本结构标签

2.2.1 第一个HTML网页

每个网页都会有一个基本的结构标签(也称为骨架标签),页面内容也是在这些基本标签上书写。HTML页面也称为HTML文档。

标签名定义说明
<html></html>HTML标签页面中最大的标签,称之为根标签
<head></head>文档的头部注意在head标签中必须要设置的标签是title
<title></title>文档的标题让页面拥有一个属于自己的网页标题
<body></body>文档的主体元素包含文档的所有内容,页面内容基本都是放到body里面的

2.2.2 基本结构标签总结

<html>
	<head>
		<title>网页标题</title>
	</head>
	<body>
		主体内容
	</body>
</html>

2.3 开发工具

Dreamwear,Sublime,WebStorm,HBuilder,VS Code。
VS Code的使用:

  1. 双击打开软件。
  2. 新建文件(Ctrl + N)。
  3. 保存(Ctrl + S),注意一定要保存为.html文件。
  4. Ctrl + 加号键,Ctrl + 减号键可以放大、缩小视图。
  5. 生成页面骨架结构(输入 ! 按下 Tab 键)。
  6. 利用插件在浏览器中预览页面:单击鼠标右键,在弹出窗口中点击“Open In Default Browser”。

推荐安装的插件:Chinese(Simplified) Language Pack for VS Code,Open In Browser,Auto Rename Tag,CSS Peek。

2.4 HTML常用标签

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>

2.4.1 <!DOCTYPE>标签

文档类型声明,作用就是告诉浏览器使用哪种HTML版本来显示网页。

<!DOCTYPE html>
  • <!DOCTYPE>声明位于文档中的最前面的位置,处于<html>标签之前。
  • <!DOCTYPE>不是一个HTML标签,它就是文档类型声明标签。

2.4.2 lang语言

用于定义当前文档显示的语言。

  • en定义语言为英语。
  • zh-CN定义语言为中文。

简单来说,定义为en就是英文网页,定义为zh-CN就是中文网页。这个属性可以使浏览器和搜索引擎提供页面翻译功能。

2.4.3 charset字符集

字符集(Character Set)是多个字符的集合,以便计算机能够识别和存储各种文字。
在<head>标签内,必须通过<meta>标签的charset属性来规定HTML文档应该使用哪种字符编码,否则会出现乱码。

	<!DOCTYPE html>

charset常用的值有:GB2312,BIG5,GBK和UTF-8,其中UTF-8也被称为万国码,基本包含了全世界所有国家需要用到的字符。

2.4.4 标签语义

根据标签的语义,在合适的地方给一个最为合理的标签,可以让页面结构更清晰。

2.4.5 标题标签<h1>-<h6>(*)

标签语义:作为标题使用,并且依据重要性递减。

  • 加了标题标签的文字会变得加粗,字号也会依次变大。
  • 一个标题独占一行。
<h1>标题一</h1>
<h2>标题二</h2>
<h3>标题三</h3>
<h4>标题四</h4>
<h5>标题五</h5>
<h6>标题六</h6>

标题一

标题二

标题三

标题四
标题五
标题六

2.4.6 段落标签和换行标签(*)

<p>标签用于定义段落,可以将网页分为若干个段落。

  • 文本在一个段落中会根据浏览器窗口的大小自动换行。
  • 段落和段落之间保有空隙。

<br/>实现某段文本强制换行显示。

  • <br/>是个单标签。
  • <br/>标签只是简单地开始新的一行,跟段落不一样,段落之间会插入一些垂直的间距。
<p>网站是指因特网上根据一定的规则没使用HTML等制作的用于展示特定内容相关的网页集合。</p>
<p>网页是网站中的一“页”,通常是HTML格式的文件,它要通过浏览器来阅读。<br/>网页是构成网站的基本元素,它通常由图片、链接、文字、声音、视频等元素组成。通常我们看到的网页,常见以.htm或.html后缀结尾的文件,因此称其为HTML文件。</p>

网站是指因特网上根据一定的规则没使用HTML等制作的用于展示特定内容相关的网页集合。

网页是网站中的一“页”,通常是HTML格式的文件,它要通过浏览器来阅读。
网页是构成网站的基本元素,它通常由图片、链接、文字、声音、视频等元素组成。通常我们看到的网页,常见以.htm或.html后缀结尾的文件,因此称其为HTML文件。

2.4.7 文本格式化标签

标签语义:突出重要性,比普通文字更重要。

语义标签说明
加粗<strong></strong>或者<b></b>更推荐使用<strong>标签加粗,语义更强烈。
倾斜<em></em>或者<i></i>更推荐使用<em>
删除线<del></del>或者<s></s>更推荐使用<del>
下划线<ins></ins>或者<u></u>更推荐使用<ins>
普通的文字
<strong>加粗</strong>的文字
<em>倾斜</em>的文字
<del>删除线</del>
<ins>下划线</ins>

普通的文字
加粗的文字
倾斜的文字
删除线
下划线

2.4.8 <div>和<span>标签

没有语义,是盒子。

  • <div>标签用来布局,但一行(不设置CSS的情况下)只能放一个<div>。大盒子
  • <span>标签用来布局,一行上(不设置CSS的情况下)可以多个<span>。小盒子
<div>div盒子1</div>
<div>div盒子2</div>
<span>span盒子1</span>
<span>span盒子2</span>
<span>span盒子3</span>
div盒子1
div盒子2
span盒子1 span盒子2 span盒子3

2.4.9 图像标签和路径(*)

  1. 图像标签
    <img>标签用于定义HTML页面中的图像。
    <img src="图像URL" />
    
    src是<img>标签的必需属性,用于制定图像文件的路径和文件名。
    图像标签的其他属性:
    属性属性值说明
    src图片路径必需属性
    alt文本替换文本,图像不能显示时的文字。
    title文本提示文本,鼠标悬浮图像时显示的文字。
    width像素设置图像的宽度。
    height像素设置图像的高度。
    border像素设置图像边框的粗细。
    • 图像标签可以拥有多个属性,必须写在标签名的后面。
    • 属性之间不分先后顺序,标签名与属性、属性与属性之间均以空格分开。
    • 属性采取键值对的格式,即key="value"的格式,属性=“属性值”。
  2. 路径
    • 目录文件和根目录
      • 目录文件夹:普通文件夹,存放了页面所需的相关素材,比如html文件、图片等。
      • 根目录:打开目录文件夹的第一层就是根目录。
    • VS Code打开目录文件夹
    • 相对路径
      以引用文件所在位置为参考基础,而建立出的目录路径,即图片相对于HTML页面的位置。
      相对路径分类符号说明
      同一级路径./图像文件位于HTML文件同一级,如<img src=“baidu.gif” />或<img src=“./baidu.gif” />
      下一级路径/图像文件位于HTML文件下一级,如<img src=“images/baidu.gif” />
      上一级路径…/图像文件位于HTML文件上一级,如<img src=“…/baidu.gif” />
    • 绝对路径
      是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。例如“D:\web\img\logo.gif”或完整的网络地址“http://www.baidu.com”。

2.4.10 超链接标签(*)

<a>标签用于定义超链接,作用是从一个页面链接到另一个页面。

  1. 链接的语法格式
    <a href="跳转目标" target="目标窗口的弹出方式">文本或图像</a>
    
    属性作用
    href用于指定链接目标的URL地址,(必须属性)当为标签应用href属性时,它就具有了超链接的功能。
    target用于指定链接页面的打开方式,其中_self为默认值,_blank为在新窗口中打开方式。
  2. 链接分类
    • 外部链接:例如<a href=“http://www.baidu.com”>百度</a>。
    • 内部链接:网站内部页面之间的相互链接,直接链接内部页面名称即可,例如<a href=“index.html”>首页</a>。
    • 空链接#:如<a href=“#”>首页</a>。
    • 下载链接:如果href里面地址是一个文件或压缩包,会下载这个文件。
    • 网页元素链接:在网页中的各种网页元素,如文本、图像、表格、音频、视频等都可以添加超链接。
    • 锚点链接:通过点击链接可以快速定位到页面中的某个位置,如本文与百度百科中可跳转的目录。
      • 在链接文本的href属性中,设置属性值为#名字的形式,如<a hef=“#two”>第2集</a>。
      • 找到目标位置标签,里面添加一个id属性=名字,如<h3 id="two>第2集介绍</a>。

2.5 HTML中的注释和特殊字符

2.5.1 注释

如果需要在HTML文档中添加一些便于阅读和理解但又不需要显示在页面中的注释文字,就需要使用注释标签。快捷键:Ctrl + /

<!-- 注释内容 -->

2.5.2 特殊字符

在HTML页面中,一些特殊的符号很难或者不方便直接使用,此时我们就可以使用下面的字符来代替。

特殊字符描述字符的代码
 空格符&nbsp;
<小于号&lt;
>大于号&gt;
&和符&amp;
¥人民币&yen;
©版权&copy;
®注册商标&reg;
°摄氏度&deg;
±正负号&plusmn;
×乘号&times;
÷除号&divide;
²平方2(上标2)&sup2;
³立方3(上标3)&sup3;
<!-- 注释内容 -->&nbsp;&nbsp;&nbsp;&nbsp;<!-- <p>是一个段落标签 -->
&lt;p&gt; 是一个段落标签

讲    究

<p> 是一个段落标签

3 HTML标签(下)

3.1 表格标签

3.1.1 表格的主要作用

表格主要用于显示、展示数据,可以让数据显示得非常规整,可读性非常高。

3.1.2 表格的基本语法

<table>
	<tr>
		<td>单元格内的文字</td>
		...
	<tr>
	...
</table>
  1. <table></table>是用于定义表格的标签。
  2. <tr></tr>标签用于定义表格中的行,必去嵌套在<table></table>标签中。
  3. <td></td>标签用于定义表格中的行,必去嵌套在<tr></tr>标签中。
  4. 字母td指表格数据(table data),即数据单元格内的内容。
<table>
	<tr><td>Name</td> <td>Gender</td> <td>Age</td></tr>
	<tr><td>Alice</td> <td>Female</td> <td>16</td></tr>
	<tr><td>Bob</td> <td>Male</td> <td>18</td></tr>
</table>
NameGenderAge
AliceFemale16
BobMale18

3.1.1 表头单元格标签

  1. 一般表头单元格位于表格的第一行或第一列,表头单元格里面的文本内容加粗居中显示。
  2. <th>标签表示HTML表格的表头部分(table head)。
<table>
	<tr><th>Name</th> <th>Gender</th> <th>Age</th></tr>
	<tr><td>Alice</td> <td>Female</td> <td>16</td></tr>
	<tr><td>Bob</td> <td>Male</td> <td>18</td></tr>
</table>
NameGenderAge
AliceFemale16
BobMale18

3.1.4 表格属性

表格标签这部分属性在实际开发中会通过CSS来设置。这些属性要写到表格标签table中。

属性名属性值描述
alignleft、center、right规定表格相对周围元素的对齐方式
border1或""规定表格单元是否拥有边框,默认为"",表示没有边框
cellpadding像素值规定单元边沿与其内容之间的空白,默认1像素
cellspacing像素值规定单元格之间的空白,默认2像素
width像素值或百分比规定表格的宽度
<table align="center" border="1" cellpadding="20" cellspacing="0" width="500" height="200">
	<tr><th>Name</th> <th>Gender</th> <th>Age</th></tr>
	<tr><td>Alice</td> <td>Female</td> <td>16</td></tr>
	<tr><td>Bob</td> <td>Male</td> <td>18</td></tr>
</table>
NameGenderAge
AliceFemale16
BobMale18

3.1.5 表格结构标签

当表格过长时,可以将表格分割为表格头部与表格主体两大部分。
在表格标签中,分别使用<thead>标签表示表格的头部区域,一般位于第一行;<tbody>标签表示表格的主体区域,主要用于存放数据本体。以上标签都是放在<table></table>中。

3.1.6 合并单元格

特殊情况下,可以把多个单元格合并为一个单元格。

  1. 合并单元格的方式
    • 跨行合并:rowspan=“合并单元格的个数”
    • 跨列合并:colspan=“合并单元格的个数”
  2. 目标单元格(写合并代码)
    • 跨行:最上侧单元格为目标单元格,写合并代码
    • 跨列:最左侧单元格为目标单元格,写合并代码
  3. 合并单元格的步骤
    • 先确定是跨行还是跨列合并。
    • 找到目标单元格,写上合并方式=合并的单元格数量,例如<td colspan=“2”></td>。
    • 删除多余的单元格。
<table height="100">
	<tr>
		<td></td>
		<td colspan="2"></td>
	</tr>
	<tr>
		<td rowspan="2"></td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td></td>
		<td></td>
	</tr>
</table>

3.2 列表标签

表格式用来显示数据的,那么列表就是用来布局的。

3.2.1 无序列表(*):侧边菜单

<ul>标签表示HTML页面中项目的无序列表,一般会以项目符号呈现列表项,而列表项使用<li>标签定义。

<ul>
	<li>北京</li>
	<li>上海</li>
	<li>广州</li>
</ul>
  • 北京
  • 上海
  • 广州
  1. 无序列表的各个列表项之间没有顺序级别之分,是并列的。
  2. <ul></ul>中只能嵌套<li></li>,直接在<ul></ul>标签中输入其他标签或文字的做法是不被允许的。
  3. <li>与</li>之间相当于一个容器,可以容纳所有元素。
  4. 无序列表会带有自己的样式属性,但在实际使用时,会使用CSS来设置。

(使用css)去掉<li>前面的项目符号(小圆点):

list-style: none;

3.2.2 有序列表(理解):排行榜

有序列表为有序排列顺序的列表,其各个列表项会按照一定的顺序排列定义。
在HTML标签中,<ol>标签用于定义有序列表,列表排序以数字来显示,并使用<li>标签来定义列表项。

<ol>
	<li>北京</li>
	<li>上海</li>
	<li>广州</li>
</ol>
  1. 北京
  2. 上海
  3. 广州
  1. <ol></ol>中只能嵌套<li></li>,直接在<ol></ol>标签中输入其他标签或文字的做法是不被允许的。
  2. <li>与</li>之间相当于一个容器,可以容纳所有元素。
  3. 有序列表会带有自己的样式属性,但在实际使用时,会使用CSS来设置。

3.2.3 自定义列表(*):页脚

自定义列表的使用场景:自定义列表常用于队术语或名词进行解释和描述,定义列表的列表项前没有任何项目符号。
在HTML标签中,<dl>标签用于定义列表,该标签会与<dt>和<dd>一起使用。

<dl>
	<dt>关注我们</dt>
	<dd>新浪微博</dd>
	<dd>官方微信</dd>
	<dd>联系我们</dd>
</dl>
关注我们
新浪微博
官方微信
联系我们
  1. <dl></dl>中只能包含<dt>和<dd>。
  2. <dt>与<dd>里可以容纳所有元素。
  3. <dt>和<dd>个数没有限制,经常是一个<dt>对应多个<dd>,二者为并列关系,而非包含关系。

3.3 表单标签

3.3.1 为什么需要表单?

使用表单的目的是为了收集用户信息。

3.3.2 表单的组成

在HTML中,一个完整的表单通常由表单域、表单控件(也称为表单元素)和提示信息3个部分构成。

  1. 表单域
    表单域是一个包含表单元素的区域。
    在HTML中,<form>标签用于定义表单域,已实现用户信息的收集和传递。<form>会把它范围内的表单元素信息提交给服务器。
    <form action="URL地址" method="提交方式" name="表单域名称">
    	各种表单元素控件
    </form>
    
    常用属性:
    属性属性值作用
    actionURL地址用于指定接收并处理表单数据的服务器程序的URL地址。
    methodGET / POST用于设置表单数据的提交方式,其取值为GET或POST。
    name名称用于指定表单的名称,以区分同一个页面中的多个表单。
  2. 表单控件
    在表单域中可以定义各种表单元素,这些表单元素就是允许用户在表单中输入或者选择的内容控件。
  3. 提示信息

3.3.3 表单元素之<input>输入标签

表单元素<input>标签用于收集用户信息。

<input type="属性值" />
  • <input />标签为单标签。
  • type属性设置不同的属性值用来指定不同的控件类型。
    属性值描述
    button定义可点击按钮(多数情况下,用于通过JavaScript启动脚本)。
    checkbox定义复选框。
    file定义输入字段和“浏览”按钮,供文件上传。
    hidden定义隐藏的输入字段。
    image定义图像形式的提交按钮。
    password定义密码字段,该字段中的字符被掩码。
    radio定义单选按钮。
    reset定义重置按钮。重置按钮会清除表单中的所有数据。
    submit定义提交按钮。提交按钮会把表单数据发送到服务器。
    text定义单行的输入字段,用户可在其中输入文本。默认宽度为20个字符。
  • 除type属性外,<input>标签还有其他很多属性,其常用属性如下:
    属性属性值描述
    name由用户自定义定义input元素的名称
    value由用户自定义定义input元素的值
    checkedchecked规定此input元素首次加载时应当被选中
    maxlength正整数规定输入字段中的字符的最大长度
    1. name和value是每个表单元素都有的属性值,主要给后台人员使用。
    2. name表单元素的名字,要求单选按钮和复选框要有相同的name值
    3. checked属性主要针对于单选按钮和复选框,主要作用一打开页面就要可以默认选中某个表单元素。
    4. maxlength是用户可以在表单元素输入的最大字符数,一般较少使用。
    <form action="xxx.php" method="get">
    	username: <input type="text" name="username" value="请输入用户名" maxlength="6"/><br/>
    	password: <input type="password" name="password"/><br/>
    	gender: Male <input type="radio" name="gender" value="Male" checked="checked"/> Female <input type="radio" name="gender" value="Female"/><br/>
    	hobbies: Writing <input type="checkbox" name="hobbies" value="Writing"/> Reading <input type="checkbox" name="hobbies" value="Reading"/> Singing <input type="checkbox" name="hobbies" value="Singing"/> Dancing <input type="checkbox" name="hobbies" value="Dancing" checked="checked"/><br/>
    	<input type="submit" value="Submit" />
    	<input type="reset" value="Reset" />
    	<input type="button" value="Normal Button" /><br/>
    	Upload: <input type="file" />
    </form>
    

表单

3.3.4 表单元素之<label>标签

<label>标签为input元素定义标注(标签)。
<label>标签用于绑定一个表单元素,当点击<label>标签内的文本时,浏览器就会自动将焦点(光标)转到或者选择对应的标签元素上,用于改善用户体验。
<label>标签的for属性应当与相关元素的id属性相同。

<label for="gender">Male</label>
<input type="radio" name="gender" id="gender" />

3.3.5 表单元素之<select>标签下拉表单

使用场景:在页面中,如果有多个选项让用户选择,并且想要节约页面空间时,可以试用<select>标签控件定一下拉列表。

<form>
	籍贯:
	<select>
		<option>地球</option>
		<option selected="selected">火星</option>
		<option>木星</option>
	</select>
</form>

在这里插入图片描述

  1. <select>中至少包含一对<option>。
  2. 在<option>中定义selected="selected"时,当前项即为默认选中项。

3.3.6 表单元素之<textarea>文本域标签

使用场景:当用户输入内容较多的情况下,就不能使用文本框表单了,此时可以使用<textarea>标签。
在表单元素中,<textarea>标签是用于定义多行文本输入的控件。使用多行文本输入控件,可以输入更多的文字,该控件常见于留言板,评论。

<form>
	<textarea rows="3" cols="20">
		Text
	</textarea>
</form>
  • cols=“每行中的字符数”,rows=“显示的行数”,在实际开发中会使用CSS来改变大小。

4 文档查阅

W3C
MDN


总结

今天是学习前端的第一天,从头开始学网页的构成和一些常用的HTML标签。上次写HTML还是在两年前写JSP的时候,后来入门了Vue都是用的组件库,不经常用的HTML表格标签、表单标签之类的内容也忘得差不多了。今天重新学了一下,发现还是有学到新东西,温故而知新的目的达到了。也不知道能坚持多久,写这个也是为了督促自己继续学习。希望还有下一篇。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值