前军教程网

中小站长与DIV+CSS网页布局开发技术人员的首选CSS学习平台

一起盘点最新 Chrome v133 的5大主流特性 ?

1.CSS 的高级 attr() 方法

CSS attr() 函数是 CSS Level 5 中用于检索 DOM 元素的属性值并将其用于 CSS 属性值,类似于 var() 函数替换自定义属性值的方式。其还可以与伪元素一起使用,在这种情况下,将返回伪元素的原始元素上的属性值。

Mozilla makes browsers, apps, code and tools that put people before profit.
blockquote { margin: 1em 0; } blockquote::after { display: block; content: '(source:' attr(cite) ')'; color: hotpink; }

Chrome 133 的 attr() 方法支持除 之外的其他类型,并可用于所有 CSS 属性,包括: , , , , , , , , , , ,

以下示例 div 的 color 值使用 data-color 属性中的值,使用 attr() 和 type() 将此属性值解析为 ,而默认值设置为 red。

test
div {
  color: attr(data-foo type(), red);
}

值得注意的是,attr() 函数可以引用不打算用于样式的属性,且不能包含敏感信息(例如页面上脚本的安全令牌)。因此,开发者不能使用 attr() 来动态构建 URL。

// 以下不生效
help

2.CSS 滚动状态容器查询

Chrome 133 在容器查询的基础上引入了滚动状态容器查询,支持从 CSS 中查询和调整浏览器管理的粘性 (Sticky) 定位、滚动捕捉点和可滚动元素的状态。

滚动状态容器查询支持根据容器的滚动状态 (Scroll State) 为其后代元素设置样式。查询容器可以是滚动容器,也可以是受滚动容器的滚动位置影响的元素。

.stuck-top {
  container-type: scroll-state;
  // 容器类型
  position: sticky;
  top: 0px;
  // 选择响应 scroll-state 查询的子元素
  > nav {
    @container scroll-state(stuck: top) {
      background: Highlight;
      color: HighlightText;
    }
  }
}

其返回以下状态:

  • stuck:粘性定位容器 (Sticky Positioned Container) 卡在滚动框的边缘之一
  • snapped:滚动捕捉对齐容器当前水平或垂直捕捉
  • scrollable:滚动容器是否可以按查询方向滚动

新的容器类型属性 scroll-state 允许查询容器,例如:

3.CSS text-box, text-box-trim, and text-box-edge

Web 的每种字体都会产生不同数量的块方向空间从而影响元素的大小,且这种混乱的空间占据不易测量。

而从 Chrome 133 开始,text-box 允许开发人员和设计人员定制文本上方和下方的空间,例如: