创建透明填充的免费 PNG

Avatar of Chris Coyier
Chris Coyier

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

如果您经常使用 CSS 透明度,您就会知道关于它的最令人沮丧的事情之一是,通过在任何页面元素上设置它,它也会强制其子元素透明。 我很乐意听到对这个错误的技术解释! 有些 解决方法,但它们涉及精密的定位技巧,不适合大规模使用。

透明度最常见和最简单的用途之一是 div 上的透明填充。 这是一个非常理想且美观的效果。 例如,如果您像我喜欢的那样使用纹理背景,您可以使用此效果突出显示文本框

在理想情况下,我们只需要为容器 div 设置一个 background-color 和 opacity 值即可实现这一点。 但如果我们这样做,文本也将呈现这种透明度,并变得难以阅读。

解决方案是使用 alpha 透明 PNG 填充 div 的背景。 以下是我使用的一些标准“填充”


黑色 90%

黑色 75%

黑色 50%

黑色 25%

黑色 10%

棕色 90%

棕色 75%

棕色 50%

棕色 25%

棕色 10%

蓝色 90%

蓝色 75%

蓝色 50%

蓝色 25%

蓝色 10%

红色 90%

红色 75%

红色 50%

红色 25%

红色 10%

橙色 90%

橙色 75%

橙色 50%

橙色 25%

橙色 10%

 

查看演示下载文件

 

IE 6 怎么办?

众所周知 IE 6 不支持 alpha 透明度,对吧? 对。 有一些解决方法。 我最喜欢的方法是 HTC 文件方法。 它不是有效的 CSS,但您始终可以将其放入 仅限 IE 的样式表 中。 在上面链接的演示中,我已经应用了该技巧,但它故意被破坏了,因此您可以看到 IE 6 如何处理它。 如果您使用此技巧,它将无法重复或定位背景图像。 没什么大不了的,只需使填充图形的大小与您需要的大小完全匹配即可。 由于它是一种平面颜色,因此文件大小不会大很多。 作为快速说明,众所周知此方法会偶尔弄乱锚链接,因此我担心在没有大量测试的情况下在大型网站上使用它。