网页设计中的透明效果

Avatar of Chris Coyier
Chris Coyier 发表

DigitalOcean 为您旅程的每个阶段提供云产品。立即开始使用 200美元免费额度!

它是如何实现的呢?让我们看看四种不同的方法。每种方法都以不同的方式处理这种视觉效果,并且根据具体情况都非常适用。

完全伪造


来自 Spectrum 主题 网站

任何网页设计的最终结果基本上都是一种视觉错觉。您始终可以在 Photoshop 或其他图形编辑器中创建透明效果,并导出平面图形。在 Photoshop 中,可以通过更改图层的透明度级别、填充级别或混合模式等来创建透明效果,仅举几例。

不透明度


此整个按钮都应用了不透明度,以强调它当前处于“禁用”状态。

您可以使用 CSS 的opacity参数使任何元素透明。

#anything {
  opacity: 0.5;  /* 50% transparent */
}

如果您需要支持旧版浏览器,请参见此处

请注意,具有不透明度的元素的所有后代也会变得透明。无法“强制”任何后代比父级不透明度更低。

RGBa / HSLa


来自 Like Architects 网站

在 CSS 中使用 RGBa 作为颜色值,您可以为任何颜色设置透明度级别。与不透明度相比,它具有明显的优势,因为它不会对后代产生任何影响。它也很不错,因为创建颜色的淡出变体就像更改最终的 alpha 值一样简单。说到颜色变化,使用 HSLa 甚至更容易,并且仍然能够处理透明度。

#anything {
  background: rgba(0,0,0,0.5);  /* 50% transparent */
}
#anything {
  background: hsla(0,0,0,0.5);  /* 50% transparent */
}

PNG


来自 Dribbble

从 Photoshop 中“保存为 Web”时,您有两种 PNG 选择:PNG-8 和 PNG-24。PNG-8 类似于 GIF,您可以在像素中使用透明度,但像素要么完全透明,要么完全不透明,没有中间状态。PNG-24 的文件大小虽然大得多,但支持完全 Alpha 透明度。

在上面的示例中,内容区域的阴影来自 PNG-24,以便背景纹理可以更改,而阴影仍然保持不变。