八股文-html

八股文-html
Xxcy欢迎阅读 html 八股文
📌 html
1.1 <script> 标签中 defer 和 async 的区别
普通 script
会阻碍 HTML 的解析,只有在下载并执行完脚本后,HTML 才会继续解析。async script
- 在解析 HTML 的同时异步下载脚本。
- 一旦下载完成会立即执行,可能会打断 HTML 的解析。
- 脚本执行顺序不一定按照书写顺序。
defer script
- 脚本异步下载,但不会阻塞 HTML 的解析。
- 等 HTML 解析完成后再执行脚本。
- 脚本会按照书写顺序依次执行。
1.2 从浏览器地址栏输入 URL 到请求返回发生了什么
当我们在浏览器地址栏输入一个 URL 并回车时,大致会经历以下几个阶段:
1. 解析 URL
- 浏览器解析出 协议、主机、端口、路径 等信息。
- 构造一个 HTTP 请求。
2. 缓存策略
3. DNS 域名解析
- 将域名解析为对应的 IP 地址。
4. 建立 TCP 连接
- 通过三次握手建立可靠的传输通道。
- 为什么需要三次握手,两次不行吗?
- 第一次握手:客户端确认自己的 发送能力。
- 第二次握手:服务端确认自己的 接收能力和发送能力。
- 第三次握手:客户端确认自己的 接收能力。
5. 发送 HTTP 请求
- 浏览器向服务器发送 HTTP 报文(包括请求行、请求头、请求体等)。
6. 服务器处理请求并返回响应
- 服务器处理请求逻辑,生成响应报文并返回给客户端。
- 响应包含:状态码、响应头、响应体等。
7. 浏览器渲染页面
- 解析 HTML,构建 DOM 树。
- 解析 CSS,生成 CSSOM。
- 合并 DOM 与 CSSOM,生成渲染树。
- 布局(Layout):计算元素位置和大小。
- 绘制(Paint):将像素绘制到屏幕上。
- 执行 JS 脚本,处理事件循环,可能引发 重绘/回流。
👉 总结:
输入 URL → 解析 URL → 检查缓存 → DNS 解析 → TCP 三次握手 → HTTP 请求 → 服务器响应 → 浏览器渲染。
1.3 什么是 DOCTYPE, 有何作用?
- Doctype是HTML5的文档声明,通过它可以告诉浏览器,使用哪一个HTML版本标准解析文档。在浏览器发展的过程中,HTML出现过很多版本,不同的版本之间格式书写上略有差异。如果没有事先告诉浏览器,那么浏览器就不知道文档解析标准是什么?此时,大部分浏览器将开启最大兼容模式来解析网页,我们一般称为怪异模式,这不仅会降低解析效率,而且会在解析过程中产生一些难以预知的bug,所以文档声明是必须的。
1.4 说说对 html 语义化的理解
- HTML标签的语义化,简单来说,就是用正确的标签做正确的事情,给某块内容用上一个最恰当最合适的标签,使页面有良好的结构,页面元素有含义,无论是谁都能看懂这块内容是什么。
语义化的优点如下:- 在没有CSS样式情况下也能够让页面呈现出清晰的结构
- 有利于SEO和搜索引擎建立良好的沟通,有助于爬虫抓取更多的有效信息,爬虫是依赖于标签来确定上下文和各个关键字的权重
- 方便团队开发和维护,语义化更具可读性,遵循W3C标准的团队都遵循这个标准,可以减少差异化
1.5 前端页面有哪三层构成,分别是什么
构成:结构层、表示层、行为层
- 结构层(structural layer)
结构层类似于盖房子需要打地基以及房子的悬梁框架,它是由HTML超文本标记语言来创建的,也就是页面中的各种标签,在结构层中保存了用户可以看到的所有内容,比如说:一段文字、一张图片、一段视频等等 - 表示层(presentation layer)
表示层是由CSS负责创建,它的作用是如何显示有关内容,学名:层叠样式表,也就相当于装修房子,看你要什么风格的,田园的、中式的、地中海的,总之CSS都能办妥 - 行为层(behaviorlayer)
行为层表示网页内容跟用户之间产生交互性,简单来说就是用户操作了网页,网页给用户一个反馈,这是JavaScript和DOM主宰的领域 。
1.6 什么是严格模式与混杂模式
- 严格模式:是以浏览器支持的最高标准运行
- 混杂模式:页面以宽松向下兼容的方式显示,模拟老式浏览器的行为
1.7 对于Web标准以及W3C的理解
- Web标准简单来说可以分为结构、表现、行为。其中结构是由HTML各种标签组成,简单来说就是body里面写入标签是为了页面的结构。表现指的是CSS层叠样式表,通过CSS可以让我们的页面结构标签更具美感。行为指的是页面和用户具有一定的交互,这部分主要由JS组成
- W3C,全称:world wide web consortium是一个制定各种标准的非盈利性组织,也叫万维网联盟,标准包括HTML、CSS、ECMAScript等等,web标准的制定有很多好处,比如说:
- 可以统一开发流程,统一使用标准化开发工具(VSCode、WebStorm、Sublime),方便多人协作
- 学习成本降低,只需要学习标准就行,否则就要学习各个浏览器厂商标准
- 跨平台,方便迁移都不同设备
- 降低代码维护成本
1.8 行级元素和块级元素分别有哪些及怎么转换
常见的块级元素:p、div、form、ul、li、ol、table、h1、h2、h3、h4、h5、h6、dl、dt、dd
常见的行级元素:span、a、img、button、input、select
- 块级元素:
- 总是在新行上开始,就是每个块级元素独占一行,默认从上到下排列
- 宽度缺少时是它的容器的100%,除非设置一个宽度
- 高度、行高以及外边距和内边距都是可以设置的
- 块级元素可以容纳其它行级元素和块级元素
- 行内元素:
- 和其它元素都会在一行显示
- 高、行高以及外边距和内边距可以设置
- 宽度就是文字或者图片的宽度,不能改变
- 行级元素只能容纳文本或者其它行内元素
- 使用行内元素需要注意的是:
- 行内元素设置宽度width无效
- 行内元素设置height无效,但是可以通过line-height来设置
- 设置margin只有左右有效,上下无效
- 设置padding只有左右有效,上下无效
- 可以通过display属性对行内元素和块级元素进行切换:将行内元素转换为块级元素(display:block;),将块级元素转换为行内元素(display:inline;),以及将元素转换为行内块级元素(display:inline-block;)
1.9 H5有哪些新元素和新特性
HTML5主要是关于图像、位置、存储、多任务等功能的增加:
- 语义化标签,如:article、footer、header、nav等
- 视频video、音频audio
- 画布canvas
- 表单控件,calemdar、date、time、email
- 地理
- 本地离线存储,localStorage长期存储数据,浏览器关闭后数据不丢失,sessionStorage的数据在浏览器关闭后自动删除
- 拖拽释放
1.10 如何使用HTML5中的Canvas元素绘制图形?
1 | <canvas id="myCanvas" width="200" height="200"></canvas> |
在这个示例中,使用 document.getElementById() 方法获取 Canvas 元素,并通过 getContext(“2d”) 获取2D绘图上下文。 然后,使用 fillStyle 属性设置填充颜色,fillRect() 方法绘制一个矩形。
1.11 iframe的作用以及优缺点
优点
- 可以在页面上独立显示一个页面或者内容,不会与页面其他元素产生冲突。
- 可以在多个页面中重用同一个页面或者内容,可以减少代码的冗余。
- 加载是异步的,页面可以在不等待 iframe 加载完成的情况下进行展示。
- 方便地实现跨域访问
缺点
- 搜索引擎可能无法正确解析 iframe 中的内容
- 会阻塞主页面的 onload 事件
- 和主页面共享连接池,影响页面并行加载
1.11 meta viewport 是做什么用的,怎么写?
Viewport,适配移动端,可以控制视口的大小和比例:1
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
其中,content 参数有以下几种:
- width viewport :宽度(数值/device-width)
- height viewport :高度(数值/device-height)
- initial-scale :初始缩放比例
- maximum-scale :最大缩放比例
- minimum-scale :最小缩放比例
- user-scalable :是否允许用户缩放(yes/no)
1.12 src、href 、url 之间的区别
1、含义
- src 引用资源替代当前元素,在img、script、iframe中使用
- href 是超文本引用,指向网络资源所在位置,建立和当前元素或者锚点或者当前文档之间的链接
- url 是统一资源
2、区别 - a、link标签使用 href, href用于在涉及的文档和外部资源之间建立一个关系 ,href 指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的联系
- img、script、iframe标签使用src, 在可替换的元素上使用src ,在请求 src 资源时会将其指向的资源下载并应用到文档中,比如 JavaScript 脚本,img 图片
- url 是统一资源定位符,一般来说,对于同一服务器上的文件,应该总是使用相对url用于资源定位
评论
匿名评论隐私政策
Twikoo Valine
✅ 你无需删除空行,直接评论以获取最佳展示效果


