iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >HTML、CSS、JavaScript是怎么变成页面的
  • 836
分享到

HTML、CSS、JavaScript是怎么变成页面的

2024-04-02 19:04:59 836人浏览 八月长安
摘要

这篇文章主要讲解了“html、CSS、javascript是怎么变成页面的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“HTML、CSS、JavaScrip

这篇文章主要讲解了“htmlCSSjavascript是怎么变成页面的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“HTML、CSS、JavaScript是怎么变成页面的”吧!

从输入HTML、CSS、JavaScript到浏览器渲染出我们预期的效果,渲染流程分为这几个子阶段:构建DOM树、样式计算、布局阶段、分层、绘制、分块、光栅化和合成。

以下面这段html举例讲解这几个过程:

//aa.html  <!DOCTYPE html>  <html lang="en">  <head>  <meta charset="UTF-8">  <title>Title</title>  <link rel="stylesheet" href="./aa.css">  </head>  <body>  <p id="p-one" style="color:red">hello</p>  <p id="p-two">hi</p>  <button id="p-three">ok</button>  </body>  <script src="https://cdn.staticfile.org/Jquery/1.10.2/jquery.min.js"></script>  <script src="./aa.js"></script>  </html>
//aa.css  #p-two {  font-size:2rem;  }
//aa.js  $("#p-three").bind("click", function() {  $("#p-three").css("color", "blue");  });

构建DOM树

因为浏览器⽆法直接理解和使⽤HTML,所以需要将HTML转换为浏览器能够理解的结构&mdash;&mdash;DOM树。

HTML、CSS、JavaScript是怎么变成页面的

样式计算

样式计算的⽬的是为了计算出DOM节点中每个元素的具体样式,分为三个步骤:

1. 把CSS转换为浏览器能够理解的结构&mdash;styleSheets

HTML、CSS、JavaScript是怎么变成页面的

2.  转换样式表中的属性值,使其标准化,如:

font-size:2em->font-size:32px  p{color:blue}->p{color:rgb(0,0,255)}  div{font-weight:bold}->div{font-weight:700}

3.计算出DOM树中每个节点的具体样式,最终输出的内容是每个DOM节点的样式,并被保存在ComputedStyle的结构内。

HTML、CSS、JavaScript是怎么变成页面的

HTML、CSS、JavaScript是怎么变成页面的

布局阶段

现在,以及有了DOM树和DOM树中元素的样式,但还不足以显示页面,因为还不知道DOM元素的几何位置信息,布局阶段就是需要计算出DOM树中元素的几何位置,包括以下几个步骤:

创建布局树

DOM树中包含很多不可见的标签,比如某个标签使用了属性"display:none"。所以在显示之前,还要额外地构建一棵只包含可见元素的布局树,浏览器创建布局树的大致流程为:遍历DOM树中所有可见节点,并加入布局树中,忽略不可见节点。

布局计算

计算每个元素的几何坐标位置,并将这些信息保存在布局树中。

小结前三个阶段:在HTML页面内容被提交给浏览器渲染引擎后,渲染引擎首先将HTML解析为浏览器可以理解的DOM;然后根据CSS样式表,计算出DOM数所有节点的样式;接着又计算每个元素的几何坐标位置,并将这些信息保存在布局树中。

分层

有了每个元素的样式和位置信息,但还是不能开始着手绘制页面,因为页面中还有很多复杂的效果,如3D变化、页面滚动等,为了实现这些效果,渲染引擎还需要为特定节点生成专门的图层,并生成一颗对应的图层树,即有些元素实际上是被分成了很多层,这些图层叠加后合成了最终的页面。只要满足下面两个条件之一的元素就会可以生成一个对应的图层:

拥有层叠上下文属性的元素会被提升为单独的一层

HTML、CSS、JavaScript是怎么变成页面的

从图中可以看出,明确定位属性的元素、定义透明属性的元素、使用CSS滤镜的元素等,都拥有层叠上下文属性。

需要裁减的地方也会被创建为图层

举例:在css中指定了一个div大width和height属性后,如果div子元素p标签的文字内容超过了widthheight大小,就会只把能在widthheight面积内能显示的内容显示出来,其他内容被裁减掉了。

图层绘制

有了图层树之后,渲染引擎会对图层树中的每个图层进行绘制。图层绘制阶段,就是输入各种绘制指令组成的列表(注意,这个阶段还不是真正地着手绘制)。

在原aa.html文件中添加代码<div style="width:300px;height:300px;background: green;">pp</div>下图中,红色区域就是绘制列表,粉色区域显示的是绘制过程,可点击任何一个绘制过程查看。

HTML、CSS、JavaScript是怎么变成页面的

分块和栅格化操作

绘制列表只是用来记录绘制顺序和绘制指令,而实际绘制操作是由渲染引擎中的合成线程来完成的。当图层的绘制列表准备好之后,主线程就会把绘制列表提交给合成线程。合成线程会将图层划分为图块,视口(就是当前窗口可见的区域)附近的图块优先生产位图,生产位图的操作实际由栅格化来执行(栅格化的具体含义可自行百度)。渲染进维护了一个栅格化线程池,所有的图块栅格化都是在线程池内执行的,该过程会使用GPU来加速,生产的位图被保存在GPU内存中。

合成和显示

当所有图块都被光栅化(栅格化)后,合成线程就会生成绘制图块的命令,然后该命令提交给浏览器进程(这里简单说下Chrome浏览器多进程架构,其将浏览器分为:渲染进程、插件进程、GPU进程和浏览器主进程,浏览器主进程包含UI模块、网络模块、文件模块等),浏览器进程将其页面内容绘制到内存中,最后再将内存内容显示在屏幕上。

至此,HTML+CSS+JavaScript就能生成我们所看见的页面了。

感谢各位的阅读,以上就是“HTML、CSS、JavaScript是怎么变成页面的”的内容了,经过本文的学习后,相信大家对HTML、CSS、JavaScript是怎么变成页面的这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: HTML、CSS、JavaScript是怎么变成页面的

本文链接: https://www.lsjlt.com/news/85280.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • HTML、CSS、JavaScript是怎么变成页面的
    这篇文章主要讲解了“HTML、CSS、JavaScript是怎么变成页面的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“HTML、CSS、JavaScrip...
    99+
    2024-04-02
  • HTML和CSS及JS是如何变成页面的
    本篇文章给大家分享的是有关HTML和CSS及JS是如何变成页面的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。我们经常写 HTML 、 CSS...
    99+
    2024-04-02
  • JavaScript中怎么插入html页面
    JavaScript中怎么插入html页面,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、在HTML中使用<script> 元素,内部直接嵌入Ja...
    99+
    2023-06-20
  • HTML/CSS怎么保留页面中的空格
    这篇文章给大家分享的是有关HTML/CSS怎么保留页面中的空格的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。HTML中的空格的规则在html中内容中的多个空格一般会被视为一个,连续的多个空格符被自动合并了。同时内...
    99+
    2023-06-08
  • 怎么在HTML页面中插入JavaScript
    今天小编给大家分享一下怎么在HTML页面中插入JavaScript的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面...
    99+
    2024-04-02
  • ASP.NET中怎么生成HTML静态页面
    ASP.NET中怎么生成HTML静态页面,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。ASP.NET模版生成HTML静态页面方案1:/// <&...
    99+
    2023-06-17
  • javascript怎么实现页面生成器
    这篇文章主要介绍“javascript怎么实现页面生成器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“javascript怎么实现页面生成器”文章能帮助大家解决问题。目标我们的目标是实现一个页面制作...
    99+
    2023-06-27
  • HTML页面中文字体的CSS怎么设置
    这篇文章主要讲解了“HTML页面中文字体的CSS怎么设置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“HTML页面中文字体的CSS怎么设置”吧!英文字体较为简单统一,容易设置。而且英文字母少...
    99+
    2023-06-26
  • word页面变成左右两页怎么调回来
    今天小编给大家分享一下word页面变成左右两页怎么调回来的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。调回来的方法:首先打开...
    99+
    2023-07-01
  • JS、CSS和HTML怎么实现注册页面
    小编给大家分享一下JS、CSS和HTML怎么实现注册页面,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!更新:使用JavaScript实现用户名和密码表单校验功能。...
    99+
    2023-06-20
  • ASP页面中怎么嵌入JavaScript或CSS
    在ASP页面中嵌入JavaScript或CSS可以通过在<head>标签内或者<body>标签内使用<...
    99+
    2024-04-03
    ASP JavaScript CSS
  • phpstorm快速生成html页面怎么实现
    phpstorm中快速生成html页面的方法:1、打开phpstorm工具;2、新建一个文件;3、最后输入一个“!”号和按下键盘【Tab】建快速生成html页面代码架构即可。具体操作步骤:打开已安装的phpstorm工具。在左侧项目列表中新...
    99+
    2024-04-02
  • HTML、CSS、JavaScript的区别是什么
    今天小编给大家分享一下HTML、CSS、JavaScript的区别是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获...
    99+
    2024-04-02
  • 怎么使用html+css实现页面书本翻页特效
    本篇内容主要讲解“怎么使用html+css实现页面书本翻页特效”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用html+css实现页面书本翻页特效”吧!效果:实现:1.定义标签,shu是书...
    99+
    2023-07-05
  • 怎么把JavaScript函数放置到HTML页面中
    这篇文章主要介绍了怎么把JavaScript函数放置到HTML页面中的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么把JavaScript函数放置到HTML页面中文章都会有所...
    99+
    2024-04-02
  • HTML+CSS怎么实现动态背景登录页面
    这篇文章给大家分享的是有关HTML+CSS怎么实现动态背景登录页面的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1. 实现背景图片的动态变换首先在HTML页面body板块中,添加图片div,代码如下:<bo...
    99+
    2023-06-08
  • php页面转html页面报错是什么原因?怎么解决?
    PHP是一种十分流行的后端编程语言,但有时我们可能需要将PHP页面转换为HTML页面。不过,当我们把PHP页面转换为HTML页面时,有时会遇到“500 Internal Server Error”或“404 Not Found”等错误。这是...
    99+
    2023-05-14
    html php
  • html子页面怎么建
    HTML子页面的建立与使用 随着互联网和网页技术的发展,越来越多的网站和应用程序需要使用子页面来组织和管理信息。HTML子页面可以使网站更加模块化和可维护,同时提供更好的用户体验。本文...
    99+
    2024-02-22
    建html子页面
  • html页面渲染过程是怎样的
    这篇文章主要介绍“html页面渲染过程是怎样的”,在日常操作中,相信很多人在html页面渲染过程是怎样的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”html页面渲染过程是怎...
    99+
    2024-04-02
  • 怎么将html转成javascript
    这篇文章主要介绍“怎么将html转成javascript”,在日常操作中,相信很多人在怎么将html转成javascript问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么将html转成javascript...
    99+
    2023-07-06
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作