首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CSS(初级)笔记

涵盖内容 1.熟悉css基本语法,以及css工作原理 2.熟练使用css selector 常规选择器class,id,元素,后代,通用,了解选择器优先级 3.熟悉浮动,定位,盒模型,背景,字体,...mozilla开发者文档里是这样描述: 浏览器展现文档时候,需要把文档内容和相应样式信息结合起来展现。 浏览器先将HTML 和 CSS 转换成 DOM (文档对象模型)结构。...)可选择紧接在另一元素元素,且二者有相同父元素。...紧接在另一个元素元素,而且二者有相同元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。...以下实例选取了所有位于 元素第一个 元素: div+p { background-color:yellow; } 后续兄弟选择器 后续兄弟选择器选取所有指定元素之后相邻兄弟元素

1.1K30

【Web APIs】DOM 文档对象模型 ④ ( querySelector 函数 | querySelectorAll 函数 | NodeList 对象 )

函数 上述获取 DOM 元素函数 , 需要根据不同 CSS 选择器 , 使用不同函数 ; 一、querySelector 函数 1、querySelector 函数简介 HTML5 中 ,...DOM API 推出了新方法 querySelector 函数 , 可以该函数参数中指定 " CSS 选择器 " , 函数返回匹配该选择器第一个 DOM 元素 , 如果没有与之匹配元素 , 返回...DOM 元素 , 类型是 Element 对象 ; CSS 选择器参考 : 【CSS】CSS 总结 ① ( CSS 引入方式 | CSS 选择器 | 基础选择器 | 复合选择器 ) ★ querySelector... DOM 元素 ; // 只获取 id 为 hello 元素 ★ var element = document.querySelector('#hello'); 使用符合选择器 获取 ID 为 nav...对象会实时更新 , 如果其中 DOM 元素发生了改变 , HTMLCollection 对象会马上进行更新 ; NodeList 对象 是静态 , 查询时就确定了元素集合 , 并不会随着 DOM

6710
您找到你想要的搜索结果了吗?
是的
没有找到

浏览器工作原理

3.样式表   另一方面,样式表有着不同模型。理论上来说,应用样式表不会更改 DOM 树,因此似乎没有必要等待样式表并停止文档解析。但这涉及到一个问题,就是脚本文档解析阶段会请求样式信息。...4.2 构建渲染树流程    Firefox 中,系统会针对 DOM 更新注册展示层,作为侦听器。...  链接状态必须匹配  焦点状态必须匹配  任何元素都不应受属性选择器影响,这里所说“影响”是指在选择器任何位置有任何使用了属性选择器选择器匹配  元素中不能有任何 inline 样式属性 ...2)特异性   选择器特异性由 CSS2 规范定义如下: 如果声明来自于“style”属性,而不是带有选择器规则,则记为 1,否则记为 0 (= a)  记为选择器中 ID 属性个数 (= b) ...增量绘制中,部分呈现器发生了更改,但是不会影响整个树。更改呈现器将其屏幕上对应矩形区域设为无效,这导致 OS 将其视为一块“dirty 区域”,并生成“paint”事件。

3K40

有关网页渲染,每个前端开发者都该知道那点事

这些改变通常由以下事件触发: DOM操作(元素添加、删除、修改或者元素顺序改变); 内容变化,包括表单域内文本改变; CSS属性计算或改变; 添加或删除样式表; 更改“类”属性; 浏览器窗口操作...尽量简化和优化CSS选择器(这种优化方式几乎被使用CSS预处理器开发者统一忽视了)将嵌套程度保持最低水平。...以下是CSS选择器性能排名(从最快者开始): 识别器:#id 类:.class 标签:div 相邻兄弟选择器:a+i 父类选择器:ul>li 通用选择器:* 属性选择:input[type="text..."] 伪类和伪元素:a:hover 你应该记住,浏览器处理选择器时依照从右到左原则,因此最右端选择器应该是最快:#id或则.class: ?...如果你使用jQuery来选择元素,请遵从jQuery选择器最佳实践方案。 为了改变元素样式,修改“类”属性是奏效方法之一。

1.3K80

JavaScript是如何工作:渲染引擎和优化其性能技巧

为了更好用户体验,渲染引擎将尽可能快地屏幕上显示内容。它不会等到解析完所有 HTML 才开始构建和布局渲染树,而是解析和显示部分内容,同时继续处理来自网络其余内容项。...渲染时,需要考虑 JavaScript 代码与页面 上DOM 素交互方式。 JavaScript 可以 UI中创建大量更改,尤其是 SPA 中。...样式计算 — 这是根据匹配选择器确定哪个 CSS 规则适用于哪个元素过程。 定义规则,将应用它们并计算每个元素最终样式。...优化你 CSS 通过添加和删除元素更改属性等来修改 DOM 将使浏览器重新计算元素样式,并且许多情况下,重新计算整个页面的布局或至少部分布局。...要优化渲染,考虑以下事项: 减少选择器复杂性,与构造样式本身其他工作相比,选择器复杂性可以占用计算元素样式所需时间50%以上。 * 减少必须进行样式计算元素数量。

1.6K30

前端常见问题

important > 行内样式 > 嵌入样式/外链样式(比较同级后面会覆盖前面的)> ID选择器 > Class选择器/伪类选择器/属性选择器 > 标签选择器 > 通配符选择器 10、JS实现异步方式...diff算法主要是虚拟dom树发生改变,生成dom一种更新方式。 通过对比他们之间差异,将更新补丁直接作用在真实dom树上。以最小成本完成视图更新。...框架会将所有节点转化成vnode,发生更改将vnode和更改前oldnode比较,然后以vnode为基准,oldnode上进行更改。 原本没有新版有则添加,反之,则删除。...为了立刻获取更新DOM。 Vue中更新DOM是异步,当数据发生变化,vue会开启一个异步更新队列,队列中所有数据更新完才会更新视图。 \$nextTick就解决了这个问题。...每次组件更新时,react通过diff算法比较更新前和更新之后dom节点,找到最小有差异dom位置并更新,花费最小开销。

85010

jQuery

var domObject2 = $('div').get(0) 2.1 jQuery选择器 2.1.1 基础选择器 名称 用法 描述 ID选择器 $(’#id’) 获取指定ID元素 全选选择器 $(...’*"’) 匹配所有元素选择器 $(".class") 获取同一类class元素 标签选择器 $(“div”) 获取同一类标签所有元素 并集选择器 $(“div,p,li”) 选取多个元素 交集选择器...$s(“Ii.current”) 交集元素 2.1.2 层级选择器 名称 用法 描述 子代选择器 $(“ul>li”); 使用>号,获取亲儿子层级元素;注意,并不会获取孙子层级元素 后代选择器...$(‘li:last’) 获取最后一个li元素 :eq(index) $(“li:eq(2)”) 获取到li元素中,选择索引号为2元素,索引号index从0开始。...('属性名'); //更改 attr('属性名','属性值'); 4.1.3 数据缓存 data() 可以指定元素上存取数据,但不会修改DOM元素结构。

8.4K10

jQuery对象

链接获取元素到jQuery对象 当使用CSS选择器调用jQuery函数时,它将返回一个包含与此选择器匹配元素jQuery对象。...检查.length属性是确保选择器成功匹配一个或多个元素常用方法。 如果目标是仅选择第一个标题元素,则需要另一个步骤。有很多方法可以做到这一点,但最直接就是.eq()功能。...链接不是所有的jQuery对象都被创建=== 关于这种“包装”行为一个重要细节是每个包装对象是唯一。即使使用相同选择器创建对象或包含对完全相同DOM元素引用,这一点也是如此。...包含在jQuery对象中元素集将不会改变,除非明确修改。这意味着该集合不是“直播” - 它不会随着文档更改而自动更新。...如果文档自创建jQuery对象以来可能已经更改,那么应该通过创建一个新集合来更新该集合。它可以像重新运行同一个选择器一样简单: // Updating the selection.

1.1K10

浏览器渲染之回流重绘

绘制顺序 绘制顺序其实就是元素进入堆栈样式上下文顺序。这些堆栈会从往前绘制,因此这样顺序会影响绘制。...此过程是根据匹配选择器(例如 .headline 或 .nav > .nav__item)计算出哪些元素应用哪些 CSS 规则过程。从中知道规则之后,将应用规则并计算每个元素最终样式。 布局。...2.JS / CSS > 样式 > 绘制 > 合成 如果修改了背景图片、文字颜色或阴影等不会影响页面布局属性,则浏览器会跳过布局,但是后面的绘制以及后面的流程还是会执行。...只有元素提升为合成层,transform 和 opacity 才不会触发 paint,如果不是合成层,则其依然会触发 paint。...使用性能更高选择器,如类选择器。同时可以选择性使用 BEM(块、元素、修饰符)规范。

1.6K40

浏览器解析 CSS 样式过程

解析完成,就会生成有一个包含所有选择器、属性和属性各自值数据结构。...(2)、对于选择器中给定各个ID属性值,加 0,0,1,0,0 。 (3)、对于选择器中给定各个类属性值、属性选择器或伪类,加 0,0,0,1,0 。...子元素继承祖先元素样式根本没有特殊性,因此当出现这种情况,通配符选择器定义样式声明也要优先于子元素继承来样式声明。因为就算特殊性是0,也比没有特殊性可言要强。...现在,浏览器找到与选择器匹配所有 DOM 元素,并将得到计算样式挂载到匹配元素本例中 div 为类名为 .fancy-button: ?...然后浏览器按照文档顺序遍历较低层次堆栈上下文(本例中是“Item 2”),并开始按照上面的规则绘制该元素。 ?

1.6K00

像素是怎样练成

「CSS选择器用于选择DOM元素子集,以对其添加指定属性声明」。 ❝处理CSS样式时,浏览器会解析CSS文件或内联样式,并将样式规则应用于DOM树中相应元素。...CSS选择器用于选择要应用样式目标元素选择器可以根据元素标签名、类名、ID、属性等进行匹配,以确定应用哪些样式规则。 ❞ 这里多啰嗦几句,CSS重点概念精讲中我们介绍过,选择器。...」选择元素选择器 后代选择器 选择「所有」合乎规则后代元素 「空格」链接 相邻后代选择器 仅仅选择合乎规则「儿子元素」 孙子,重孙子元素忽略 >链接 兄弟选择器 选择当前元素后面的「所有」合乎规则...第二个规则选择具有类名为 my-class 元素,并将其字体大小设置为16像素。 ❝应用CSS样式时,浏览器会「遍历DOM树,匹配元素选择器,并将相应样式属性应用于匹配元素」。...❝绘制顺序是按照「层叠顺序」,而不是DOM顺序 ❞ 可以看到,虽然yellowDOM顺序greenDOM之前,但是绘制到页面上时,yellowgreen上面。

23020

全网最新、最全jQuery核心知识,你真的不想点开看看嘛?

$("标签名称") 9.2 所有选择器 所有选择器:选取页面中所有的DOM对象 $("*") 9.3 组合选择器 组合选择器是多个被选中对象间使用逗号隔开形成选择器,可以组合 id、class、标签名等...DOM 对象顺序与页面标签声明位置关系 jQuery对象数组中dom对象顺序和声明dom对象时顺序保持一致 1 dom1 2 dom2 3</div...定位了dom对象之后,根据一些条件筛选dom对象。 过滤器也是一个字符串,用来筛选dom对象。 过滤器不能单独使用,必须和选择器一起使用。...注意:代码中等标签不会在页面中显示,而是会在页面中执行,但是获取文本内容中含有这个 $(选择器).html():无参数调用方法,获取 DOM 数组第一个dom对象在网页上显示文本内容。...$(选择器).html(值):有参数调用,用于设置 DOM 数组中所有元素在网页上显示文本内容。

5.8K10

2020最新前端面试题_2020年前端面试题

当你修改了data值然后马上获取这个dom元素值, 是不能获取到更新值,你需要使用$nextTick这个回调, 让修改data值渲染更新dom元素之后获取,才能成功。...销毁前/执行destroy方法,对data改变不会再触发周期函数, 说明此时vue实例已经解除了事件监听以及和dom绑定,但是dom结构依然存在。 35、vuex是什么?...常用CSS选择器 ID选择器、类选择器、标签选择器、属性选择器、伪类选择器、后代选择器 权重划分 同一层级下: !...defer是html解析完毕才执行,如果有多个则按加载顺序执行 async是加载完毕立即执行,如果是多个,执行顺序与加载顺序无关 4、预加载? 开发中,可能会遇到这样情况。...JQuery 优点 1.利用css选择器提供高速元素查找行为。 2.提供了一个抽象层来标准化各种常见任务,可以解决各种浏览器兼容问题。

6.6K10

jQuery 快速入门教程

} ); jQueryready()函数可以重复调用,绑定回调函数将在DOM准备就绪按照绑定顺序依次执行。...使用jQuery 选择器选取元素,并封装为jQuery对象 JS原生DOM中,我们想要对DOM元素进行操作,首先得获取到对应元素(getElementById()、getElementsByTagName...几乎所有的CSS选择器都可以当做jQuery选择器来使用,只要CSS选择器对哪些元素生效,对应jQuery选择器就可以选取到哪些元素。...当我们使用$("选择器字符串")匹配到指定元素,将返回一个jQuery对象。该对象就包含匹配到所有DOM元素。...属性操作 jQuery中,对DOM元素进行属性操作,主要是通过以下方法实现: // selector 表示具体选择器 $("selector").val(); // 获取第一个匹配元素value

13.6K30

文章页面目录自动生成方案

遍历DOM方法应该与DOM渲染从上到下顺序一致,即采用深度优先先序遍历方法(先序遍历即先检查根元素,再检查子元素;后序遍历则相反;如果是二叉树,还有中序遍历)。...在所有页面中,并不能单纯根据h1,h2等标签名来判别一个元素是否要导航,所以想到了用选择器来确定,同时添加根据选择器来排除一些例外元素。...'h1',下标为1元素是第二级导航,通常可以用选择器'h2'; 一个字符串exceptSelector,用于排除例外元素选择器; 一个回调函数callback,用于接收生成导航树形数据。...3、生成树形导航数据函数 通过传入导航元素DOM根节点、导航元素选择器列表、导航元素排除选择器,返回一个树形数据列表list。...__navigationGenerateFunction } } } 需要注意是,我们模板更新完成时插入锚点元素,而这本身又是会触发模板更新,所以需要打个标记避死循环。

1.3K10

Web APIs第一天

获取DOM元素 1. 根据CSS选择器来获取DOM元素 (重点) 选择匹配第一个元素 包含一个或多个有效CSS选择器 字符串 CSS选择器匹配第一个元素,一个 HTMLElement对象。...let num = document.querySelector('.box li:last-child') console.log(num) 选择匹配多个元素 包含一个或多个有效CSS选择器 字符串...CSS选择器匹配NodeList 对象集合 let num = document.querySelectorAll('.box li') console.log(num) 获取一个DOM元素我们使用谁...根据CSS选择器来获取DOM元素 (重点) // 通过遍历方式 获取每一个dom对象/元素 let num1 = document.querySelectorAll('.box li') for (let...里面写css选择器, 必须是字符串,也就是必须加引号 6. 设置/修改DOM元素内容 DOM对象都是根据标签生成,所以操作标签,本质上就是操作DOM对象, 就是操作对象使用点语法。

1.7K30

前端入门系列之CSS

DOM计算机内存中表示文档。它把文档内容和其样式结合在一起。 浏览器显示 DOM 内容。 ? ---- DOM是什么 HTML DOM 是关于如何获取、修改、添加或删除 HTML 元素标准。...重要提示:使用通用选择时小心。因为它适用于所有的元素大型网页利用它可能对性能有明显影响:网页可能显示比预期要慢。大多数情况下,你都不会使用这个选择器。...什么选择器层叠中胜出取决于三个因素(这些都是按重量级顺序排列——前面的一种会否决一种): 重要性(Importance) 专用性(Specificity) 源代码次序(Source order)...实际上,这三种情况都应该应用,因为顺序后面的规则通常会覆盖较早规则。 然而, 在前面的规则被运用了,因为 IDs/class 选择器优先于element选择器。...相互冲突声明将按以下顺序适用,一种将覆盖先前声明: 在用户代理样式表声明 (浏览器默认样式). 用户样式表中普通声明(由用户设置自定义样式)。

2.6K10

如何整理自己前端面试题库_2023-02-28

图片 回答有何不同之前,首先需要说明下什么是 diff 算法。 diff 算法是指生成更新补丁方式,主要应用于虚拟 DOM 树变化更新真实 DOM。...(3)减少使用@import,建议使用link,因为后者页面加载时一起加载,前者是等待页面加载完成之后再进行加载。 选择器性能: (1)关键选择器(key selector)。...选择器最后面的部分为关键选择器(即用来匹配目标元素部分)。CSS选择符是从右到左进行匹配。...当使用后代选择器时候,浏览器会遍历所有子元素来确定是否是指定元素等等; (2)如果规则拥有ID选择器作为其关键选择器,则不要为规则增加标签。...(5)尽量少去使用后代选择器,降低选择器权重值。后代选择器开销是最高,尽量将选择器深度降到最低,最高不要超过三层,更多使用类来关联每一个标签元素

1.3K50

画了20张图,详解浏览器渲染引擎工作原理

这里查找过程中,出于效率考虑,会从 CSSOM 树叶子节点开始查找,对应在 CSS 选择器上也就是从选择器最右侧向左查找。所以,不建议使用标签选择器和通配符选择器来定义元素样式。...当一个 DOM 元素受到多条样式控制时,样式优先级顺序如下:「内联样式 > ID选择器 > 类选择器 > 标签选择器 > 通用选择器 > 继承样式 > 浏览器默认样式」 CSS常见选择器优先级如下:...div 1 伪元素选择器 li:after 1 相邻兄弟选择器 h1+p 0 子选择器 ul>li 0 后代选择器 li a 0 通配符选择器 * 0 对于选择器「优先级」: 标签选择器、伪元素选择器...当有了所有元素大小和位置,就可以浏览器页面区域里去绘制元素边框了。这个过程就是布局。...「注意:」 当定位元素z-index:auto,生成盒在当前层叠上下文中层级为 0,不会建立新层叠上下文,除非是根元素。 「(2)需要裁剪元素」 什么是裁剪呢?

1.8K20
领券