乐趣区

关于前端:重构前端知识体系之HTML讲讲对HTML5的一大特性语义化的理解

【重构前端常识体系之 HTML】讲讲对 HTML5 的一大个性——语义化的了解

引言

在讲什么是语义化之前,先看看语义化的背景。

在之前的文章中提到 HTML 最重要的个性,那就是标签。然而我的项目一大,标签多的看不懂,一重叠着一堆。一些命名奇奇怪怪,想保护被劝退,团队合作导致团战开始!

因而语义化火烧眉毛!

什么是语义化

在咱们写 HTML 时其实无所谓,因为你外面长啥样,用户看不到,也不必看到。

因为你有 CSS 的漂亮衣服,即便你的 HTML 一塌糊涂,CSS 也能够让它光鲜亮丽。

然而用户看不到,开发者看失去呀!因而,这个语义化的敌对者是开发者自身。

所谓语义化,就是凭着 HTML 自身,也能体验出人性化的构造!

语义化的益处

  • 在没有 CSS 的状况下,页面也能呈现出很好地内容构造、代码构造。这样开发者一眼就明了你的用意,一秒破冰!
  • 对 SEO 敌对。对开发者敌对,那么对开发者的小虫子们也是当然!

    当标签利用切当,体现出上下文中你想要关键字的权重,那么搜索引擎爬虫就到了你的头上了。那么网站的访问量不就来了吗。

  • 能够反对一些非凡的设施(盲人浏览、挪动设施),网页翻译等。
  • 最直观的一点,便是你的队友都心愿和你单干!你的代码的语义化,队友都爱啊!

    语义化更具可读性,遵循 W3C 规范的团队都遵循这个规范,能够缩小差异化。(跳槽疾速融入?)

工作中语义化的思考

  • 不要应用一些纯款式标签,这些 CSS 会帮咱们做到。如:b、font、u 等一些标签。
  • 须要强调的文本,能够蕴含在 strong 或者 em 标签中(,strong 默认款式是加粗(不要用 b),em 是斜体(不必 i)。应用 mark 标签来示意标注的 / 突出显示的文本。

    然而还是能够思考应用 CSS 来实现。

  • 每个 input 标签对应的阐明文本都须要应用 label 标签,并且通过为 input 设置 id 属性,在 lable 标签中设置 for=someld 来让阐明文本和绝对应的 input 关联起来。
  • 表单域要用 fieldset 标签包起来,并用 legend 标签阐明表单的用处。
  • 应该应用 <h1> - <h6> 来示意题目。
  • 当用 CSS 写款式的时候命名也须要遵循 HTML 的构造,体现出语义化的实质。

语义化的标签

1、<header> 标签定义文档的页眉

通常蕴含页面的正副标题。

<header>
<h1> 他真的是美男子吗?</h1>
<p> 据现场勘查,他真的是美男子!</p>
</header>

2、<footer>标签定义文档或节的页脚

页脚通常蕴含文档的作者、版权信息、应用条款链接、分割信息等等。

能够在一个文档中应用多 <footer> 元素。

<footer>
  <p>Posted by: 美男子 </p>
</footer>

3、<main>标签规定文档的次要内容。

<main> 元素中的内容对于文档来说该当是惟一的。

它不应蕴含在文档中反复呈现的内容,比方侧栏、导航栏、版权信息、站点标记或搜寻表单。

在一个文档中,不能呈现多个 <main> 元素。<main> 元素不能是以下元素的后辈:<article><aside><footer><header> <nav>

<main>
  <h1> 我的介绍 </h1>
  <p> 我是一个聪慧的孩子 </p>
</main> 

4、<section> 标签定义文档中的片段。

比方章节、页眉、页脚或文档中的其余局部。

<section>
  <h1>PRC</h1>
  <p>The People's Republic of China was born in 1949...</p>
</section>

5、<article> 标签规定独立的自蕴含内容

比方文章下的评论之类的

<article>
   <h1> 我为什么聪慧呢 </h1>
   <p> 我聪慧的秘诀是我爱思考 </p>
</article>

6、<aside> 标签定义其所处内容之外的内容。

用来装载非注释类的内容。例如广告,成组的链接,侧边栏等等。

<p> 聪慧的钻研 </p>
<aside>
  <h1> 我为什么聪慧呢 </h1>
  <p> 我聪慧的秘诀是我爱思考 </p>
</aside>

7、<nav> 元素代表页面的导航链接区域。

用于定义页面的次要导航局部。

<nav>
<ul>
<li><a href=”https://www.baidu.com”> 百度 </a></li>
<li><a href=”https://www.guizimo.com”> 归子莫 </a></li>
</ul>
</nav>

一个语义化模板

先来看一张图。

看起来,一个标标致致的 HTML 构造就很清晰了。

总结

有的敌人必定会问了,那平时都是用框架写的代码,根本不必用这些,又不是去写集体网站或者官网,都是写一些业务型的 H5 或者后盾治理。

其实对于集体网站或者官网来说,语义化是有理论价值的。而且,这个也是近些年来面试的常问的一题。最重要的是要去学习语义化的含意。做到代码语义化,包含函数的命名,组件的命名,组件业务性能的拆分。始终在路上!

重构前端常识体系,你要一起吗?

博客阐明与致谢

文章所波及的局部材料来自互联网整顿,其中蕴含本人集体的总结和认识,分享的目标在于共建社区和坚固本人。

援用的材料如有侵权,请分割自己删除!

感激万能的网络,W3C,菜鸟教程等!

感激勤奋的本人,集体博客,GitHub 学习,GitHub

公众号【归子莫】,小程序【子莫说】

如果你感觉对你有帮忙的话,无妨给我点赞激励一下,好文记得珍藏哟!关注我一起成长!

所属专栏:重构前端常识体系(HTML)

幸好我在,感激你来!

退出移动版