【青训营】- HTML基础

HTML的概述

HTML的概念:

什么是HTML?

HTML 全称为 HyperText Markup Language,译为超文本标记语言
HTML 不是一种编程语言,是一种描述性的标记语言它的作用是:负责描述文档语义的语言。

HTML是负责描述文档语义的语言

HTML 格式的文件是一个纯本文文件(就是用txt文件改名而成),用一些标签来描述语义,这些标签在浏览器页面上是无法直观看到的,所以称之为“超文本标记语言”。

接下来,我们需要学习 HTML 中的很多“标签对”,这些“标签对”能够给文本不同的语义。

比如,面试的时候问你,<h1> 标签有什么作用?

  • 正确答案:给文本增加主标题的语义。
  • 错误答案:给文字加粗、加黑、变大。

HTML的结构

我们来看一个简单的html结构

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
  <div></div>
  </body>
</html>
复制代码

可以看出,HTML标签通常是成对出现的(双边标记),比如 <div></div>,但也有少部分单标签(单边标记),如:<br /><hr /><img src="https://juejin.cn/post/images/1.jpg" />等。

  1. <!DOCTYPE html>

DOCTYPE标签是一种标准通用标记语言的文档类型声明,它的目的是要告诉标准通用标记语言解析器;

  1. <html></html>:

页面中最大的标签,我们称为根标签,它包裹着整个文档

  1. <head></head>

head 元素是所有头部元素的容器。位于 内部的元素可以包含脚本、指引浏览器找到样式表、提供元信息,等等。

  • title:指定整个网页的标题,在浏览器最上方显示,它有助于SEO搜索引擎优化。
  • meta:提供有关页面的基本信息,上面的示例中charset就是告诉浏览器编码方式,是必须要写的代码,否则可能导致乱码。比如你保存的时候,meta写的和声明的不匹配,那么浏览器就是乱码。
  • link:引入外部资源,如css
  1. <body></body>

body

面试常考:“常见的行内元素有哪些?” 或 “常见的块级元素有哪些?”

答:常见的行内元素有:span, a, strong, em, br, label, i, font …,常见的块级元素有:div, p, ul, ol, form, h1-h6…

语义化标签

HTML5提供了新的语义元素来定义网页的不同部分,有利于我们构建目前主流的网页布局,如图:

image.png

  1. <header>
  • 展现介绍性信息
  • 通常包含一组介绍性或是辅助导航的元素,如标题、Logo、导航栏、搜索框、作者名称等
  • 不能放在<footer><address>或者另一个<header>元素内部
  1. <nav>
  • 在当前文档或其他文档中提供导航链接,如菜单、目录、索引等
  • 用来放置一些热门的链接,不常用的链接通常放到footer里置于底部
  1. <main>
  • 定义页面的主要内容,一个页面只能使用一次。
  • 如果是web应用,则包围其主要功能。
  1. <article>
  • 定义页面独立的内容
  • 专注于单个主题的博客文章,报纸文章或网页文章
  • article可以嵌套article,只要里面的article与外面的是部分与整体的关系。
  1. <section>
  • 定义文档中的节(section)
  • 比如章节、页眉、页脚或文档中的其他部分。
  1. <aside>
  • 表示一个和其余页面内容几乎无关的部分,或者说单独拆出来不会影响整体的内容
  • 通常放在侧边栏,用于展示广告、tips、引用内容,相关阅读,推荐视频等
  1. <footer>
  • 定义文档的底部区域,通常包含文档的作者,著作权信息,链接的使用条款,联系信息等

HTML解析

浏览器请求得到资源文件(html、css、js)后,将他们渲染到浏览器屏幕上的这个过程,叫做关键渲染路径,优化这个过程则能大大提高性能

  1. 构建DOM树
  • 渲染引擎会从上而下解析HTML文档并把标签转换成内容树中的DOM节点。
  1. 构建CSSOM树
  • 浏览器根据style元素和外部css文件解析样式数据构建CSSOM树
  1. 构建Render树
  • 将DOM树和CSSOM树合并成一个Render树
  1. 计算布局
  • 根据渲染树来布局(Layout),以计算每个节点的几何信息
  1. 绘制
    1. 将各个节点绘制到屏幕上。

经典面试题

浏览器从输入url到页面展示发生了什么?

1. 解析url
2. 根据dns查找ip
3. 建立tcp连接(三次握手)
4. 发送http请求,查找缓存(强缓存与协商缓存)
5. 断开TCP连接(四次挥手)
6. 解析资源
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享