CSS

属性

@media

悬浮支持:

@media (hover: hover) {
}

范围语法(支持一般不过有盼头了):

@media (30rem <= width < 50rem) {
}

transition

在哪加的属性就在哪上过渡,不然手机浏览器效果大概率有问题,currentColor 响应也非常糟糕。

width

会忽略滚动条宽度。Firefox 没有滚动条了好耶~

content

修改图片:

img {
  content: url();
}

实践

文字基线

测试下来唯一一个能解决的 FireFox 文本位置和 WebKit 系不一样的做法:line-height 比 height 高 1 像素。

圆角容器、粘性表头与背景滤镜

亲代节点设置 border-radius 后,目前似乎可以自动裁切子元素,而不需要 overflow: hidden。如果表头有实色背景,那么问题到这里就结束了。

然而如果希望表头拥有背景滤镜,backdrop-filter 会触发合成层导致圆角溢出,设置 overflow: hidden 则会破坏表头的 position: sticky,因其粘性状态其实处于 overflow 中,会直接被隐藏。

解决方案是给表头元素用伪元素做滤镜效果,记得加圆角(四角都圆也没问题,因为表格通常有内边距,抠掉的角落不会有漏网文字)。

::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  backdrop-filter: blur(.25rem);
  border-radius: .25rem .25rem 0 0;
}