「趣学前端」@layer,你好,CSS的新特性

简介: 今天分享CSS新特性@layer的学习笔记。

前言

之前开发者大会上,大佬分享@layer这个新特性的时候,就想着要研究一下它的具体用法。

在开始freestyle之前,先来看一下规范:

这是一个实验中的功能。
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

CSS规则

MDN中对CSS规则的定义如下

At-rules是指导 CSS 如何表现的CSS 语句。它们以 at 符号 ' @' ( U+0040 COMMERCIAL AT) 开头,后跟一个标识符,包括直到下一个分号 ' ;' ( U+003B SEMICOLON) 或下一个CSS 块(以先到者为准)的所有内容。

先来看几个眼熟的CSS规则:@media、@font-face、@keyframes、@viewport、@import。

@layer

知识点

@layer声明了一个 级联层, 同一层内的规则将级联在一起, 这给予了开发者对层叠机制的更多控制。

创建级联层的方式有以下三种,支持级联层嵌套和匿名。以下知识点来自MDN

语法

含义

块级创建方式

创建了一个块级的 @规则,其中包含作用于该层内部的 CSS 规则。

通过 @import 来创建

一个级联层同样可以通过 @import 来创建,规则存在于被引入的样式表内。

命名创建方式

可以创建带命名的级联层,但不指定任何样式。

或者,多个命名层也可以被同时定义。

嵌套层

级联层允许嵌套

匿名层

如果创建了一个级联层但并未指定名字,那么则称为创建了一个匿名层。除创建后无法向其添加规则外,该层和其他命名层功能一致。

使用试验

类型

效果展示

实现方案

通过 @import 来创建

级联层样式写在了外部的css文件中,通过@import 引入。

多个命名层

如果同一声明在多个级联层中被指定,最后一层中的将优先于其他层。

非@layer与@layer的优先级

非@layer与@layer拥有相同的属性时,非@layer的优先级更高。

嵌套优先级

嵌套优先级 @layer common 大于 @layer layer3。

把@layer common这个遮住,其实就是非@layer与@layer的优先级,这样是不是好理解了。

匿名优先级

匿名的优先级取决于匿名层所在的位置

1、匿名层在@layer common和@layer layer1

前面时,优先级是@layer common > @layer layer1 > @layer 匿名。

2、匿名层在@layer common和@layer layer1

后面时,优先级是@layer 匿名 > @layer common > @layer layer1 。

3、@layer common > @layer layer1的原因是,多个命名层时,最后一层中的将优先于其他层。

总结

@layer目前还是非标准特性,正式生产不建议使用。

不过试验使用起来,还挺有趣的,今天也特别有收获的一天。

CSS样式真有趣,光写样式我感觉自己能写一天。

偶尔翻出来珍藏的技术书,读几章,有了新想法的感觉真不赖。

目录
相关文章
|
14天前
|
前端开发
前端基础(五)_CSS文本文字属性、背景颜色属性
本文详细介绍了CSS中关于文本和背景颜色的样式属性。包括字体大小、字体族、字体加粗、字体样式、文本行高、`font`属性、文本颜色、文本对齐方式、文本装饰线、首行缩进等文本属性,以及背景颜色、背景图片、背景重复、背景位置等背景属性。文章通过示例代码展示了这些属性的具体应用和效果。
13 3
前端基础(五)_CSS文本文字属性、背景颜色属性
|
14天前
|
前端开发
前端基础(九)_CSS的三大特征
本文详细解释了CSS的三大特性:层叠性、继承性和优先级,并通过实例演示了样式冲突、叠加和选择器优先级的应用。
14 2
前端基础(九)_CSS的三大特征
|
14天前
|
Web App开发 存储 移动开发
前端基础(十七)_HTML5新特性
本文概述了HTML5的关键新特性,包括canvas图形绘制、多媒体的`video`和`audio`元素、本地存储功能、语义化标签(如`header`、`footer`、`nav`等)及其新增表单控件和属性(如`url`、`email`、`date`类型输入框等)。这些改进增强了网页的功能性和用户体验。
16 1
前端基础(十七)_HTML5新特性
|
2天前
|
Web App开发 前端开发
【前端基础篇】CSS基础速通万字介绍(上篇)3
【前端基础篇】CSS基础速通万字介绍(上篇)
9 1
|
2天前
|
Web App开发 前端开发
【前端基础篇】CSS基础速通万字介绍(上篇)2
【前端基础篇】CSS基础速通万字介绍(上篇)
15 1
|
2天前
|
缓存 前端开发 JavaScript
【前端基础篇】CSS基础速通万字介绍(上篇)1
【前端基础篇】CSS基础速通万字介绍(上篇)
11 1
|
14天前
|
编解码 前端开发
前端基础(六)_CSS单位
本文介绍了CSS中常用的单位,包括像素(px)、相对长度单位(em、rem)、百分比(%)、视窗宽度(vw)和视窗高度(vh)。文章通过示例代码展示了这些单位在实际布局中的应用,解释了它们各自的特点和使用场景。例如,em和rem单位与字体大小相关,百分比单位与父元素的尺寸相关,而vw和vh单位则与浏览器视窗的宽度和高度相关。
12 1
|
2天前
|
前端开发 容器
【前端基础篇】CSS基础速通万字介绍(下篇)3
【前端基础篇】CSS基础速通万字介绍(下篇)
9 0
|
2天前
|
Web App开发 存储 前端开发
【前端基础篇】CSS基础速通万字介绍(下篇)2
【前端基础篇】CSS基础速通万字介绍(下篇)
10 0
|
2天前
|
前端开发
【前端基础篇】CSS基础速通万字介绍(下篇)1
【前端基础篇】CSS基础速通万字介绍(下篇)
11 0