[基础知识]解释下HTML源代码中的以下几行代码作用

767 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。
——Bug修复员-鲁宽宽

背景

 近几年前端框架快速的发展(Vue、React等),它们极大地提升了前端开发效率。在此背景下加上配套的脚手架工具,使从业者直呼痛快~
作为前端的小菜鸟(梦想成为大菜鸟),在这里想和大家讨论一个前端的基础点。

请接招

 请解释下HTML源代码中的以下几行的含义。

<!DOCTYPE html>
<html dir="ltr" lang="zh-CN">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,...">
<meta name="apple-mobile-web-app-capable" conttent="yes">
<meta http-equiv="origin-trial" content="....">
body { margin:0; }

图1

 若是各位有自己的看法,还辛苦打在评论区,以便大家学习参考。
下面是一些参考答案,请查阅~

揭谜底

  • 第一行<!DOCTYPE html>

  这行代码大家应该都很熟悉,当你迈入前端这个行业时,直接或者间接的都会学习到这行代码的含义。

  参考答案:

html文件第一行代码属于文档类型(doc-type)声明。它会向浏览器传达此文件的编写类型,浏览器接解析时会首先读取此行代码,以确保用适当的方式来呈现页面。

  延伸:HTML文档声明随着浏览器体系的发展(1991-至今)也在不断的更新优化,从HTML、HTML2.0、HTML3.2、HTML4.0、到如今的HTML5。

  • 第二行<html dir="ltr" lang="en">

  这是HTML文档的根元素,告诉浏览器当前文档的语言类型及排列方向。

  参考答案:

lang属性可用于标记网页或部分网页的语言,便于SEO、搜索引擎识别等。dir属性表示文档的排列方向(ltr、rtl)。

  • 第三行:<meta charset="utf-8">

  字符集(char-set)属性告诉浏览器使用哪种字符编码,而 Twitter 使用标准的 UTF-8 编码。

  参考答案:

源代码中的元标记用于提供有关此文档的元数据。目前基本为UTF-8编码格式,浏览器引擎解析文档时依赖此标识选择合适的解码方式。

  • 第四行:<meta name="viewport" content="width=device-...>

  告诉浏览器采用哪种形式的一种呈现,如:视口大小、是否禁止主动缩放等

  参考答案:

width=device-width告诉浏览器使用 100% 的设备宽度作为视口,因此没有水平滚动,但您甚至可以为宽度指定特定的像素值。标准的最佳实践是将初始比例设置为1和宽度设置为,device-width以便人们仍然可以根据需要进行缩放。user-scalable=0,顾名思义,它禁用缩放功能

  • 第五行:<meta name="apple-mobile-web-app-capable" cont...>

  针对safari移动端的属性,是否禁止显示浏览器自带的工具栏(不过经测试发现无效)

  参考答案:

启用 WebApp 全屏模式,删除苹果默认的工具栏和菜单栏。content="yes" 不显示工具栏、no显示

  • 第六行:<meta http-equiv="origin-trial" content="..>

  参考答案:

Origin 试用版让我们可以在我们的网站上使用新的和实验性的功能,用户代理会跟踪反馈并报告给 Web 标准社区,而无需用户选择加入功能标志。

  • 第七行:body { margin:0; }

  这个应该都不陌生。

  参考答案:

因为不同的浏览器具有不同的默认样式(用户代理样式表),您希望通过重置属性来覆盖它们,以便您的网站在不同设备上看起来相同。

总结

  以上只是个人整理的小知识,若有错误可以及时回复,我会及时修正。

很开心~,又生产了一篇文章,其中最大的收获就是收集资料的过程。