当前位置: 首页 > news >正文

html的语义化怎么理解,关于语义化的HTML结构怎么理解

关于语义化的HTML结构怎么理解

相信大家都知道html和css,知道html结构和css表现分离,知道html语义化,这些都是这几年的热门关键字。语义化的html在国内也是一两年前才开始被追捧的,看看现在群里谈论的html结构,关于html结构的面试题,语义化的html占据了很大一部分。那么为什么要使用语义化的HTML?语义化的HTML到底有什么好处呢?

HTML是提供网页文档内容的上下文结构和含义;html本身是没有表现的,我们看到例如

是粗体,字体大小2em,加粗;是加粗的,不要认为这是html的表现,这些其实html默认的css样式在起作用,所以首先我们要知道html和页面的表现是没有关系的,这些是css的事情。HTML在页面中的作用就是结构和含义,通俗点说就是划分内容,这里放什么,我们放的是什么。

语义化的HTML结构首先要强调HTML结构

HTML结构是页面的骨架,一个页面就好像一幢房子,HTML结构就是钢精钢筋混泥土的墙,一幢房子如果没有钢精钢筋混泥土的墙那就是一堆费砖头,不能住人,不能办公。css是装饰材料,是原木地板,是大理石,是油漆,是用来装饰房子的,CSS的强大就不用多说了,css如果没有html结构那就是一堆木板,一同油漆,没有了实际使用价值。CSS完全依靠引用它的(X)HTML文档。如果你想使CSS的能力充分发挥到极致,提供一个用既干净又有结构的内容的html是非常必要的,“HTML是在互联网上发布超文本的通用语……HTML使用标签来对文本结构化”(http://www.w3.org/MarkUp/)。

语义化的HTML结构怎么写?

HTML是一种对文本内容进行结构和意义(或者说“语义”)进行补充的方法。它会告诉我们说:“这行是一个标题,这几行组成了一个段落。这些文字是项目列表,这些文字是链接到互联网上另一个文件的超链接。”值得注意的是,不应该让HTML来告诉我们:“这些文字是蓝色的,这些文字又是红色的。这部分内容是最最靠右的一栏,这行内容是斜体字。”这些和表现相关的信息是CSS的工作。在做前端开发的时候要记住:HTML告诉我们一块内容是什么(或其意义),而不是它长的什么样子。当我们提到“语义标记”的时候,我们所说的HTML应该是完全脱离表现信息的,其中的标签应该都是语义化地定义了文档的结构。

语义化的HTML结构其实很简单,首先掌握html中各个标签的语义,

是一个容器;是表示强调;

是一个无序列表等等…在看到内容的时候想想用什么标签能更好的描述它,是什么就用什么标签。

语义化的HTML结构到底有什么好处?

我们知道HTML5新增的标签,比如

,html正在朝着更加健壮的语义化的HTML结构发展,xhtml2在这点上没html5先进,这也是xhtml2死亡的一个原因,这一点也说明了语义化的HTML结构是html的发展趋势。

1.去掉或样式丢失的时候能让页面呈现清晰的结构:

html本身是没有表现的',我们看到例如

是粗体,字体大小2em,加粗;是加粗的,不要认为这是html的表现,这些其实html默认的css样式在起作用,所以去掉或样式丢失的时候能让页面呈现清晰的结构不是语义化的HTML结构的优点,但是浏览器都有有默认样式,默认样式的目的也是为了更好的表达html的语义,可以说浏览器的默认样式和语义化的HTML结构是不可分割的。

2.屏幕阅读器(如果访客有视障)会完全根据你的标记来“读”你的网页.

例如,如果你使用的含语义的标记,屏幕阅读器就会“逐个拼出”你的单词,而不是试着去对它完整发音.

3.PDA、手机等设备可能无法像普通电脑的浏览器一样来渲染网页(通常是因为这些设备对CSS的支持较弱).

使用语义标记可以确保这些设备以一种有意义的方式来渲染网页.理想情况下,观看设备的任务是符合设备本身的条件来渲染网页.

语义标记为设备提供了所需的相关信息,就省去了你自己去考虑所有可能的显示情况(包括现有的或者将来新的设备).例如,一部手机可以选择使一段标记了标题的文字以粗体显示.而掌上电脑可能会以比较大的字体来显示.无论哪种方式一旦你对文本标记为标题,您就可以确信读取设备将根据其自身的条件来合适地显示页面.

4.搜索引擎的爬虫也依赖于标记来确定上下文和各个关键字的权重.

过去你可能还没有考虑搜索引擎的爬虫也是网站的“访客”,但现在它们他们实际上是极其宝贵的用户.没有他们的话,搜索引擎将无法索引你的网站,然后一般用户将很难过来访问.

5.你的页面是否对爬虫容易理解非常重要,因为爬虫很大程度上会忽略用于表现的标记,而只注重语义标记.

因此,如果页面文件的标题被标记,而不是,那么这个页面在搜索结果的位置可能会比较靠后.除了提升易用性外,语义标记有利于正确使用CSS和JavaScript,因为其本身提供了许多“钩钩”来应用页面的样式与行为.

SEO主要还是靠你网站的内容和外部链接的。

6.便于团队开发和维护

W3C给我们定了一个很好的标准,在团队中大家都遵循这个标准,可以减少很多差异化的东西,方便开发和维护,提高开发效率,甚至 实现模块化开发。

如有不同观点,补充,欢迎留言讨论。

感谢鬼哥,奶茶,小志,偷米饭,Caspar还有css森林群的讨论

【关于语义化的HTML结构怎么理解】相关文章:

相关文章:

  • html转换成纯文本,你如何将Html转换为纯文本?
  • html的confirm弹窗样式修改,H5-Mui框架——修改mui.confirm样式
  • html三行三列模式布局,一个CSS上中下三行三列结构的Div布局
  • 2021遂宁高考成绩多久查询,2021年遂宁如何查询中考成绩
  • ncp计算机网络,计算机网络(待完成)
  • 计算机专业的口号运动会四字,运动会口号四字
  • 给div赋html,jquery怎么给div赋值
  • koa渲染html文件,Koa 中返回 html 文件引发的思考-一一网络
  • 第一章计算机系统基础知识答案解析,计算机基础知识第一章练习题及答案解析教案资料(20200719174546)(20页)-原创力文档...
  • 计算机中实时与在线的关系,为什么新版QQ不再区分手机在线和电脑在线
  • 计算机教师招聘基本功试题及答案,2015年教师招聘考试新面试答辩题(附答案)第六卷...
  • 计算机系班级未来展望,云程发轫,重装上阵——计算机工程系2020级班级工作阶段性总结汇报与计划展望交流会...
  • 不用计算机证明数学定理,计算机证明数学定理的方式论
  • 计算机游戏设计专业世界大学排名,看过来,世界五大顶尖游戏设计大学在这里...
  • 转专业申请加拿大计算机硕士,GPA低?教你如何成功申请加拿大硕士!
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • ➹使用webpack配置多页面应用(MPA)
  • android 一些 utils
  • Bootstrap JS插件Alert源码分析
  • create-react-app做的留言板
  • download使用浅析
  • eclipse的离线汉化
  • JavaScript创建对象的四种方式
  • Linux gpio口使用方法
  • Median of Two Sorted Arrays
  • mysql常用命令汇总
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • ViewService——一种保证客户端与服务端同步的方法
  • 爱情 北京女病人
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 入口文件开始,分析Vue源码实现
  • 入手阿里云新服务器的部署NODE
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 数据可视化之 Sankey 桑基图的实现
  • 新手搭建网站的主要流程
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • Prometheus VS InfluxDB
  • # 数据结构
  • #14vue3生成表单并跳转到外部地址的方式
  • #includecmath
  • #Z2294. 打印树的直径
  • (14)Hive调优——合并小文件
  • (3)llvm ir转换过程
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (力扣)循环队列的实现与详解(C语言)
  • (转)linux 命令大全
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转)重识new
  • .net 生成二级域名
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .NET中统一的存储过程调用方法(收藏)
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • @ModelAttribute使用详解
  • [ Linux 长征路第二篇] 基本指令head,tail,date,cal,find,grep,zip,tar,bc,unname