从零开始学前端 - 1. HTML基础知识

作者: 她不美却常驻我心
博客地址: https://www.jianshu.com/u/6bed35ff9fe7
微信公众号:老王的前端分享
每篇文章纯属个人经验观点,如有错误疏漏欢迎指正。转载请附带作者信息及出处。

一、HTML 发展历史

       点这里查看发展历史
       互联网及HTML的发展历史,在闲暇之余当成历史故事读一读就好,没必要强迫自己背下来,但一些关键内容还是需要记住,不然将来与别人谈起,怎么好意思说自己是从事互联网相关工作的。

二、HTML 基本骨架

       如图所示,我们可以发现:一个HTML页面主要是由四个部分组成的。

[图片上传失败...(image-f050e9-1590224081500)]

1. 文档声明

       <!DOCTYPE html>是一个文档声明,它并不是 HTML标签。它为浏览器提供一个声明,告知浏览器这是一个 HTML 页面以及 HTML 的版本,避免每个浏览器以各自不同的标准来解析。
       假设一个页面并未设置该声明,那么浏览器将按照 “怪异模式” 进行解析,只有设置了该声明之后,浏览器才会按照 “标准模式” 解析网页。

注:a) 怪异模式:BackCompat ,浏览器按照自己的标准来解析渲染页面。
       b) 标准模式:CSS1Compat,浏览器按照W3C的标准来解析渲染页面。

2. html 标签

       <html></html> 标签限定了文档的开始点(<html>)和结束点(</html>),在它们之间是文档的头部和主体。在实际开发中,我们会常常看到以下几行代码:

    <html lang="en">

       这行代码向浏览器表示该页面是 HTML ,并且语言为英文的网站,其 "lang" 是 “language”的缩写,语言的意思。 “en” 表示 english ,如果你的页面如果是中文页面,可将其改为 <html lang="zh">,zh 即表示中文。

    <html xmlns="http://www.w3.org/1999/xhtml">

        xmlns 属性在 XHTML 中是必需的,但在 HTML 中不是。它的作用是告诉浏览器,当前页面按照 W3C 的 XHTML 标准。

3. head 标签

       head 标签是网页的头部,以 <head> 开始,以 </head> 结束。它是所有头部元素的容器,通过其中元素来描述了文档的各种属性和信息,包括文档的标题、在 Web 中的位置以及和其他文档的关系等。绝大多数文档头部包含的数据都不会真正作为内容显示给读者。一般来说,只有六个标签能放在 head 标签内:

3.1 title 标签

       title 标签的作用就是定义页面的标题。

3.2 meta 标签

       meta 标签一般用于定义页面的特殊信息,并不提供给用户观看。例如说页面的编码格式,目的是为了告诉浏览器解析时应该使用的编码格式,页面的关键字和描述信息,其目的是为了便于搜索引擎抓取相关信息;

       meta 标签拥有很多的属性,但在实际开发PC端网页时,我们最常用到如下所示,也就是说,我们目前只需要记住以下几个属性即可,其他的属性暂时不用费心。

    <meta charset="UTF-8">  
    <!-- 定义页面的编码格式为 UTF-8 -->
    <meta name="keywords" content="该页面的关键字">
    <!-- 定义页面的关键字 -->
    <meta name="description" content="该页面的描述信息">
    <!-- 定义页面的描述信息 -->

注: UTF-8 包含全世界所有国家需要用到的字符, GBKGB2312 主要用于汉字的编码。一般如果我们制作的网页的时候都会采用 UTF-8 的编码格式,如果打开网页出现乱码情况,基本都是因为未设定或者编码格式设置错误的问题。

3.3 style 标签

       style 标签用于定义 HTML 元素的 CSS 样式,在实际工作中,我们经常使用 link 标签引入外部的 CSS 文件,所以对该标签不需要深入研究。

3.4 link 标签

       link 标签用于引入外部 CSS 文件。

3.5 script 标签

       script 标签内填写的是 JavaScript 代码,既可以在标签内直接填写,也可以引入外部的 JavaScript 文件。

3.6 title 标签

       base 标签为页面上的所有的相对链接规定默认 URL 或默认目标。
       通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白。使用 <base> 标签可以改变这一点。浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL 来解析所有的相对 URL。这其中包括 <a> <img> <link> <form> 等标签中的 URL。
       在一个页面内,最多使用一个该标签。

4. body 标签

       在一个页面中,head 标签表示的是页面的“头部”,其中的内容大部分是不可见的。而body 标签表示的是页面的身体,其中的内容则是用户可以直接看到的内容。接下来我们要学习的其他标签,都是位于 body 标签内部的。
       例如我们创建一个 html 文档,输入以下代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>少年中国说</title>
</head>
<body>
    <h1>少年中国说</h1>
    <p>红日初升,其道大光。河出伏流,一泻汪洋。</p>
    <p>潜龙腾渊,鳞爪飞扬。乳虎啸谷,百兽震惶。</p>
    <p>鹰隼试翼,风尘翕张。奇花初胎,矞矞皇皇。</p>
    <p>干将发硎,有作其芒。天戴其苍,地履其黄。</p>
    <p>纵有千古,横有八荒。前途似海,来日方长。</p>
    <p>美哉我少年中国,与天不老!</p>
    <p>壮哉我中国少年,与国无疆!</p>
</body>
</html>

       浏览器预览效果如下所示:


在这里插入图片描述

三、HTML 注释

       被称为 HTML 注释,以 "

四、HTML 基本语法

1.空格、换行、缩进。

       HTML 只在乎标签的嵌套结构和关系。谁嵌套了谁,谁被谁嵌套了。浏览器解析 HTML 文件时,会忽略掉换换行和缩进,并不影响页面的结构。也就是说,HTML 不是依靠缩进来表示嵌套的,而是看标签的包裹关系。但是,我们发现如果有良好的缩进,代码的可读性会更强,所以要求大家在开发时要有良好的书写习惯,正确缩进代码。
       但在项目上线,发布到服务器时,考虑节约服务器的存储空间和带宽,一般都会使用代码打包工具对完成的代码进行打包,对浏览器而言标签的层次依然清晰,只不过程序员不可读了。例如说百度首页的代码:


百度首页html部分

2. 标签闭合原则

       所有标签都是放在 <> 尖括号里的,成对出现,且必须闭(开始&结束标签)。
例:<html></html>

3. 单标签

       有些特殊标签没有相对应的标签,我们一般称为单标签、自闭合标签等。
例: <br/>

4. 属性

       所有标签本身都具有一个或多个属性,写法:属性名=”属性值” 多个属性用空格隔开。
例:<meta charset="UTF-8"> charset 是属性名,UTF-8 是属性值。

5. 标签嵌套原则

       在 HTML 中所有的标签都可以相互嵌套的,但嵌套要合理,且闭合时要严格按照嵌套顺序进行闭合。

6. 注释标签不可相互嵌套。

7. 书写规范

       写标签时应该小写、属性值双引号、嵌套缩进。遵循代码清晰的原则,便于维护。

8.语义化原则

       语义化,顾名思义,就是用相对应的、有一定语义的标签来表示 HTML 的结构,且 HTML本身就是标记语言。
注:语义化的优点:
        a) 增强可读性,对开发者更友好,在没有 CSS 的情况下也能较好地呈现网页的内容结构与代码结构,便于团队的开发和维护。
        b) 有利于 SEO ,可以让搜索引擎爬虫更好地获取到更多有效信息,搜索引擎的爬虫依赖于标签来确定上下文和各个关键字的权重,有效提升网页的搜索量。
        c) 支持读屏软件,方便其他设备的解析(如屏幕阅读器、盲人阅读器等),利于无障碍阅读,提高可访问性。

五、常见浏览器及内核

图标 名称 内核
谷歌浏览器 Chrome 以前是Webkit内核,现在是Blink内核
火狐浏览器 Firefox Gecko内核,俗称Firefox内核
苹果浏览器 Safari Webkit内核
IE浏览器 IE Trident内核,也是俗称的IE内核
欧朋浏览器 Opera 最初是自己的Presto内核,后来是Webkit,现在是Blink内核
edge浏览器 最初是 EdgeHtml 内核,现在换成了 chrome 内核

        目前国内大部分浏览器均采用 IE + Chrome 双内核模式,在其基础上进行了相应的二次开发。例如说 360 浏览器QQ 浏览器等。普通兼容模式使用 Trident 内核,急速模式使用 Chrome 内核。

在这里插入图片描述

六、开发工具

1. Visual Studio Code

  微软出厂的跨平台编辑器,完全免费。加载大文件几乎秒开,运行速度很快,拥有很多插件,且查找安装方便,如果只是编写前端代码的话,其对插件依赖较小,集成的功能基本上够用。debug 功能强大,在Nodejs调试中十分方便,也是作者一直使用的前端 IDE。

2. Sublime Text

  作者本人从来没有使用过 Sublime ,所以不多加介绍。听同事的简单介绍它是一款轻量、简洁的跨平台的编辑器。支持N多种语言,很多人都偏爱它。作为web学习者,我觉得不用在编辑器的选择上太费周章,选一款你中意的就行,一般不会有团队强求所有人使用一样的 IDE。

3. HBuilder

  国人自主开发的一块编辑器,中文界面,免费且提示功能强大,支持H5项目云打包,内置 mui 的项目模板,十分适合新手使用。可惜早年使用的时候运行较大项目时卡顿严重,不知道目前的优化程度如何,后续推出的 HBuilder X 也没有使用过。

4. WebStorm

  与 Java 开发神器 IntelliJ IDEA 师出同门也被成为 Web 前端的开发神器,集成了许多强大的功能,非常丰富,基本无须安装插件,可以自动保存代码,而且可以在整个项目中搜索代码,更改文件名时,也会友好的对你提示会对那些地方造成影响。
  但是因为集成的功能过于丰富,对电脑的要求也高。配置比较低的话,打开速度慢,打开大文件的速度也不尽人意。打开多个项目的话,内存占用会大幅上升。尽管如此,也从来没有造成过什么损失,最多只是重启一下。
  所以一般电脑上安装这个编辑器(开发使用),一般还要安装一个轻量级的编辑器(打开单个文件使用)作为辅助使用。
  最重要的一点是该编辑器收费,但是网上也有很多激活码和破解版。

5. Notepad++

  超轻量级的编辑器,每个程序员的电脑里都会装的编辑器,小巧高效。


种一棵树,最好的时间是十年前,其次是现在。人的一生,总的来时就是不断学习的一生。
蚕吐丝,蜂酿蜜。人不学,不如物。与其纠结学不学,学了有没有用,不如学了再说。
等你学会了之后,你才拥有资格说“啊,这个东西学了没用。”


每篇文章纯属个人经验观点,如有错误疏漏欢迎指正。转载请附带作者信息及出处。您的评论和关注是我更新的动力!
[图片上传失败...(image-ef4ca3-1590224081500)]
请大家关注我的微信公众号,我会定期更新前端的相关技术文章,欢迎大家前来讨论学习。

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