前端入门基础之字符实体与语义标签
时间:2023-12-06 17:37:01
文章目录
- 字符实体和语义标签
-
- 1. 字符实体
- 2. meta 标签
- 3. 语义标签
- 4. 块元素和行内元素
-
- 块元素(block element)
- 行内元素(inline element)
- 5. 内容修正
- 6. 布局标签
- 7. 列表
- 8. 超链接
-
- 外部地址
- 内部地址
- 新建页面
- 锚点跳转
- 9. 图片
-
- 图片格式
-
- jpeg(jpg)
- gif
- png
- webp
- base64
- 10. 内联格式
- 11. 音视频
-
- 音频
- source
- embed
- 视频
- 其他
字符实体和语义标签
1. 字符实体
有时,在 HTML 有些特殊符号不能直接写,如:
- 多个连续空间(浏览器会自动分析在网页上编写的多个空间的默认情况)
- 例如,字母两侧大于小于号(可视为标签和分析)
如果我们需要在网页上写这些特殊符号,我们需要使用它们 html 实体(转义字符)的语法:&实体名称;
,如:
实体名称 | 显示结果 | 描述 |
---|---|---|
|
|
空格 |
> |
> | 大于号 |
< |
< | 小于号 |
& |
& | 与 |
© |
? | 版权 |
® |
? | 注册商标 |
™ |
? | 商标 |
× |
× | 乘号 |
÷ |
÷ | 除号 |
¿ |
? | 倒问号 |
更多字符实体,请参考:HTML 字符实体、HTML ISO-8859-1 参考手册
2. meta 标签
以京东网站为例,右键单击,选择查看网页源代码
<meta charset="utf8" version="1" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes" /> <meta name="description" content="京东JD.COM-专业的综合网上购物商城,销售家电、数码通讯、电脑、家居百货、服装服饰、母婴、图书、食品等数万个品牌优质商品.便捷、诚信的服务,为您提供愉悦的网上购物体验!" /> <meta name="Keywords" content="网上购物,网上商城,手机,笔记本,电脑,MP3,CD,VCD,DV,
相机,数码,配件,手表,存储卡,京东" />
meta 主要用于设置网页中的一些元数据,元数据并不是给用户看的
-
charset :指定网页的字符集
-
name :指定的数据的名称
-
keywords:表示网站的关键字,可以同时指定多个关键字,关键字间使用
,
隔开 -
description:表示网站的描述信息
-
-
content :指定的数据的内容,会作为搜索结果的超链接上的文字显示
打开 Zeal 手册(前端开发准备中做过介绍)
发现除了charset
、name
、content
之外,还有一个叫http-equiv
的属性
If the http-equiv attribute is set, the <meta /> element is a pragma directive,
providing information equivalent to what can be given by a similarly-named HTTP
header.
如果设置了http-equiv
属性,元素就是一个 pragma 指令,提供的信息相当于一个类似名称的 HTTP 头所能提供的信息。
点击http-equiv
的链接,查看其更详细信息。
content-security-policy
:允许页面作者为当前页面定义一个内容策略。内容策略主要指定允许的服务器来源和脚本端点,这有助于防范跨站脚本攻击。content-type
:声明文档的MIME 类型和字符编码。如果指定,content 属性必须有 "text/html; charset=utf-8
"的值。这相当于一个指定了 charset 属性的元素,并对文档中的位置有同样的限制。注意:只能在使用
text/html
的文档中使用,不能在使用 XML MIME 类型的文档中使用。default-style
:设置默认的 CSS 样式表集的名称。x-ua-compatible
: 如果指定,内容属性必须有 "IE=edge
"的值。用户代理被要求忽略这个 pragma。refresh
:该指令指定页面重新加载及重定向的方式- 直到页面应该被重新加载的秒数–只有当 content 属性包含一个正整数时。
- 直到页面重定向到另一个页面的秒数–只有当内容属性包含一个正整数,后面跟着字符串’
;url=
',以及一个有效的 URL。
其中我们直接将 Examples 中的示例代码加入 Demo.html 中
<meta charset="utf-8" />
<meta http-equiv="refresh" content="3;url=https://www.mozilla.org" />
对refresh
进行测试,发现过了 3 秒钟之后自动跳转到了指定的网站
3. 语义标签
在网页中 HTML 专门用来负责网页的结构所以在使用 html 标签时,应该关注的是标签的语义,而不是它的样式
这里先介绍几个基本的语义标签,还有些常用的标签放在后面具体讲解
标签 | 作用 | 描述 | |
---|---|---|---|
块元素 Block Element |
|
标题 | 一共有六级标题 从 h1 ~ h6 重要性递减,h1 最重要,h6 最不重要h1 在网页中的重要性仅次于 title 标签一般情况下一个页面中只会有一个 h1 一般情况下标题标签只会使用到 h1 ~ h3 ,h4 ~ h6 很少用 |
|
标题组 | 多层次的标题。它将一组 ~ 元素分组 |
|
|
段落 | 页面中的一个段落。由空行或第一行缩进将相邻的文本块分开 | |
|
短引文 | 用缩进表示所包含文本。 可以用 cite 属性表示引文来源,用 元素表示来源的文本表述 |
|
行内元素 Inline Element |
|
长引文 | 用一个简短的内联引号包围文本。 大多数浏览器通过在文本周围加上引号来实现。 该元素用于不需要段落分隔的短引文; |
|
换行 | ||
|
强调 | 表示强调作用。 元素可以嵌套,每一级嵌套表示更高的强调程度 元素效果与它相同,不过 不属于语义标签 |
|
|
重要 | 表示重要性、严肃性或紧迫性。浏览器通常以粗体字呈现内容 元素效果与它相同,不过 不属于语义标签 |
举例
<h1>Beetlesh1>
<h2>External morphologyh2>
<h3>Headh3>
<h4>Mouthpartsh4>
<h3>Thoraxh3>
<h4>Prothoraxh4>
<h4>Pterothoraxh4>
效果
HTML5 提供的新语义元素有
标签 | 作用 | 描述 |
---|---|---|
|
页眉 | 介绍性的内容 |
|
页脚 | 通常包含有关作者的信息、版权或文件链接 |
|
导航链接 | 可以是当前文档内的,也可以是到其他文档的。常见例子是菜单、目录和索引 |
|
文档主内容 | 中心主题直接相关或扩展的内容 |
|
文章 | 自成一体,独立分发,可重复使用 |
|
文档中的节 | 没有一个更具体的语义元素来代表 |
|
页面内容以外的内容 | 其内容与文档的主要内容只有间接的关系。经常以边栏或呼出框的形式出现 |
|
重要或强调的文本 | 为参考或记事目的而被标记或突出的文本,表明其相关性和重要性 |
|
标题 |
为 指定一个摘要、标题或图例。点击 可以切换 打开和关闭 |
|
用户能够查看或隐藏的额外细节 | 其中的信息只有被切换到 "打开 "状态时才可见。必须使用 提供一个摘要或标签 |
|
自包含内容 | 独立的内容,用 元素指定一个可选的标题。比如图示、图表、照片、代码清单等 |
|
的标题 |
描述其父元素
|
|
定义日期/时间 | 可能包括datetime 属性,将日期翻译成机器可读的格式,以便获得更好的搜索引擎结果或自定义功能。如提醒 |
这些新语义标签在视觉效果上基本上没有什么区别
4. 块元素与行内元素
块元素(block element)
- 在网页中一般通过块元素来对页面进行布局
行内元素(inline element)
- 行内元素主要用来包裹文字
- 一般情况下会在块元素中放行内元素,而不会在行内元素中放块元素
- 如
元素中不能放任何的块元素,不过
- 如
5. 内容修正
浏览器在解析网页时,会自动对网页中不符合规范的内容进行修正,比如:
- 标签写在了根元素的外部
元素中嵌套了块元素
- 根元素中出现了除
head
和body
以外的子元素
这个通过浏览器中的查看网页源代码
并不能看到效果,但是使用 F12 进行开发者调试
时是能够看到上述几种情况被修正的结果。
不过虽然浏览器能够对不规范的页面内容进行修正,还是不建议编写不规范的代码,因为这对后期代码维护或团队代码协作将是非常不好的后果和体验。
6. 布局标签
结构化语义标签
header
表示网页的头部(页眉)main
表示网页的主体部分(一个页面中只会有一个 main)footer
表示网页的底部(页脚)nav
表示网页中的导航aside
和主体相关的其他内容(侧边栏)article
表示一个独立的文章section
表示一个独立的区块,上边的标签都不能表示时使用 section
div
块元素,没有任何的语义,就用来表示一个区块。目前来讲,div 还是主要的布局元素span
行内元素,没有任何的语义,一般用于在网页中选中文字
7. 列表
在 html 中可以创建列表,html 列表一共有三种:
-
有序列表,使用
ol
标签来创建有序列表,使用li
表示列表项<ol> <li>Mix flour, baking powder, sugar, and salt.li> <li>In another bowl, mix eggs, milk, and oil.li> <li>Stir both mixtures together.li> <li>Fill muffin tray 3/4 full.li> <li>Bake for 20 minutes.li> ol>
-
无序列表,使用
ul
标签来创建无序列表,使用li
表示列表项<ul> <li>Milkli> <li> Cheese <ul> <li> Blue cheese <ul> <li>Sweet blue cheeseli> <li>Sour blue cheeseli> ul> li> <li>Fetali> ul> li> ul>
可以看出,列表元素之间是可以互相嵌套的
-
定义列表,使用
dl
标签来创建定义列表,使用dt
表示定义的内容,使用dd
来对内容进行解释说明<dl> <dt>Beast of Bodmindt> <dd>A large feline inhabiting Bodmin Moor.dd> <dt>Morgawrdt> <dd>A sea serpent.dd> <dt>Owlmandt> <dd>A giant owl-like creature.dd> dl>
8. 超链接
超链接可以让我们从一个页面跳转到其他页面,或者是当前页面的其他的位置
使用a
标签来定义超链接,href
属性指定跳转的目标路径,值可以是一个外部网站的地址,也可以写一个内部页面的地址
超链接是也是一个行内元素,在a
标签中可以嵌套除它自身外的任何元素
外部地址
Linking to an absolute URL
:链接一个绝对路径Linking to an email address
:链接一个 email 地址Linking to telephone numbers
:链接电话号码Using the download attribute to save a
:下载图片as a PNG
<ul>
<li><a href="https://www.baidu.com">Websitea>li>
<li><a href="mailto:example@outlook.com">Emaila>li>
<li><a href="tel:+123456789">Phonea>li>
ul>
效果
内部地址
当我们需要跳转一个服务器内部的页面时,一般我们都会使用相对路径,会以./
或../
开头
./
表示当前文件所在目录,可以省略不写../
表示当前文件所在目录的上一级目录
<a href="./test1.html">超链接1a><br />
<a href="../test2.html">超链接2a><br />
<a href="./test3/test3.html">超链接3a><br />
<a href="../test4/test4.html">超链接4a>
效果
新建页面
target
属性,用来指定超链接打开的位置可选值:
_self
在当前页面中打开超链接,默认值_blank
在新建页面中打开超链接
<a href="./test1.html">超链接1——默认a><br />
<a href="./test1.html" target="_self">超链接1——当前页面a><br />
<a href="./test1.html" target="_blank">超链接1——新建页面a><br />
锚点跳转
可以使用javascript:void(0);
来作为href
的属性,此时点击这个超链接什么也不会发生
可以将#
作为超链接的路径的占位符使用。
可以直接将超链接的href
属性设置为#
,这样点击超链接以后页面不会发生跳转,而是转到当前页面的顶部的位置
可以跳转到页面的指定位置(锚点),只需将href
属性设置#目标元素的id属性值
(唯一不重复)
<p>汉皇重色思倾国,御宇多年求不得。p>
<p>杨家有女初长成,养在深闺人未识。p>
<p>天生丽质难自弃,一朝选在君王侧。p>
<p><a id="Anchor1" href="#Anchor2"> 回眸一笑百媚生,六宫粉黛无颜色。a>p>
<p>春寒赐浴华清池,温泉水滑洗凝脂。p>
<p>侍儿扶起娇无力,始是新承恩泽时。p>
<p>云鬓花颜金步摇,芙蓉帐暖度春宵。p>
<p>春宵苦短日高起,从此君王不早朝。p>
<p>承欢侍宴无闲暇,春从春游夜专夜。p>
<p><a id="Anchor2" href="#Anchor3"> 后宫佳丽三千人,三千宠爱在一身。a>p>
<p>金屋妆成娇侍夜,玉楼宴罢醉和春。p>
<p>姊妹弟兄皆列土,可怜光彩生门户。p>
<p>遂令天下父母心,不重生男重生女。p>
<p>骊宫高处入青云,仙乐风飘处处闻。p>
<p>缓歌慢舞凝丝竹,尽日君王看不足。p>
<p>渔阳鼙鼓动地来,惊破霓裳羽衣曲。p>
<p>九重城阙烟尘生,千乘万骑西南行。p>
<p>翠华摇摇行复止,西出都门百余里。p>
<p>六军不发无奈何,宛转蛾眉马前死。p>
<p>花钿委地无人收,翠翘金雀玉搔头。p>
<p>君王掩面救不得,回看血泪相和流。p>
<p>黄埃散漫风萧索,云栈萦纡登剑阁。p>
<p>峨嵋山下少人行,旌旗无光日色薄。p>
<p>蜀江水碧蜀山青,圣主朝朝暮暮情。p>
<p>行宫见月伤心色,夜雨闻铃肠断声。p>
<p>天旋地转回龙驭,到此踌躇不能去。p>
<p>马嵬坡下泥土中,不见玉颜空死处。p>
<p>君臣相顾尽沾衣,东望都门信马归。p>
<p>归来池苑皆依旧,太液芙蓉未央柳。p>
<p>芙蓉如面柳如眉,对此如何不泪垂。p>
<p>春风桃李花开夜,秋雨梧桐叶落时。p>
<p>西宫南苑多秋草,落叶满阶红不扫。p>
<p>梨园弟子白发新,椒房阿监青娥老。p>
<p>夕殿萤飞思悄然,孤灯挑尽未成眠。p>
<p><a id="Anchor3" href="#Anchor4"> 迟迟钟鼓初长夜,耿耿星河欲曙天。 a>p>
<p>鸳鸯瓦冷霜华重,翡翠衾寒谁与共。p>
<p>悠悠生死别经年,魂魄不曾来入梦。p>
<p>临邛道士鸿都客,能以精诚致魂魄。p>
<p>为感君王辗转思,遂教方士殷勤觅。p>
<p>排空驭气奔如电,升天入地求之遍。p>
<p>上穷碧落下黄泉,两处茫茫皆不见。p>
<p>忽闻海上有仙山,山在虚无缥渺间。p>
<p>楼阁玲珑五云起,其中绰约多仙子。p>
<p>中有一人字太真,雪肤花貌参差是。p>
<p>金阙西厢叩玉扃,转教小玉报双成。p>
<p>闻道汉家天子使,九华帐里梦魂惊。p>
<p>揽衣推枕起徘徊,珠箔银屏迤逦开。p>
<p>云鬓半偏新睡觉,花冠不整下堂来。p>
<p><a id="Anchor4" href="#Anchor5"> 风吹仙袂飘飖举,犹似霓裳羽衣舞。 a>p>
<p>玉容寂寞泪阑干,梨花一枝春带雨。p>
<p>含情凝睇谢君王,一别音容两渺茫。p>
<p>昭阳殿里恩爱绝,蓬莱宫中日月长。p>
<p>回头下望人寰处,不见长安见尘雾。p>
<p>惟将旧物表深情,钿合金钗寄将去。p>
<p>钗留一股合一扇,钗擘黄金合分钿。p>
<p>但令心似金钿坚,天上人间会相见。p>
<p>临别殷勤重寄词,词中有誓两心知。p>
<p>七月七日长生殿,夜半无人私语时。p>