HTML知识点梳理

前言

最近学了winter老师的课程-重学前端,想一边学习课程一边梳理相关知识,重构自己的前端知识体系。

HTML相关

  • 语义化
  • HTML5
  • 清除页面缓存
  • defer和async
  • HTML链接

语义化

语义类标签是纯文字的补充,比如标题、自然段、列表等纯文字不能表达的,需要依赖语义标签。在代码中使用nav、p或者html5的新标签header、footer、section、article等就是语义化。

那么,不使用语义化,只使用div和span可以吗?

当今互联网产品中,HTML用于描述“软件界面”多过于“富文本”,而软件界面中,比如购物车功能中每个购物车里面的商品和文本中的列表,以及按钮和表单中的Button,其实已经相差很远了,

结论:支持在任何“软件界面”的场景中,直接使用div和span

语义化的优点

但是,在很多工作场景中,正确使用语义标签的好处也显而易见:

  1. 对开发者友好,便于与他人协作。使用语义标签增强了可读性,即使没有CSS,开发者也能够清晰的看出页面结构,便于团队的开发和协作。
  2. 让计算机能够快速的读懂内容,高效的处理信息,可以对搜索引擎(SEO)更友好。可以让搜索引擎爬虫更好的获取到更多有效的信息,有效提升网页的搜索量,并且语义类还可以支持读屏软件,根据文章可以自动生成目录。

爬虫下载到我们网页的 HTML 代码,搜索引擎如何更好地去理解网页的内容呢?

答:根据 HTML 既定的标签。

  • h1标签就代表是标题
  • p里面的就是段落详细内容,权重肯定没有标题高
  • ul里面就是列表
  • strong就是加粗的强调的内容

书写 HTML 时,恰当的使用语义化是非常重要的,是 W3C 辛辛苦苦制定出的标准。

不恰当的使用语义标签会产生副作用

误区:给所有的并列关系都套上ul -> 会导致大量冗余标签
正确使用:ul多数出现在行文中间,它的上文多数在提示:要列举某些项。

综上,错误的使用语义标签,会给机器阅读造成障碍、增加嵌套,给CSS编写增加负担。

态度:用对 > 不用 > 用错

重要的语义标签使用场景

  1. 自然语言表达能力的补充:ruby、rt、rp

  2. 没有该语义标签会产生歧义:em

  3. 文章标题摘要:hgroup、section+h1

  4. 适合机器阅读的整体结构:

    场景:越来越多的浏览器推出“阅读模式”,以及各种非浏览器终端的出现,语义化HTML适合机器阅读的特性变得越来越重要。

    应用了语义化结构的页面,可以明确地提示出页面信息的主次关系,它能让浏览器很好第支持“阅读视图功能”,还可以让搜索引擎的命中率提升,同时,它也对市场用户的读屏软件更友好。

    正确的使用整体结构类的语义标签:

    <body>
        <header>
            <nav>
                ……
            </nav>
        </header>
        <aside>
            <nav>
                ……
            </nav>
        </aside>
        <section>……</section>
        <section>……</section>
        <section>……</section>
        <footer>
            <address>……</address>
        </footer>
    </body>
    

    类似报纸的多文章结构适合用article组织:

    <body>
        <header>……</header>
        <article>
            <header>……</header>
            <section>……</section>
            <section>……</section>
            <section>……</section>
            <footer>……</footer>
        </article>
        <article>
            ……
        </article>
        <article>
            ……
        </article>
        <footer>
            <address></address>
        </footer>
    </body>
    

用语义类标签呈现网页

  • 侧边栏aside:属于导航性质的工具内容
  • 文章article:具有明确独立性的主体部分
  • 缩写:abbr
  • 很长的横线:CSS的border或hr
    注:hr表示故事走向的转变或者话题的转变
  • 黑体呈现:strong
  • 引述:blockquote(段落级)、q(行内)、cite(作品名)
  • 日期:time
  • 表示与主文章相关的图像、照片等流内容:figure
  • 包裹被定义的名词:dfn
  • 导航:nav
  • 内容是预先排版过的,不需要浏览器进行排版:pre
  • 计算机程序的示例输出:samp
  • 代码块:code

重要html标签补充说明

html标签

Html5中除了新标签之外增加了哪些新特性

  • 显著的性能优化 Web Worker
  • XMLHttpRequest2
  • WebSocket
  • 多线程
  • 新的DOCTYPE声明 <!DOCTYPE html>
  • 完全支持css3
  • video和audio
  • 本地存储 Web Storage
  • 高效地离线运行(离线资源、在线和离线事件、DOM存储、IndexDB、自web应用程序中使用文件[FileReader])
  • 语义化标签
  • canvas、webGL
  • HistoryAPI
  • requestAnimationFrame
  • 全屏API和指针锁定API
  • 新事件 如ondrag(拖放) onresize
  • 新的表单控件,比如 calendar、date、time、email、url、search
  • 移除了纯表现的元素,对可用性产生负面影响的元素
  • 数据属性[data-min:"0"]

如何清除页面缓存效果

浏览器缓存文件更改,样式不变如何解决:
在引入的缓存文件链接后面添加时间戳或Math.radom()

defer和async

defer:渲染完在执行
async: 下载完就执行

JS 会阻塞后续 DOM 解析以及其它资源(如 CSS,JS 或图片资源)的加载。

  1. 由于现代浏览器都存在 prefetch(DNS预解析),所以 defer, async 可能并没有太多的用途,仅仅将脚本文件放到 body 底部就可以起到很不错的优化效果。
  2. defer 和 async 都是异步加载脚本文件:
    • defer:加载后续文档元素的过程将和 script.js 的加载并行进行,但是 script.js 的执行要在所有元素解析完成之后,DOMContentLoaded 事件触发之前完成。
    • async:加载和渲染后续文档元素的过程将和 script.js 的加载与执行并行进行。
    • 差别在于脚本下载完之后何时执行,显然 defer 是最接近我们对于应用脚本加载和执行的要求的
  3. 慎用 async,因为它完全不考虑依赖关系,只要下载完后就加载,不考虑此时页面样式先后的加载顺序,不过它对于那些可以不依赖任何脚本或不被任何脚本依赖的脚本来说却是非常合适的,最典型的例子:Google Analytics。
  4. 耗时较长的脚本代码可以使用 defer 来推迟执行。


    defer和async

HTML链接

HTML链接思维导图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容