Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >HTML 核心篇:语义化

HTML 核心篇:语义化

原创
作者头像
qishilong
修改于 2023-02-19 13:07:00
修改于 2023-02-19 13:07:00
76600
代码可运行
举报
运行总次数:0
代码可运行

大家好,我是qishilong。

语义化

首先我们先来了解一下什么是语义化:

  • 语义化是前端开发里面的一个专用术语,其优点在于标签语义化有助于构架良好的html结构,有利于搜索引擎的建立索引、抓取;另外,亦有利于页面在不同的设备上显示尽可能相同;此外,亦有利于构建清晰的机构,有利于团队的开发、维护。 -- 维基百科
  • 在编程中,语义指的是一段代码的含义 — 例如 "运行这行 JavaScript 代码会产生怎样的影响?", 或者 "这个 HTML 的元素有什么作用,扮演了什么样的角色"(而不只是 "它看上去像是什么?"。)...... -- MDN (因为篇幅过长,如果想要详细了解的同学,可以去MDN文档中关于语义化的详细介绍
  • ......

然后我们再来聊聊语义化:

  1. 每一个 HTML 元素都有具体的含义
    1. <a></a>: a元素,超链接
    2. <p></p>: p元素,段落
    3. <h1></h1>: h1元素,一级标题
    4. ......
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <!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>语义化</title>
 </head><body>
     <a href="https://www.baidu.com">百度一下</a>
     <p>这是一个段落</p>
     <h1>这是一级标题</h1>
 </body></html>
  1. 所有元素与展示效果无关

元素展示到页面中的效果,应该由CSS决定。 因为浏览器在将元素渲染到页面上时,会在对应的标签上加山对应的默认属性,所有不同的标签在初始情况下渲染的样式不同,下面我们来验证一下: 通过在浏览器页面上按下 鼠标右键 -> 检查 或者使用电脑上的 Fn+F12按键 打开浏览器的控制台,来查看或者调试页面。

想要详细了解谷歌浏览器的控制台功能,可以看这篇文章的介绍:https://www.cnblogs.com/xiaowenshu/p/10450848.html

现在我们来看一下a标签渲染到页面上时的初使样式。让我们选中a元素,然后在控制台中查看:

我们可以看到标签出事渲染到页面上时,会自动带一些初使样式,例如a标签就带有以下初使样式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 a:-webkit-any-link {
   color: -webkit-link;
   cursor: pointer;
   text-decoration: underline;
 }

这些属性在以后的内容篇中会逐步讲到,我在这里先大致说一下: color: 元素中字体的颜色; cursor: 鼠标移动到元素上时,鼠标的样式,cursor: pointer;表示的是一个小手的样式,这个属性还有其他属性值,在讲到CSS时会在详细的介绍这个属性; text-decoration: 用于设置文本的修饰线外观的(下划线、上划线、贯穿线/删除线 或 闪烁)。 看到这里,不知道细心的同学有没有发现,这些CSS属性也有很大的语义化,比如设置字体颜色,就是color,设置鼠标指针的形状就是cursor,设置文本下划线属性,就是text-decoration,其实很多的CSS属性根据字面意思就能猜出来,这个属性的作用是什么,具体的CSS内容会在后面逐步介绍到。其实还有一点,不知道大家有没有注意到,在上面的图片中,出现了这样一句话user agent stylesheet,这句话的意思很字面--浏览器默认样式,所以谷歌的浏览器很贴心啊,默认样式都在控制台中标注出来了,并且在单独的内容框里,这也是为什么我十分推荐谷歌浏览器的原因。我们再来看下p元素的:

h1元素的:

现在我们通过在控制台中向对应的元素加入或改变一些CSS属性,看元素会有什么变化: a元素:

可以看到,页面中字体的颜色变了,字体类型变了,下划线的位置变了

在控制台的element.style一栏中可以加入自己想要给定的元素样式,不过这个自己在控制台中加的样式不是永久的,在重新刷新页面后,这些自己添加的样式会自动取消,在平时的开发和练习中可以在这一栏中加入自己想要给定的样式,方便测试。

p元素:

h1元素

看到这里,我想同学们应该能够理解上面所讲的 元素展示到页面中的效果,应该由CSS决定。 因为浏览器在将元素渲染到页面上时,会在对应的标签上加山对应的默认属性,所有不同的标签在初始情况下渲染的样式不同 这两句话的意思了,元素的样式应该有CSS决定,而之所以不同的元素在渲染到页面上时会有不同的样式,是因为在渲染时,浏览器会为其加上特有的默认属性,而自己也可以通过改变元素的CSS属性来改变元素的样式。

不知道有没有同学在这地方有过疑问:

这个是什么? :any-link CSS 伪类 选择器代表一个有链接锚点的元素,而不管它是否被访问过,也就是说,它会匹配每一个有 href 属性的 <a>、<area> 或 <link> 元素。因此,它会匹配到所有的 :link 或 :visited。 想要具体了解的,请看下面这片文章: https://developer.mozilla.org/zh-CN/docs/Web/CSS/:any-link 这些内容我们以后会提到

重要:选择什么元素,取决于内容的含义,而不是显示出的效果 🌟🌟🌟 牢记这句话。

为什么需要语义化

  1. 为了搜索引擎优化(SEO)
  2. 为了让浏览器理解网页

这里就不再详细介绍这部分内容了,想要详细了解的,我这里放一些文章的链接,大家下去可以自己了解下。 语义化:https://developer.mozilla.org/zh-CN/docs/Glossary/Semantics

写语义标记的一些好处如下:

  • 搜索引擎将其内容视为影响页面搜索排名的重要关键字(参见 SEO)。
  • 屏幕阅读器可以将其用作指引,帮助视力受损的用户导航页面。
  • 比起搜索无休止的带有或不带有语义/命名空间类的 div,找到有意义的代码块显然容易得多。
  • 向开发人员建议将要填充的数据类型。
  • 语义命名反映了正确的自定义元素/组件命名。

SEO:https://developer.mozilla.org/zh-CN/docs/Glossary/SEO HTML 语义化:https://www.cnblogs.com/zhuochong/p/11412332.html 什么是语义化的HTML?有何意义?为什么要做到语义化?:https://www.cnblogs.com/wuqiutong/p/5986220.html 谈谈对于 HTML 语义化的理解:http://www.yaohaixiao.com/blog/thinking-of-html-semantic/

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
2.语义化-HTML进阶
一、什么是语义化? 1.第二次学习的感受 我最开始在学习HTML中,和大多数初学者一样觉得这也太简单了,觉得没有多少东西,只要记住这些个标签就可以了。当我第二次学习时才发现,HTML并没有我想象中的
见贤思齊
2020/09/28
1.3K0
2.语义化-HTML进阶
HTML语义化
语义化可以总结为 根据内容选择标签,用最恰当的标签来标记内容 例如网页中的标题使用<h1>~<h6>这样的标签,而不是使用<div>+css
WindRunnerMax
2020/08/27
1.5K0
【Java 进阶篇】HTML 语义化标签详解
HTML(HyperText Markup Language)是构建Web页面的标准语言。在HTML中,标签(tag)是用于定义页面结构和内容的关键元素。在构建网页时,了解如何正确使用HTML标签是非常重要的,因为它们不仅影响页面的外观,还影响搜索引擎优化(SEO)和可访问性(accessibility)。本文将重点介绍HTML中的语义化标签,这些标签有助于更好地描述网页内容的含义,提高页面的可读性和可维护性。
繁依Fanyi
2023/10/12
3890
【Java 进阶篇】HTML 语义化标签详解
零基础学HTML5和CSS3前端开发CSS基础
HTML语法,在网页上显示数据,第一章p br b font 第二章 table form标签。
张哥编程
2024/12/19
1380
零基础学HTML5和CSS3前端开发CSS基础
2021前端面试高频 HTML + CSS
当DOM的变化影响了元素的几何信息(元素的的位置和尺寸大小),浏览器需要重新计算元素的几何属性,将其安放在界面中的正确位置,这个过程叫做重排。
程序员海军
2021/10/11
1K0
2021前端面试高频 HTML + CSS
(2019)[前端]面试题[9]:HTML5语义化标签和新特性
题外话:新网站( https://www.lzpan.com )懒盘,百度云、蓝奏云资源搜索,欢迎访问。
无道
2019/11/13
1.4K0
(2019)[前端]面试题[9]:HTML5语义化标签和新特性
html语义化2
h1 - h6是标题标签,h表示“header”。h1~ h6在HTML语义化中占有极其重要的地位。 h1 ~ h6按照标题的重要性依次递减,其中h1重要性最高,h6重要性最低。
Qwe7
2022/05/18
6860
html5语义化
id和class是HTML元素中两个最基本的公共属性。一般情况下,id和class都用来选 择元素,以便进行CSS操作或者JavaScript操作。但是很多新手对id和class这两个属性感 到很迷茫,不知道什么时候用id,什么时候用class,甚至随便使用。1
Qwe7
2022/05/18
4850
HTML+CSS 面试题整理(一)
1.web标准: (1)结构标准:其语言主要包括XHTML(实现HTML向XML的过渡。)和XML(用于弥补HTML的不足) (2)表现标准:其语言主要包括CSS(帮助设计师分离外观与结构) (3)行为标准:其语言主要包括W3C Dom(提供标准方法用于访问站点中的数据、脚本和表现层对象)和ECMAScript (4)代码标准: ①必须结束标记:XHTML必须,HTML不一定 ②小写元素和属性名:XHTML对大小写敏感,HTML不敏感 ③比较必须合理嵌套 ④属性必须用“”括起来:XHTML必须,HTML
用户1667431
2018/04/18
1.2K0
HTML+CSS 面试题整理(一)
前端面试题-HTML结构语义化
HTML结构语义化,是近几年才提出来的,对比之前的 HTML 结构,大多是一堆没有语义的标签。用的最多的就是 DIV+CSS,为了改变这种现状,开发者们和官方提出了 HTML结构语义化的概念,并且在 HTML5 添加了很多语义化标签。
WEBING
2019/02/26
6440
知识整理之HTML篇
HTML5 不基于 SGML,因此不需要对DTD进行引用,但是需要doctype来规范浏览器的行为(让浏览器按照它们该有的方式来运行) 而HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型。
Clearlove
2019/08/29
1.3K0
HTML入门与进阶以及HTML5_html 菜鸟教程
HTML入门与进阶以及HTML5_html 菜鸟教程目录一、简介1、前端开发最核心技术(1)HTML是什么?(2)CSS(3)JavaScript2、前端开发其他技术二、基础内容1.基础总结2.HTML的基本标签(1)HTML标签(2)head标签(3)body标签3、段落与文字(一)、段落标签(二)、网页特殊符号(三)、自闭合标签(四)、块元素和行内元素(五)、练...
Java架构师必看
2022/05/10
4.3K0
HTML入门与进阶以及HTML5_html 菜鸟教程
面试题必备-web页面基础
html标签是由<>包围的关键词 html标签是成对出现的 有部分标签是没有结束标签的,叫单标签, 页面中所有的内容,都是要放在HTML标签中的
达达前端
2019/11/21
2.7K0
你真的理解HTML5标签语义化吗?
<head>标签用于定义文档的头部,它是所有头部元素的容器。<head>描述了文档的各种属性和信息,包括文档的标题、在 Web 中的位置以及和其他文档的关系等。head内可存放标签有:
陈大鱼头
2020/11/06
6210
前端学习(6)~html回顾
html 的常见元素主要分为两类:head 区域的元素、body 区域的元素。下面来分别介绍。
Vincent-yuan
2020/02/23
4810
HTML和CSS面试题及答案总结一
3.在input表单控件中,value和placeholder的区别是什么? 答: placeholder: 表示在输入框中显示的提示信息,用户点击之后,提示信息就会消失。 value: 叫做默认值,当用户想要在输入框中输入信息的时候,必须先手动的删除value的值 。
全栈程序员站长
2022/08/25
1.3K0
前端面试题归类-HTML1
比如:header(头部),nav(导航)、section(主要用于对网站或应用程序中页面上的内容进行分块。)、article(一个页面的一部分,并且这部分专门用于独立的分类或复用)、aside(定义article以外的内容,aside的内容应该与article的内容相关。表示当前页 面或文章的附属信息部分)、footer(底部)
肥晨
2023/02/16
5220
前端硬核面试专题之 HTML 24 问
确保用户在不同地区能用最快的速度打开网站,其中某个域名崩溃用户也能通过其他域名访问网站。
夜尽天明
2019/08/08
1.3K0
前端硬核面试专题之 HTML 24 问
前端面试实录HTML篇
沉浸式趣谈
2024/03/13
1770
前端面试实录HTML篇
HTML和CSS
Opera:以前是presto内核,Opera现已改用Google Chrome的Blink内核
李才哥
2019/07/10
5.7K0
相关推荐
2.语义化-HTML进阶
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验