HTML语义化 | 青训营笔记

141 阅读3分钟

这是我参与「第四届青训营 」笔记创作活动的的第1天
在第一天HTML课程当中,感受最深的一点就是“HTML传达内容,而不是样式”。在最新一代的HTML5也更加地注重语义化,在此对几个大版本的HTML和语义化标签进行一番整理。

⛳️ HTML、XHTML、HTML5的一些区别

1. 定义

  • HTML全称是超文本标记语言Hyper Text Markup Language;HTML指的是HTML4.01;
  • XHTML全称是可扩展超文本标记语言,与HTML4.01几乎相同,但更严格纯洁;
  • HTML5是目前最新一代的HTML,已成为了一门编程语言。

2. 语义化

  • HTML:没有体现结构语义化的标签,通常这样命名<div id="header"></div>
  • HTML5:在语义上有很大的优势。提供了一些新的标签,比如<header><article><footer>等等语义化标签,可以更好地支持搜索引擎的读取便于seo的蜘蛛的爬行

3. 文档类型声明方式

  • HTML:<!DOCTYPE html xxxxxxxxxxxxxxxxx>一大串很是麻烦 看着眼疼
  • HTML5:<!DOCTYPE html> 舒服~~ ~~

4. HTML5的一些新特性

  • 新元素,如<footer><header><figure><figcaption>等语义标签
  • 用于绘画的 canvas 元素
  • 支持CSS3,可实现2D/3D制图
  • Viedo 和 Audio
  • Web存储localStorage 和 sessionStorage,支持本地存储。HTML5之间使用的是cookie

⛳️ 语义化标签 ——传达内容,而不是样式

1. 定义

  • 语义化是指HTML中的元素、属性、属性值都拥有某些含义,标签也拥有某些含义。
  • divspan则是无语义标签,一般用来实现页面布局。前者是块级元素,后者是行级元素。

2. 优点

  • 页面代码可读性高,可维护性强,有利于开发者团队进行迭代开发、后期维护
  • 在页面没有CSS修饰的情况下,依旧能呈现较好的结构
  • 不同语义在搜索引擎中具有不同的权重,方便进行搜索引擎优化SEO,提高网站排名
  • 方便屏幕阅读器、盲人阅读器、移动设备等设备解析,提升无障碍性

HTML页面使用者:
开发者-修改维护页面
浏览器-展示页面
搜索引擎-提取关键词和排序
屏幕阅读器-给盲人读页面内容

3. 常见的语义化

  • 页面结构语义化:<title>\<header>\<nav>\<main>\<artitle>\<aside>\<footer> image.png
  • 标题语义化:h1~h6
  • 图片语义化:用figure来包裹img元素,figcaption做图注。 若img图片只做装饰,应该用背景图片
  • 表格语义化:table外层,caption标题,thead表头,tbody表身,tfoot表脚
    tr行,th表头单元格,td表行单元格。
    每个thead、tbody、tfoot都有tr;thead的每项是th,tbody、tfoot的每项是td
  • 表单语义化:fieldsetlegend标签、label标签,增加表单的语义
  • 换行符br:W3C标准规定,br标签仅用于段落中的换行,即只适合用于p标签内部的换行,不能用于其他标签
  • 列表语义化:对于列表型数据,使用ulol,开发中多用ul
  • strong标签和em标签:strong和em在页面中起到强调的语义,在搜索引擎中占有一定的权重。若仅仅是为了简单的加粗或斜体效果,不建议使用strong或em标签,而是采用span标签+css样式来身上实现加粗和斜体。