CSS中优先级和Stacking Context等高级特性是什么

发布时间:2020-10-12 14:38:27 作者:小新
来源:亿速云 阅读:236

这篇文章将为大家详细讲解有关CSS中优先级和Stacking Context等高级特性是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

CSS 优先级

优先级是浏览器是通过判断哪些属性值与元素最相关以决定并应用到该元素上的。优先级仅由选择器组成的匹配规则决定的。如果给一个P标签增加一个类(Class),运行后Class 中的部分属性并未发生改变,及CSS选择器存在优先级问题。

选择符优先级

常见的选择器种类:

每一类选择器的权值不相同,各选择器的优先级是由权值决定的,

CSS中优先级和Stacking Context等高级特性是什么

来源优先级顺序,如图所示

CSS中优先级和Stacking Context等高级特性是什么

CSS中优先级和Stacking Context等高级特性是什么

样式系统从最右边的选择符开始向左进行匹配规则。只要当前选择符的左边还有其他选择符,样式系统就会继续向左移动,直到找到和规则匹配的元素,或者因为不匹配而退出。

CSS 优先级法则:

  1. 选择器都有一个权值,权值越大越优先;
  2. 当权值相等时,后出现的样式表设置要优于先出现的样式表设置;
  3. 创作者的规则高于浏览者:即网页编写者设置的CSS 样式的优先权高于浏览器所设置的样式;
  4. 继承的CSS 样式不如后来指定的CSS 样式;
  5. 在同一组属性设置中标有“!important”规则的优先级最大;

CSS常用模型

盒子模型(Box Model)就是在网页设计中经常用到的CSS技术所使用的一种思维模型。

CSS中优先级和Stacking Context等高级特性是什么

盒子模型相关CSS属性元素内容(element content)、宽度及高度(Width/Height)、内边距(padding)、边框(border) 和 外边距(margin) 。

在 CSS 中,width 和 height 指的是内容区域(element)的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸。假设框的每个边上有 10 个像素的外边距和 5 个像素的内边距。如果希望这个元素框达到 100 个像素,就需要将内容的宽度设置为 70 像素。需要的属性如下:

基本属性

所有东西可视为盒子模型

CSS中优先级和Stacking Context等高级特性是什么

纵向Margin合并

如果<p>的纵向margin是12px,那么两个<p>之间纵向的距离是多少?按常理来说应该是 12 + 12= 24px,但是答案仍然是 12px。因为纵向的margin是会重叠的,大的会覆盖下的。

CSS中优先级和Stacking Context等高级特性是什么

Position属性规定元素的定位类型。这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移。以下是Posistion属性取值范围如下:

CSS中优先级和Stacking Context等高级特性是什么

Float属性

float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。

CSS中优先级和Stacking Context等高级特性是什么

Stacking context

提供z-index栈空间特性并影响子元素渲染顺序的结构,称之为stacking context。

CSS中优先级和Stacking Context等高级特性是什么

浏览器会给符合下面规则的dom元素分配一个Stacking context。

z-index

CSS中优先级和Stacking Context等高级特性是什么

Stacking order

CSS中优先级和Stacking Context等高级特性是什么

性能

CSS中优先级和Stacking Context等高级特性是什么

像素渲染流水线

提升性能需要在构造流水线中每个元素都需要注意:

CSS 选择器性能

关于CSS中优先级和Stacking Context等高级特性是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. CSS优先级顺序是什么
  2. CSS中的选择器和优先级是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

css contex st

上一篇:云虚拟主机的操作系统是什么

下一篇:Python模块导入机制与大型项目的规范是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》