前端学习(1)~html标签讲解(一)

2020-02-18 13:59:11 浏览数 (1)

本文主要内容

  • 头标签
  • 排版标签:<p><div><span><br><hr><center><pre>
  • 字体标记:<h1><font><b><u><sup><sub>
  • 超链接 <a>
  • 图片标签 <img>

0.前言

web标准介绍:

  • w3c:万维网联盟组织,用来制定web标准的机构(组织)
  • web标准:制作网页要遵循的规范。
  • web标准规范的分类:结构标准、表现标准、行为标准。
  • 结构:html。表现:css。行为:JavaScript。

Web 前端分三层:

  • HTML:HyperText Markup Language(超文本标记语言)。从语义的角度描述页面的结构。相当于人的身体结构。
  • CSS:Cascading Style Sheets(层叠样式表)。从审美的角度美化页面的样式。相当于人的衣服。
  • JS:JavaScript。从交互的角度描述页面的行为。相当于人的动作,让人有生命力。

1.HTML的介绍

html全称为HyperText Markup Language,译为超文本标记语言,不是一种编程语言,是一种描述性的标记语言,用于描述超文本中内容的显示方式。

作用:HTML是负责描述文档语义的语言。

HTML的历史

XHTML介绍: XHTML:Extensible Hypertext Markup Language,可扩展超文本标注语言。 XHTML的主要目的是为了取代HTML,也可以理解为HTML的升级版。XHTML是严格的、纯净的HTML。

HTML的网络术语

  • 网页 :由各种标记组成的一个页面就叫网页。
  • 主页(首页) : 一个网站的起始页面或者导航页面。
  • 标记: <p>称为开始标记 ,</p>称为结束标记,也叫标签。每个标签都规定好了特殊的含义。
  • 元素:<p>内容</p>称为元素.
  • 属性:给每一个标签所做的辅助信息。
  • xhtml: 符合XML语法标准的HTML。
  • dhtml:dynamic,动态的。javascript css html合起来的页面就是一个dhtml。
  • http:超文本传输协议。用来规定客户端浏览器和服务端交互时数据的一个格式。SMTP:邮件传输协议,ftp:文件传输协议。

计算机编码介绍

计算机,不能直接存储文字,存储的是编码。

计算机只能处理二进制的数据,其它数据,比如:0-9、a-z、A-Z,这些字符,我们定义一套规则来表示。假如:A用110表示,B用111表示等。

ASCII码: 美国发布的,用1个字节(8位二进制)来表示一个字符,共可以表示2^8=256个字符。美国的国家语言是英语,只要能表示0-9、a-z、A-Z、特殊符号。

ANSI编码: 每个国家为了显示本国的语言,都对ASCII码进行了扩展。用2个字节(16位二进制)来表示一个汉字,共可以表示2^16=65536个汉字。例如: 中国的ANSI编码是GB2312编码(简体),对6763汉字进行编码,含600多特殊字符。另外还有GBK(简体)。 日本的ANSI编码是JIS编码。 中国台湾的ANSI编码是BIG5编码(繁体)。

GBK: 对GB2312进行了扩展,用来显示罕见的、古汉语的汉字。现在已经收录了2.1万左右。并提供了1890个汉字码位。K的含义就是“扩展”。

Unicode编码(统一编码): 用4个字节(32位二进制)来表示一个字符,想法不错,但效率太低。例如,字母A用ASCII表示的话一个字节就够,可用Unicode编码的话,得用4个字节表示,造成了空间的极大浪费。A的Unicode编码是0000 0000 0000 0000 0000 0000 0100 0000

UTF-8(Unicode Transform Format)编码: 根据字符的不同,选择其编码的长度。比如:一个字符A用1个字节表示,一个汉字用2个字节表示。

毫无疑问,开发中,都用UTF-8编码吧,准没错。

中文能够使用的字符集两种:

  • 第一种:UTF-8。UTF-8是国际通用字库,里面涵盖了所有地球上所有人类的语言文字,比如阿拉伯文、汉语、鸟语……
  • 第二种:GBK(对GB2312进行了扩展)。gb2312 是国标,是中国的字库,里面仅涵盖了汉字和一些常用外文,比如日文片假名,和常见的符号。

字库规模: UTF-8(字全) > gb2312(只有汉字)

重点1:避免乱码

我们用meta标签声明的当前这个html文档的字库,一定要和保存的文件编码类型一样,否则乱码!(重点)。

重点2:UTF-8和gb2312的比较

保存大小:UTF-8(更臃肿、加载更慢) > gb2312 (更小巧,加载更快)

总结:

  • UTF-8:字多,有各种国家的语言,但是保存尺寸大,文件臃肿;
  • gb2312:字少,只用中文和少数外语和符号,但是尺寸小,文件小巧。

HTML颜色介绍

颜色表示:

  • 纯单词表示:red、green、blue、orange、gray等
  • 10进制表示:rgb(255,0,0)
  • 16进制表示:#FF0000、#0000FF、#00FF00等

RGB色彩模式:

  • 自然界中所有的颜色都可以用红、绿、蓝(RGB)这三种颜色波长的不同强度组合而得,这就是人们常说的三原色原理。
  • RGB三原色也叫加色模式,这是因为当我们把不同光的波长加到一起的时候,可以得到不同的混合色。例:红 绿=黄色,红 蓝=紫色,绿 蓝=青
  • 在数字视频中,对RGB三基色各进行8位编码就构成了大约1678万种颜色,这就是我们常说的真彩色。所有显示设备都采用的是RGB色彩模式。
  • RGB各有256级(0-255)亮度,256级的RGB色彩总共能组合出约1678万种色彩,即256×256×256=16777216。

2.HTML的规范

  • HTML是一个弱势语言
  • HTML不区分大小写
  • HTML页面的后缀名是html或者htm(有一些系统不支持后缀名长度超过3个字符,比如dos系统)
  • HTML的结构:
    • 声明部分:主要作用是用来告诉浏览器这个页面使用的是哪个标准。<!doctype html>是HTML5标准。
    • head部分:将页面的一些额外信息告诉服务器。不会显示在页面上。
    • body部分:我们所写的代码必须放在此标签內。

目前,IE浏览器是完全不支持H5的,支持最好的是Opera浏览器,可以支持95%以上;其次是google,可以支持一部分H5。

编写XHTML的规范:

(1)所有标记元素都要正确的嵌套,不能交叉嵌套。正确写法举例:<h1><font></font></h1>

(2)所有的标记都必须小写。

(3)所有的标记都必须关闭。

  • 双边标记:<span></span>
  • 单边标记:<br> 转成 <br /> <hr> 转成 <hr />,还有<img src=“URL” />

(4)所有的属性值必须加引号。<font color="red"></font>

(5)所有的属性必须有值。<hr noshade="noshade"><input type="radio" checked="checked" />

(6)XHTML文档开头必须要有DTD文档类型定义

HTML的基本语法特性

(1)HTML对换行不敏感,对tab不敏感

(2)空白折叠现象:HTML中所有的文字之间,如果有空格、换行、tab都将被折叠为一个空格显示。

(3)标签要严格封闭

3.HTML结构详解

HTML标签通常是成对出现的(双边标记),比如 <div></div>,也有单独呈现的标签(单边标记),如:<br /><hr /><img src="images/1.jpg" />等。

属性与标记之间、各属性之间需要以空格隔开。属性值以双引号括起来。

快速生成 html 的骨架

方式1:在 VS Code 中新建 html 文件,输入html:5,按 Tab键后,自动生成的代码如下:

代码语言:javascript复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
</head>
<body>

</body>
</html>

1、文档声明头

任何一个标准的HTML页面,第一行一定是一个以<!DOCTYPE ……>开头的语句。

这一行,就是文档声明头,DocType Declaration,简称DTD。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。

HTML4.01有哪些规范呢?

HTML4.01里面有两大种规范,每大种规范里面又各有3种小规范。所以一共6种规范。

总结一下,HTML4.01一共有6种DTD。

在HTML5中极大的简化了DTD,也就是说HTML5中就没有XHTML了(W3C自己打脸了):

代码语言:javascript复制
<!DOCTYPE html>

2、头标签

html5 的比较完整的骨架:

代码语言:javascript复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <meta name="Author" content="">
    <meta name="Keywords" content="牛逼,很牛逼,特别牛逼" />
    <meta name="Description" content="网易是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流,网聚人的力量。" />
    <title>Document</title>
</head>
<body>

</body>
</html>

面试题:

  • 问:网页的head标签里面,表示的是页面的配置,有什么配置?
  • 答:字符集、关键词、页面描述、页面标题、IE适配、视口、iPhone小图标等等。

头标签都放在头部分之间。包括:<title><base><meta><link>

  • <title>:指定整个网页的标题,在浏览器最上方显示。
  • <base>:为页面上的所有链接规定默认地址或默认目标。
  • <meta>:提供有关页面的基本信息
  • <body>:用于定义HTML文档所要显示的内容,也称为主体标签。我们所写的代码必须放在此标签內。
  • <link>:定义文档与外部资源的关系。

meta 标签:

上面的<meta>标签都不用记,但是另外还有一个<meta>标签是需要记住的:

代码语言:javascript复制
<meta http-equiv="refresh" content="3;http://www.baidu.com">

上面这个标签的意思是说,3秒之后,自动跳转到百度页面。

常见的几种 meta 标签如下:

(1)字符集 charset:

代码语言:javascript复制
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

字符集用meta标签中的charset定义,meta表示“元”。“元”配置,就是表示基本的配置项目。

charset就是charactor set(即“字符集”)。

浏览器就是通过meta来看网页是什么字符集的。比如你保存的时候,meta写的和声明的不匹配,那么浏览器就是乱码。

(2)视口 viewport:

代码语言:javascript复制
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

width=device-width :表示视口宽度等于屏幕宽度。

viewport 这个知识点,初学者还比较难理解,以后学 Web 移动端的时候会用到。

(3)定义“关键词”:

举例如下:

代码语言:javascript复制
<meta name="Keywords" content="网易,邮箱,游戏,新闻,体育,娱乐,女性,亚运,论坛,短信" />

这些关键词,就是告诉搜索引擎,这个网页是干嘛的,能够提高搜索命中率。让别人能够找到你,搜索到你。

(4)定义“页面描述”:

只要设置Description页面描述,那么百度搜索结果,就能够显示这些语句,这个技术叫做SEO(search engine optimization,搜索引擎优化)。

设置页面描述的举例:

代码语言:javascript复制
<meta name="Description" content="网易是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流,网聚人的力量。" />

title 标签:

用于设置网页标题:

代码语言:javascript复制
	<title>网页的标题</title>

title也是有助于SEO搜索引擎优化的。

base标签:

代码语言:javascript复制
<base href="/">

base 标签用于指定基础的路径。指定之后,所有的 a 链接都是以这个路径为基准。

3、<body>标签的属性

其属性有:

  • bgcolor:设置整个网页的背景颜色。
  • background:设置整个网页的背景图片。
  • text:设置网页中的文本颜色。
  • leftmargin:网页的左边距。IE浏览器默认是8个像素。
  • topmargin:网页的上边距。
  • rightmargin:网页的右边距。
  • bottommargin:网页的下边距。
排版标签

注释标签

代码语言:javascript复制
<!-- 注释 -->

段落标签:<p>

代码语言:javascript复制
<p>This is a paragraph</p>

属性:

  • align="属性值":对齐方式。属性值包括left center right。

注意: HTML标签是分等级的,HTML将所有的标签分为两种:

  • 文本级标签:p、span、a、b、i、u、em。文本级标签里只能放文字、图片、表单元素。(a标签里不能放a和input)
  • 容器级标签:div、h系列、li、dt、dd。容器级标签里可以放置任何东西。

要死死记住:p标签是一个文本级标签,p里面只能放文字、图片、表单元素。其他的一律不能放。

块级标签 :<div><span>

div和span是非常重要的标签,div的语义是division“分割”; span的语义就是span“范围、跨度”。

CSS课程中你将知道,这两个东西,都是最最重要的“盒子”。

div:把标签中的内容作为一个块儿来对待(division)。必须单独占据一行。

div标签的属性:

  • align="属性值":设置块儿的位置。属性值可选择:left、right、 center。

<span><div>唯一的区别在于:<span>是不换行的,而<div>是换行的。

如果单独在网页中插入这两个元素,不会对页面产生任何的影响。

div在浏览器中,默认是不会增加任何的效果的,但是语义变了,div中的所有元素是一个小区域。 div标签是一个容器级标签,里面什么都能放,甚至可以放div自己。

span也是表达“小区域、小跨度”的标签,但是是一个文本级的标签。 就是说,span里面只能放置文字、图片、表单元素。 span里面不能放p、h、ul、dl、ol、div。

span里面是放置小元素的,div里面放置大东西的。

span举例:

代码语言:javascript复制
            <p>
                简介简介简介简介简介简介简介简介
                <span>
                    <a href="">详细信息</a>
                    <a href="">购买</a>
                </span>
            </p>

div举例:

代码语言:javascript复制
    <div class="header">
        <div class="logo"></div>
        <div class="nav"></div>
    </div>
    <div class="content">
        <div class="guanggao"></div>
        <div class="dongxi"></div>
    </div>
    <div class="footer"></div>

所以,我们亲切的称呼这种模式叫做“div css”。div标签负责布局,负责结构,负责分块。css负责样式。

换行标签:<br>(已废弃)

<p>标签和<br>标签的区别在于:<p>标签会在段落的前后自动插入一个空行,而<br>标签没有空行;而且<br>标签没有属性。

水平线标签:<hr>(已废弃)

水平分隔线(horizontal rule)可以在视觉上将文档分隔成各个部分。

属性:

  • align="属性值":设定线条置放位置。属性值可选择:left right center。
  • size="2" :设定线条粗细。以像素为单位,内定为2。
  • width="500"width="70%":设定线条长度。可以是绝对值(单位是像素)或相对值。如果设置为相对值的话,内定为100%。
  • color="#0000FF":设置线条颜色。
  • noshade:不要阴影,即设定线条为平面显示。若没有这个属性则表明线条具阴影或立体,这是内定值。 属性效果演示:

内容居中标签: <center>

此时center代表是一个标签,而不是一个属性值了。只要是在这个标签里面的内容,都会居于浏览器的中间。

到了H5里面,center标签不建议使用。

预定义(预格式化)标签:<pre>

含义:将保留其中的所有的空白字符(空格、换行符),原封不动的输出结果(告诉浏览器不要忽略空格和空行) 说明:真正排网页过程中,<pre>标签几乎用不着。但在PHP中用于打印一个数组时使用。

字体标签

标题

标题使用<h1><h6>标签进行定义。

具有align属性,属性值可以是:left、center、right。

字体标签<font>(已废弃)

属性:

  • color="红色"color="#ff00cc"color="new rgb(0,0,255)":设置字体颜色。 设置方式:单词 #ff00cc rgb(0,0,255)
  • size:设置字体大小。 取值范围只能是:1至7。取值时,如果取值大于7那就按照7来算,如果取值小于1那就按照1来算。如果想要更大的字体,那就只能通过css样式来解决。 设置:用’ 2’代表值是5 或直接给值
  • face="微软雅黑":设置字体类型。注意在写字体时,“微软雅黑”这个字不能写错。
代码语言:javascript复制
<font face="微软雅黑" color="#FF0000" size="10">vae</font>

特殊字符(转义字符)

  • &nbsp;:空格 (non-breaking spacing,不断打空格)
  • &lt;:小于号(less than)
  • &gt;:大于号(greater than)
  • &amp;:符号&
  • &quot;:双引号
  • &apos;:单引号
  • &copy;:版权©
  • &trade;:商标
  • &#32464;:文字。其实,#32464是汉字的unicode编码。

要求背诵的特殊字符有:&nbsp;&lt;&gt;&copy;

比如说,你想把<p>作为一个文本在页面上显示,直接写<p>是肯定不行的,因为这代表的是一个段落标签,所以这里需要用到转义字符。应该这么写:

代码语言:javascript复制
这是一个HTML语言的&lt;p&gt;标签

特殊字符

描述

字符的代码

空格符

&nbsp;

<

小于号

&lt;

>

大于号

&gt;

&

和号

&amp;

人民币

&yen;

©

版权

&copy;

®

注册商标

&reg;

°

摄氏度

&deg;

±

正负号

&plusmn;

×

乘号

&times;

÷

除号

&divide;

²

平方2(上标2)

&sup2;

³

立方3(上标3)

一些小标签/小标记

  • <u>:下划线标记
  • <s><del>:中划线标记(删除线)
  • <i><em>:斜体标记

粗体标签<b><strong>(已废弃)

上标<sup> 下标<sub>

超链接

超链接有三种形式:

1、外部链接:链接到外部文件。举例:

代码语言:javascript复制
<a href="02页面.html">点击进入另外一个文件</a>

2、锚链接: 指给超链接起一个名字,作用是在本页面或者其他页面的的不同位置进行跳转。比如说,在网页底部有一个向上箭头,点击箭头后回到顶部,这个就是利用到了锚链接。 首先我们要创建一个锚点,也就是说,使用name属性或者id属性给那个特定的位置起个名字。

代码语言:javascript复制
首先,我们在 HTML 文档中对锚进行命名(创建一个书签):

<a name="tips">基本的注意事项 - 有用的提示</a>
然后,我们在同一个文档中创建指向该锚的链接:

<a href="#tips">有用的提示</a>

3、邮件链接: 代码举例:

代码语言:javascript复制
<a href="mailto:smyhvae@163.com">点击进入我的邮箱</a>

效果:点击之后,会弹出outlook,作用不大。

超链接的属性

  • href:目标URL
  • title:悬停文本。
  • name:主要用于设置一个锚点的名称。
  • target:告诉浏览器用什么方式来打开目标页面。target属性有以下几个值:
    • _self:在同一个网页中显示(默认值)
    • _blank:在新的窗口中打开。
    • _parent:在父窗口中显示
    • _top:在顶级窗口中显示

代码语言:javascript复制
<a href="1.html" title="悬停文本" target="_blank">链接的内容</a>

图片标签

img: 代表的就是一张图片。是单边标记。

img是自封闭标签,也称为单标签。

能插入的图片类型:

  • 能够插入的图片类型是:jpg(jpeg)、gif、png、bmp。
  • 不能往网页中插入的图片格式是:psd、ai

HTML页面不是直接插入图片,而是插入图片的引用地址,所以也要把图片上传到服务器上。

src属性:图片的相对路径和绝对路径

在写图片的路径时,有两种写法:相对路径、绝对路径

1、写法一:相对路径

相对当前页面所在的路径。两个标记 ... 分表代表当前目录和父路径。

代码语言:javascript复制
<!-- 当前目录中的图片 -->
<img src="2.jpg">
<img src=".2.jpg">
<!-- 上一级目录中的图片 -->
<img src="..2.jpg">

2、写法二:绝对路径

绝对路径包括以下两种:

(1)以盘符开始的绝对路径。举例

代码语言:javascript复制
<img src="C:UserssmyhvaeDesktophtmlimages1.jpg">

(2)网络路径。举例:

代码语言:javascript复制
<img src="http://img.smyhvae.com/2016040102.jpg">

相对路径和绝对路径的总结

相对路径的好处:站点不管拷贝到哪里,文件和图片的相对路径关系都是不变的。 相对路径使用有一个前提,就是网页文件和你的图片,必须在一个服务器上。

问题:我的网页在C盘,图片却在D盘,能不能插入呢?

答案: 用相对路径不能,用绝对路径也不能。

注意:可以使用file://来插入,但是这种方法,没有任何意义!因为服务器上没有所谓c盘、d盘。

下面的方法是行的,但是没有任何工程上的意义,这是因为服务器没有盘符,linux系统没有盘符:

代码语言:javascript复制
<img src="file://C:UsersDannyPictures明星1.jpg" alt="" />

总结一下:

  • 我们现在无论是在a标签、img标签,如果要用路径。只有两种路径能用,就是相对路径和绝对路径。
  • 相对路径,就是../ image/ 这种路径。从自己出发,找到别人;
  • 绝对路径,就是http://开头的路径。
  • 绝对不允许使用file://开头的东西,这个是完全错误的!

img标签的其他属性

  • width:宽度
  • height:高度
  • align:指图片的水平对齐方式,属性值可以是:left、center、right
  • title:提示性文本。公有属性。也就是鼠标悬停时出现的文本。
  • border:给图片加边框(描边),单位是像素,边框的颜色是黑色
  • Hspace:指图片左右的边距
  • Vspace:指图片上下的边距
  • alt:当图片不可用(无法显示)的时候,代替图片显示的内容。alt是英语 alternate “替代”的意思,代表替换资源。(有的浏览器不支持)

注意事项: (1)如果要想保证图片等比例缩放,请只设置width和height中其中一个。 (2)如果想实现图文混排的效果,请使用align属性,取值为left或right。

热点问题

指的是对图片的局部区域加超链接。 我们知道,如果给图片加一个超链接,那个点击这个图片的任意区域,都会跳转到新的位置。举例:

代码语言:javascript复制
<a href="网页2.html"><img src="2.jpg"></a>

https://www.w3school.com.cn/html/html_images.asp

代码语言:javascript复制
<img src="planets.jpg" border="0" usemap="#planetmap" alt="Planets" />

<map name="planetmap" id="planetmap">
  <area shape="circle" coords="180,139,14" href ="venus.html" alt="Venus" />
  <area shape="circle" coords="129,161,10" href ="mercur.html" alt="Mercury" />
  <area shape="rect" coords="0,0,110,260" href ="sun.html" alt="Sun" />
</map>

属性

描述

coords

坐标值

定义可点击区域(对鼠标敏感的区域)的坐标。

href

URL

定义此区域的目标 URL。

nohref

nohref

从图像映射排除某个区域。

shape

default rect circ poly

定义区域的形状。

target

_blank _parent _self _top

规定在何处打开 href 属性指定的目标 URL。

  • default
  • rect
  • circ
  • poly

定义区域的形状。 target

  • _blank
  • _parent
  • _self
  • _top

规定在何处打开 href 属性指定的目标 URL。

参考地址

参考及在线练习地址

可以在w3school上操作学习

0 人点赞