美文网首页
浅谈HTML语义化

浅谈HTML语义化

作者: solfKwolf | 来源:发表于2018-04-27 21:31 被阅读12次

写好HTML最重要的一点就是要写“语义化”的代码,即HTML标签、结构要符合所表示的语义。以下是个人拙见。

我理解中的语义化

  • html5到来之前,我们的布局更多选择div+css,语义化的标签相对而言比较少。好在html5带来了改变,更多的语义化标签加入到html里替代原来无语义的div。
  • "语义化",即根据页面内容的结构,选择与之对应的标签,便于开发者阅读和编写更加规范的代码,同时也有利于浏览器的解析(很重要)。
  • 伴随着语义网的提出

传统的Web由文档组成,W3C希望通过一组技术支撑“数据的Web”,即Web of Data,将Web看作一个存储和管理数据的大型分布式数据库。语义Web是构造这样的数据Web的重要一环,帮助人们创建数据并存储在Web上,创建相关的词汇表及数据的处理规则。 —— w3.org

语义化的好处

  • 良好的页面结构
    在没有添加css样式时,页面也能呈现清晰的结构。
  • 提高用户体验
  • 有利于SEO优化,语义化更有利于搜索引擎爬取页面信息。
  • 兼容更更多的设备(屏幕阅读器, 盲人阅读器, 移动设备)
  • 代码规范化,便于维护和开发。

如何编写"语义化"的HTML

这里不知不觉就写成对各个标签语义的理解,若有误解请指出!谢谢!

  • 遵循 "样式与结构分离 " 的原则
    一个良好的HTML结构往往是一个页面的重中之重。样式在这个基础上去去增强页面的表达和用户体验!不要用b、font、u这类纯样式标签!

  • 根据文档的上下文结构合理选用标签

  • 尽可能少的使用无语义的标签<span>和<div>

  • 提高关键词的密度,如图片添加alt属性,连接说明title

  • 正确使用内容选择器

  • 需要强调的文本可以包含在strong和em标签中

  • 使用表格时,标题要用caption,表头用thead,主体部分用tbody包围,尾部用tfoot包围。表头和一般单元格要区分开,表头用th,单元格用td

  • 表单域要用fieldset标签包起来,并用legend标签说明表单的用途;

  • 每个input标签对应的说明文本都需要使用label标签,并且通过为input设置id属性,在lable标签中设置for=someld来让说明文本和相对应的input关联起来。
    一个清晰良好的页面结构往往能提高开发速度与优化布局。

// 搜索引擎会将title作为判断页面主要内容的指标,有效的title应该包含几个与页面内容密切相关的关键字,建议将title核心内容放在前60个字符中。
<title></title>
<hn></hn> //h1~h6分级标题,用于创建页面信息的层级关系。
//  对于搜索引擎而言,如果标题与搜索词匹配,这些标题就会被赋予很高的权重,尤其是h1。
<header></header> //页眉通常包括网站标志、主导航、全站链接以及搜索框。
<nav></nav> // 标记导航,仅对文档中重要的链接群使用。 
<main></main>
// 页面主要内容,一个页面只能使用一次。如果是web应用,则包围其主要功能。
<article></article>
// 具有相似主题的一组内容,比如网站的主页可以分成介绍、新闻条目、联系信息等条块
<section></section>  具有相似主题的一组内容,比如网站的主页可以分成介绍、新闻条目、联系信息等条块。

// 如果只是为了添加样式。请用div
<aside></aside>  // 指定附注栏,包括引述、侧栏、指向文章的一组链接、广告、友情链接、相关产品列表等。
<footer></footer>  // 页脚,只有当父级是body时,才是整个页面的页脚。
<small></small> // 指定细则,输入免责声明、注解、署名、版权。
<strong></strong>  // 表示内容重要性
<em></em> //标记内容着重点(大量用于提升段落文本语义)。
 <mark></mark> // 突出显示文本(yellow),提醒读者。
<figure></figure> //  创建图(默认有40px左右margin)
<figcaption></figcaption> // figure的标题,必须是figure内嵌的第一个或者最后一个元素。
<cite></cite> //指明引用或者参考,如图书的标题,歌曲、电影、等的名称,演唱会、音乐会、规范、报纸、或法律文件等。
<blockquoto></blockquoto> // 引述文本,默认新的一行显示。
<time></time> //  标记时间。datetime属性遵循特定格式,如果忽略此属性,文本内容必须是合法的日期或者时间格式。     
        不再相关的时间用s标签。
<abbr></abbr> //解释缩写词。使用title属性可提供全称,只在第一次出现时使用就ok。
   <dfn></dfn> // 定义术语元素,与定义必须紧挨着,可以在描述列表dl元素中使用。
<address><address> // 作者、相关人士或组织的联系信息(电子邮件地址、指向联系信息页的链接)。

        如果提供整个页面的作者联系信息,一般放在页面级footer里。不能包含文档或者文档等其他内容。
<del>移除内容<del>
<ins></ins>  //添加内容
<code></code>  //标记代码
<pre><pre> // 预格式化文本。保留文本固有的换行和空格。

问题:什么是微格式?

后续再增加...

参考资料

相关文章

  • 浅谈HTML语义化

    写好HTML最重要的一点就是要写“语义化”的代码,即HTML标签、结构要符合所表示的语义。以下是个人拙见。 我理解...

  • HTML语义化浅谈

    什么是HTML语义化 HTML语义化,是编写HTML代码的一种方式,根据内容的结构化(内容语义化),选择合适的标签...

  • 浅谈Html语义化

    我们经常听到语义化,那它到底有多神秘呢,下面我们就来探讨探讨。 什么是Html语义化? Html语义化是指根据内容...

  • HTML: 标签语义化的理解

    一. 什么是 HTML 语义化 二. HTML 语义化网页的好处 三. 如何进行 HTML 语义化 四. 语义化标...

  • 如何理解HTML结构的语义化?

    1. HTML语义化背景介绍 讲到语义化,我们首先来聊聊html语义化的背景,HTML结构语义化,是最近几年才提出...

  • 前端面试常见问题——HTML篇

    1. HTML语义化 什么是HTML语义化 根据内容的结构化(内容语义化),选择合适的标签(代码语义化) 为什么要...

  • HTML初探

    HTML、XML、XHTML之间的区别 HTML语义化 根据内容的结构化(内容语义化),选择合适的标签(代码语义化...

  • 怎样理解 HTML 语义化

    怎样理解 HTML 语义化 HTML 语义化是在 HTML5 里加入的一个概念。 为什么要加入语义化?我们先看看没...

  • HTML语义化及内容与样式分离

    HTML语义化 语义化的含义就是用正确的标签做正确的事情。让HTML专注于文档的结构和内容的含义。HTML语义化优...

  • 什么是HTML语义化

    HTML语义化

网友评论

      本文标题:浅谈HTML语义化

      本文链接:https://www.haomeiwen.com/subject/qlmvlftx.html