首页 > 其他分享 >浏览器怎么渲染数据的

浏览器怎么渲染数据的

时间:2024-12-19 18:31:20浏览次数:3  
标签:浏览器 渲染 -- js html 数据 页面

突然发现自己对于css的样式规则一直都没有完全明白,今天写文好好整明白

浏览器渲染原理

1. 浏览器向服务器请求html文件

2. html文件返回浏览器

3. 浏览器解读html文件

    <!DOCTYPE html>//告诉浏览器,这是html5文件
    // html树
    <html lang="en">//语言
    <head> 
        <meta charset="UTF-8"> //这个标签定义了 HTML 文档的字符编码。
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    // 这个标签控制了网页在移动设备上的布局和缩放行为。
    // width=device-width 布局:指定了页面的宽度应该与设备的屏幕宽度相同,这样页面就不会在移动设备上显示过宽或需要用户水平滚动。
    // initial-scale=1.0 缩放:设置了页面的初始缩放级别为 100%,即不缩放。
        <title>Document</title>
        <link rel="stylesheet" href="./style.css">//请求css文件
        <script src="./index.js"></script>//请求js文件
    </head>
    <body> 
    </body>
    </html>
  • 按html5样式准备解析

  • 开始构建DOM树[可以部分解析]

    alt text
    html --> head --> link…… -->请求css文件
    在请求css文件的同时,遇见<script>,请求js文件,返回js,css文件

    - 构建CSSOM树【不可以部分解析】
    alt text

    -->继续解析html【js解析阻塞了html解析,所以一般js作为body最后一个儿子元素】 -->执行js -->DOM完成构建-->

4. 构建渲染树 -->
alt text

rules
alt text

p.s.只看这一个元素自己,先不要看它的父元素
1. 样式声明:自定义的样式或者浏览器默认样式里有的不冲突的属性
2. 样式冲突的?权重计算

  • 比较重要性 /默认还是自定义,自定义高

  • 比较特殊性 /自定义当中,计算选择器权重值
    alt text

    alt text

  • 比较源次序 /权重一样后来者居上,覆盖

  1. 也不冲突,就是单纯啥都没有,如果有可继承属性,就去找父元素看看可不可以继承
    alt text
  2. 继承也不行,就赋默认的属性

一般背景颜色默认值是rab(0,0,0,0)透明色,你看见不是透明的原因是,它透明,展示的是父辈的背景颜色

5. 节点布局【以盒子模型为单元】 -->
alt text

6. 页面渲染【以像素的形式】-->
alt text

  • 回流
    当元素属性发生改变且影响布局时(盒子大小变化,包括五要素和字体大小,粗细……),产生回流,相当于 回到节点布局,再次节点布局,页面渲染。

alt text
alt text

  • 重绘
    当元素属性发生改变且不影响布局时(背景颜色、透明度、字体样式等),产生重绘,相当于不用再次节点布局,直接回到页面渲染,重新渲染页面,动态更新内容。
    alt text

文章素材来自bilibilibilibili

标签:浏览器,渲染,--,js,html,数据,页面
From: https://www.cnblogs.com/GJ504b/p/18617763

相关文章

  • Python 解密 Navicat导出的数据库连接,Navicat数据库连接导入DBeaver。
    最近公司收到Navicat律师告知书,让停止使用Navicat,用了那么久的数据库连接工具,不得不换其他的。最终选择了开源的DBeaver。安装完DBeaver后,把Navicat导出的connections.ncx文件直接导入DBeaver。直接访问提示连接失败,因为connections.ncx文件里的密码都是加密的。如图: 网上找......
  • 图像去雾常见数据集
    近年来,随着深度学习技术的快速发展,图像去雾任务成为计算机视觉领域的重要研究方向之一。高质量的数据集是算法研究的基础,本文将介绍一些常用的图像去雾数据集,包括其特点、应用场景以及下载地址。1.RESIDE数据集RESIDE(REalisticSingleImageDEhazing)数据集是目前最常用的......
  • 前端必知必会-JavaScript 窗口 - 浏览器对象模型
    文章目录JavaScript窗口-浏览器对象模型浏览器对象模型(BOM)窗口对象窗口大小总结JavaScript窗口-浏览器对象模型浏览器对象模型(BOM)允许JavaScript与浏览器“对话”。浏览器对象模型(BOM)浏览器对象模型(BOM)没有官方标准。由于现代浏览器已经......
  • 【免费数据大屏】积木BI大屏与老版的积木大屏对比有哪些优势?
    使用我们积木大屏的朋友经常反应,积木大屏只能在线使用或者商业版与JeecgBoot低代码平台一起使用,不能免费本地使用。为此,我们研发了一款新的大屏产品---积木BI大屏。一起来看一下积木BI大屏与老的大屏设计器对比有哪些优势吧!一、免费开源最大的区别来了,新的积木BI大屏支......
  • 物理服务器在大数据处理中的具体优势
    物理服务器在大数据处理中展现出多方面的优势,这些优势使得物理服务器成为处理大数据任务的重要选择。以下是物理服务器在大数据处理中的具体优势:一、性能稳定与高效物理服务器具有独立的硬件资源,包括高性能的处理器、大容量内存和高速存储设备,能够提供稳定的性能输出。在大数......
  • 探索Bearly Code Interpreter:远程代码执行与数据交互的完美结合
    #探索BearlyCodeInterpreter:远程代码执行与数据交互的完美结合##引言随着人工智能和编程领域的快速发展,安全高效的代码执行环境变得越来越重要。这篇文章将介绍BearlyCodeInterpreter,一个允许远程执行代码的强大工具,使得如代码解释器等功能的实现更加安全可靠。我......
  • 数据结构与算法Python版 插入排序与谢尔排序
    文章目录一、插入排序二、谢尔排序一、插入排序插入排序InsertionSort插入排序维持一个已排好序的子列表,其位置始终在列表的前部,然后逐步扩大这个子列表直到全表第1趟,子列表仅包含第1个数据项,将第2个数据项作为“新项”插入到子列表的合适位置中,这样已排序的......
  • vue-canvas-创建矩形框对指定区域的点数据进行坐标变换
    demo简介读取两个csv文件(geo数据和drawing数据)绘制散点图使用矩形框选中范围内的数据(只选中drawing数据)拖动矩形框或reshape矩形框,同时,矩形框内的数据点坐标也相应变换核心代码介绍1template设置了工具栏和画布作为两个核心组件工具栏包含”绘制矩形框”,“删除矩......
  • Finereport调用python服务进行大数据量导出
    Finereport调用python服务进行大数据量导出背景:在使用finereport过程中,我们发现在数据导出这块一直是一个瓶颈,闲来无事,思索一番,想出来一种场景来应对此问题。供各位大佬参考讨论,也欢迎其他大佬提供更好的解决方案。文笔较差,大佬见谅。废话不多说,直接上代码,案例。正文:首先......
  • 《向量数据库指南》——Milvus Cloud 2.5:Sparse-BM25引领全文检索新时代
    MilvusCloudBM25:重塑全文检索的未来在最新的MilvusCloud2.5版本中,我们自豪地引入了“全新”的全文检索能力,这一创新不仅巩固了MilvusCloud在向量数据库领域的领先地位,更为用户提供了前所未有的灵活性和效率。作为大禹智库的向量数据库高级研究员,以及《向量数据库指南》的......