CSS 的工作原理

我们已经学习了CSS的基础知识,它的用途以及如何编写简单的样式表。在本课中,我们将了解浏览器如何获取 CSS 和 HTML 并将其转换为网页。

先决条件:已安装基本软件,了解处理文件的基本知识以及 HTML 基础知识(学习 HTML 简介。
目的:要了解浏览器如何解析 CSS 和 HTML 的基础知识, 以及当浏览器遇到它无法理解的CSS时会发生什么。

CSS实际上是如何工作的?

当浏览器显示文档时,它必须将文档的内容与其样式信息相结合。它分多个阶段处理文档,我们在下面列出了这些阶段。请记住,这是浏览器加载网页时发生的情况的非常简化的版本,并且不同的浏览器将以不同的方式处理该过程。但这大致是发生的事情。

  1. 浏览器加载 HTML(例如,从网络接收它)。
  2. 它将 HTML 转换为 DOM(文档对象模型)。DOM 表示计算机内存中的文档。DOM 将在下一节中更详细地解释。
  3. 然后,浏览器会获取 HTML 文档链接到的大部分资源,例如嵌入的图像、视频,甚至链接的 CSS!JavaScript 在此过程中稍后会进行处理,为了简单起见,我们不会在这里讨论它。
  4. 浏览器解析获取的 CSS,并根据其选择器类型将不同的规则排序到不同的“桶”中,例如元素、类、ID 等。根据它找到的选择器,它确定哪些规则应该应用于 DOM 中的哪些节点,并根据需要为它们附加样式(这个中间步骤称为渲染树)。
  5. 渲染树在应用规则后,将布局在它应该出现的结构中。
  6. 页面的视觉显示显示在屏幕上(此阶段称为绘画)。

下图还提供了该过程的简单视图。

关于 DOM

DOM 具有树状结构。标记语言中的每个元素、属性和文本片段都成为树结构中的一个 DOM 节点。这些节点由它们与其他 DOM 节点的关系定义。有些元素是子节点的父节点,而子节点有同级元素。

理解 DOM 有助于你设计、调试和维护你的 CSS,因为 DOM 是你的 CSS 和文档内容相遇的地方。当您开始使用浏览器 DevTools 时,您将在选择项目时导航 DOM,以查看哪些规则适用。

真实的 DOM 表示

与其进行冗长、无聊的解释,不如让我们看一个例子,看看一个真实的HTML片段是如何被转换为DOM的。

采用以下 HTML 代码&

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/389216.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

总线①I2C

很久以前就听说总线这个词了,一直不懂,所以觉得很牛叉。。。这次有机会学习,就干脆一起看看吧。 1 环境介绍 说实话,计算机的学习最好还是有个环境,裸学真的要难一些。这次搭的环境总的来说还是用之前的树莓派Pico搭配…

标题:组合式API:优化Vue代码结构的艺术

摘要: 在Vue 3中,引入了组合式API,它提供了一种新的方式来组织组件逻辑。虽然组合式API带来了更高的灵活性和可维护性,但开发者也面临着代码组织和可读性的挑战。本文将探讨如何有效地利用组合式API,优化Vue代码结构&a…

gpio的使用,---->使用sysfs 控制gpio(第二节)

目的: 在 linux 文件系统上使用 sysfs 来控制 ,gpio的高低的变化。 逻辑;我只在 内核中是能 gpio 的pinctr&#xff4…

FPGA开发——状态机的使用

一、概述 我们在使用FPGA进行开发的过程当中,实现一个东西用得最多的实现方法就是状态机的实现方法,用一句话总结就是万物皆可状态机,这和我们在学习Linux时常说的在Linux中万物都是文件差不多,这里就主要就是突出状态机的应用范…

使用模版完成不同数据类型的数组的选择排序

目录 6.模版(167-263) 6.1函数模板 6.1.1函数模版注意事项 6.1.2函数模版案例--选择排序 1. 比较排序的基本概念 2. 决策树 3. 决策树的深度 4. 结论 5.选择排序示例: 6.模版(167-263) (项目先跳过) 模板不能直接使用,它只是一个框架. 模板不是万能的. 6.1函数模板…

JNPF全新V5.0版本!重磅升级——APP篇

尊敬的JNPF用户们: 我们非常高兴地宣布,经过团队数月的辛勤努力和不断的技术创新,JNPF快速开发平台终于迎来了里程碑式的全新升级——V5.0版本!这一版本的更新发布,不仅代表着我们技术实力的进一步提升,是…

Office Tool Plus部署、激活

1、下载安装,安装图片红色数字操作步骤 2、安装完成,激活,点击新手教程 找到相关教程 复制链接,在Office Tool Plus激活

Prometheus 监控 Nginx

作者:琉璃 一、Nginx_exporter安装 下载链接: https://github.com/discordianfish/nginx_exporter 下载nginx_exporter的docker镜像。 ocker pull fish/nginx-exporter先run一下,执行之后,会hold住,先不要关闭窗口…

THS6011容器版docker使用说明(by why+lqw)

THS6011容器版有分x86和arrch64两种安装包,主要是针对ths节点,本身并没有控制台的安装包,请根据自己的系统的cpu架构进行选择,本次使用的是x86的安装包作为演示。 下图是arrch64的镜像(PDMP-4980)&#xf…

Codeforces Round 962 (Div. 3)

前言 势必要拿下的一场比赛,最后结果也算如愿。 Standings:300 重新回到蓝名了,也完成了之前 “ 早日在比赛切掉 6 题 ” 的期望。 题目链接:Dashboard - Codeforces Round 962 (Div. 3) - Codeforces A. Legs 第一次在第一分钟就…

Segment Anything Model 2:使用Ultralytics框架进行SAM2图像分割

Segment Anything Model 2:使用Ultralytics框架进行SAM2图像分割 前言相关介绍前提条件实验环境安装环境项目地址LinuxWindows 使用Ultralytics框架进行SAM2图像分割参考文献 前言 由于本人水平有限,难免出现错漏,敬请批评改正。更多精彩内容…

Vue进阶之Vue无代码可视化项目(九)

Vue无代码可视化项目—补充内容 背景介绍、方案设计Canvas Table创建一个新的vue项目普通表格的效果Canvas上手Canvas画表格-画基本表格CanvasTable处理事件系统CanvasTable表格滚动Vue组件封装思想拖拽组件 —smooth-dndDndDemo1.vueDndContainer.jsCanvasTable封装CanvasTabl…

运维工作中的事件、故障排查处理思路

一、运维工作中的事件 https://www.51cto.com/article/687753.html 二、运维故障排查 一)故障排查步骤 1、明确故障 故障现象的直接表现故障发生的时间、频率故障发生影响哪些系统故障发生是否有明确的触发条件   故障举例:无法通过ssh登录系统 影响…

nginx 离线版本升级-停机

1. 最新版本下载 地址:https://nginx.org/en/download.html 2. 查看当前安装信息: which nginx (我获取的地址为/usr/local/nginx,之后用nginx-path代替) 2. 备份nginx执行文件 cp nginx-path/sbin/nginx nginx-path/sbin/nginx.bak …

redis的性能管理、主从复制和哨兵模式

redis的性能管理、主从复制和哨兵模式 一、redis的性能管理 redis的数据时缓存在内存中的 查看系统内存情况 info memory used_memory:853688 redis中数据占用的内存 used_memory_rss:10522624 redis向操作系统申请的内存 used_memory_peak:853688 redis使用内存的峰值 …

你看不上的“垃圾”——别人的赚钱“利器”

首先说一点,你认为是常识性的东西,也许还有4亿中国人不知道。 其次,你认为是遍地都有的、你看不上的、你瞧不起的这些“破烂玩意”,别人也许正拿来赚钱! 不可思议吧,事实就是如此。 我在老家,…

word打印---doc转html后进行打印,window.print、print-js、vue-print-nb

提示&#xff1a;word预览方式—插件 文章目录 [TOC](文章目录) 前言一、vue-office-docx把docx转换html二、调取window.print三、print-js四、vue-print-nb总结 前言 word预览 一、vue-office-docx把docx转换html npm install vue-office-docx -S-DofficeDocx.vue <templ…

Python爬虫知识体系-----Selenium

数据科学、数据分析、人工智能必备知识汇总-----Python爬虫-----持续更新&#xff1a;https://blog.csdn.net/grd_java/article/details/140574349 文章目录 一、安装和基本使用二、元素定位三、访问元素信息四、自动化交互五、PhantomJS六、Chrome headless 一、安装和基本使用…

html+css 实现左平移背景按钮

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享htmlcss 绚丽效果&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 文…

计网面试题

OSI七层模型 物理层&#xff0c;数据链路层&#xff0c;网络层&#xff0c;传输层&#xff0c;会话层&#xff0c;表示层&#xff0c;应用层 应用层&#xff08;Application Layer&#xff09;&#xff1a;这是网络体系结构中的最顶层&#xff0c;提供用户接口和应用程序之间的…