怎么在HTML表格中通过mask-image为HTML表格边缘添加淡出羽化效果

落雪大大_6598

落雪大大_6598

2026-07-13

621人浏览

原创

mask-image 不能直接作用于 元素,因其非标准可遮罩元素;正确做法是将表格包裹在 display: block 且 overflow: hidden 的容器中,并对容器应用 mask-image,同时注意 safari 仅支持十六进制灰度值、firefox 需内联 svg 方案、chrome/edge 需双写 -webkit-mask-image 和 mask-image。

怎么在html表格中通过mask-image为html表格边缘添加淡出羽化效果

mask-image 不能直接作用于 <table> 元素 <p>直接给 <code><table> 写 <code>mask-image 基本无效——表格是替换元素(replaced element)的近亲,且其内部盒模型由浏览器严格控制,mask 无法穿透 <tbody>/<tr>/<td> 的渲染层。你看到的“没反应”不是代码错,是浏览器根本不支持该用法。 <p>正确做法是把表格包进一个容器(如 <code><div>),再对这个容器应用 <code>mask-image。表格本身需设为块级、居中、无边距,否则遮罩贴图会错位。
  • 容器必须设 display: block 和 overflow: hidden(防遮罩外溢)
  • 表格要加 margin: 0 auto + border-collapse: collapse,避免默认间距干扰遮罩定位
  • mask-size: 100% 100% 和 mask-repeat: no-repeat 必须显式声明,否则可能平铺或拉伸

Safari 中 linear-gradient 遮罩必须用 #000/#fff,禁用 transparent

写成 mask-image: linear-gradient(to bottom, #000, transparent) 在 Safari 里会静默失效:它把 transparent 当作 #000 处理,结果整个表格全显,毫无淡出。

必须改用纯灰度值,且只认十六进制写法:

  • #000 = 完全显示(不透明黑)
  • #fff = 完全隐藏(纯白)
  • #808080 = 半透(50% 灰),用于控制羽化强度
  • 禁用 black/white 别名——Safari 解析不稳定

例如顶部羽化: -webkit-mask-image: linear-gradient(to bottom, #fff, #000); mask-image: linear-gradient(to bottom, #fff, #000);

Firefox 不支持 mask-image: linear-gradient(),必须换 SVG 内联方案

截至 2026 年中,Firefox 仍把渐变值当作无效声明直接忽略,等同于没写 mask-image。这不是 bug,是未实现特性。

唯一可靠方案是内联 SVG,并确保:

html-deploy
html-deploy

使用 htmlcode.fun 将 HTML 内容或文件部署到网页,适用于用户要求“部署到网页”“托管此 HTML”“生成此前端...的实时链接”等场景。

下载
  • SVG 中使用 <stop stop-color="black"></stop>(不能用 fill 或省略)
  • 必须带锚点 #m,否则 Firefox 找不到 <mask></mask> 元素
  • URL 编码需完整:data:image/svg+xml;utf8,<svg>...</svg>#m

示例(左右羽化):
mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='m'%3E%3ClinearGradient x1='0' y1='0' x2='1' y2='0'%3E%3Cstop offset='0' stop-color='black'/%3E%3Cstop offset='0.1' stop-color='black'/%3E%3Cstop offset='0.9' stop-color='white'/%3E%3Cstop offset='1' stop-color='white'/%3E%3C/linearGradient%3E%3C/mask%3E%3C/svg%3E#m");

Chrome/Edge 必须双写 -webkit-mask-image + mask-image

新版 Chrome/Edge(Blink 内核)对标准 mask-image 支持不完整,只写 mask-image 往往没反应。必须同时提供带前缀的版本才能触发渲染。

完整写法示例(四边羽化):

container {
  -webkit-mask-image: linear-gradient(90deg, #fff, #000, #000, #fff),
                      linear-gradient(0deg, #fff, #000, #000, #fff);
  mask-image: linear-gradient(90deg, #fff, #000, #000, #fff),
              linear-gradient(0deg, #fff, #000, #000, #fff);
  -webkit-mask-composite: xor;
  mask-composite: xor;
  mask-size: 100% 100%, 100% 100%;
  mask-repeat: no-repeat;
}

注意:mask-composite: xor 是让两个渐变叠加后产生“边缘镂空”效果的关键,漏掉就只剩单向淡出。

真正容易被忽略的是:羽化效果依赖容器尺寸与遮罩贴图的精确匹配,一旦表格宽高动态变化(比如响应式重排),mask-size 就得同步重算——这时候 SVG 方案比 CSS 渐变更稳。

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关文章

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

html

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
html版权符号
html版权符号

html版权符号是“©”,可以在html源文件中直接输入或者从word中复制粘贴过来,php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

5415

7

html在线编辑器
html在线编辑器

html在线编辑器是用于在线编辑的工具,编辑的内容是基于HTML的文档。它经常被应用于留言板留言、论坛发贴、Blog编写日志或等需要用户输入普通HTML的地方,是Web应用的常用模块之一。php中文网为大家带来了html在线编辑器的相关教程、以及相关文章等内容,供大家免费下载使用。

2023.06.21

3112

4

html网页制作
html网页制作

html网页制作是指使用超文本标记语言来设计和创建网页的过程,html是一种标记语言,它使用标记来描述文档结构和语义,并定义了网页中的各种元素和内容的呈现方式。本专题为大家提供html网页制作的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.31

2770

5

html空格
html空格

html空格是一种用于在网页中添加间隔和对齐文本的特殊字符,被用于在网页中插入额外的空间,以改变元素之间的排列和对齐方式。本专题为大家提供html空格的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.01

2799

5

html是什么
html是什么

HTML是一种标准标记语言,用于创建和呈现网页的结构和内容,是互联网发展的基石,为网页开发提供了丰富的功能和灵活性。本专题为大家提供html相关的各种文章、以及下载和课程。

2023.08.11

4679

6

html字体大小怎么设置
html字体大小怎么设置

在网页设计中,字体大小的选择是至关重要的。合理的字体大小不仅可以提升网页的可读性,还能够影响用户对网页整体布局的感知。php中文网将介绍一些常用的方法和技巧,帮助您在HTML中设置合适的字体大小。

2023.08.11

2761

3

html转txt
html转txt

html转txt的方法有使用文本编辑器、使用在线转换工具和使用Python编程。本专题为大家提供html转txt相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

2549

3

html文本框代码怎么写
html文本框代码怎么写

html文本框代码:1、单行文本框【<input type="text" style="height:..;width:..;" />】;2、多行文本框【textarea style=";height:;"></textare】。

2023.09.01

2288

6

HTML嵌入CSS样式的方法
HTML嵌入CSS样式的方法

HTML嵌入CSS样式的方法有内联样式、内部样式表和外部样式表。本专题为大家提供CSS样式相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.20

2308

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
GDB 17.2 官方文档集合
GDB 17.2 官方文档集合

共0课时 | 0人学习

Bootstrap 入门安装配置
Bootstrap 入门安装配置

共0课时 | 0人学习

38+ PhpStorm 提示和技巧
38+ PhpStorm 提示和技巧

共1课时 | 219人学习