zoukankan      html  css  js  c++  java
  • HTML语义化

    之前我一直没有重视过HTML语义化,觉得<div>+<span>,再用上一些基本的语义化标签,比如<p>,<h1>等等,写一些比较普通的页面足够了。但是,我们应当追求把语义化标签用对,而不是仅仅完成一个页面就行。

    那么,为什么要使用HTML语义化呢?
    1.为了在没有CSS的情况下,页面也能呈现出很好地内容结构、代码结构(为了裸奔时好看)。
    2.增强用户体验,例如title、alt属性用于解释名词或解释图片信息(如图,左边为title的效果,右边为alt的效果)。

    3.有利于SEO(Search Engine Optimization,搜索引擎优化),和搜索引擎(如百度、谷歌等)建立良好沟通,有助于爬虫抓取更多的有效信息。爬虫依赖于标签来确定上下文和各个关键字的权重。
    4.方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以其意义来渲染网页。
    5.便于团队开发和维护,语义化更具可读性,可以减少差异化。

    写HTML代码时应注意什么?
    1.尽可能少的使用无语义的标签div和span;
    2.在语义不明显时,既可以使用div或者p时,尽量用p, 因为p在默认情况下有上下间距,对兼容特殊终端有利;
    3.不要使用纯样式标签,如:<b>、<font>等,改用css设置。
    4.需要强调的文本,可以包含在strong或者em标签中(浏览器预设样式,能用CSS指定就不用他们),strong默认样式是加粗(不要用b),em是斜体(不用i);
    5.使用表格时,标题要用caption,表头用thead,主体部分用tbody包围,尾部用tfoot包围。表头和一般单元格要区分开,表头用th,单元格用td;
    6.表单域要用fieldset标签包起来,并用legend标签说明表单的用途;

    HTML5新增了很多语义化标签,我们来学习下常用的标签。

    1.<header>是头部,里面可以使用<hgroup>存放多个标题,在<hgroup>里可以放置多个<h1>标签。与之相对,<footer>表示页脚。

     <header>
        <hgroup>
            <h1>网站标题</h1>
            <h1>网站副标题</h1>
        </hgroup>
    </header>

    2.<nav>为导航部分。

    <nav>
        <ul>
            <li>HTML5</li>
            <li>CSS3</li>
            <li>JavaScript</li>
        </ul>
    </nav>

    3.<article>为文章,<section>为段落,<aside>为侧边栏。

    此外,还有很多语义化的标签,如:

    1.<time>定义时间和日期,以机器可读的方式对日期或时间进行编码,这样一些软件可以把用户生日或者时间自动添加到日程表中,标签不会在浏览器中呈现任何效果。

    2.<audio> 定义一个音频,<video> 定义一个视频。

    3.<small> 被包含的内容呈现小号字体。

    4.<main> 规定文章的主要内容,标签中的内容在文章中应当是唯一的,不包含在文档中重复出现的内容。(一个文档中只能有一个<main>,并且其不能是<article>,<aside>,<footer>,<header>,<nav>的后代)

    5.<q> 标记一个短的引用,<blockquote> 用来标记长的引用,定义引用块。被引用的部分前后会添加换行,并且增加外边距。

    6.<mark> 定义被标记的文本。

    7.<abbr> 标记一个缩写,在此标签的title属性中注明该缩写的全称,当鼠标指针移动到abbr元素上时,会显示该缩写的全称。

    8.<address> 定义文档或文章作者的联系信息。如果此标签位于<body>标签内部,则表示文章作者的信息;如果位于<body>标签的外部,则表示文档作者的信息。此标签内的内容将会斜体显示。

    9.<del>为删除线,<ins>为下划线。

    10.<cite> 表示所包含的文本是对某个参考文献的引用,一般为书籍、杂志、期刊或者作品的名字,被包含文本会斜体显示。

    11.<code> 定义一段代码,<dfn> 定义一个术语。

    12.<meter>和<progress>表示进度,这个在写进度条的时候会用到。

     

    13.<canvas>画布也是HTML5新出的标签,具有强大的功能。

    还有很多语义化的标签,日常需要多加积累。 

  • 相关阅读:
    Attributes in C#
    asp.net C# 时间格式大全
    UVA 10518 How Many Calls?
    UVA 10303 How Many Trees?
    UVA 991 Safe Salutations
    UVA 10862 Connect the Cable Wires
    UVA 10417 Gift Exchanging
    UVA 10229 Modular Fibonacci
    UVA 10079 Pizza Cutting
    UVA 10334 Ray Through Glasses
  • 原文地址:https://www.cnblogs.com/luoyihao/p/12210809.html
Copyright © 2011-2022 走看看