【发布时间】:2010-04-07 18:03:27
【问题描述】:
谁能告诉我如何使 div 的背景透明,但带有一点颜色,例如黑色。尽管我只能让 div 透明或填充颜色,但我已经尝试过使用 CSS。
感谢您的帮助!
【问题讨论】:
-
感谢大家的回答。我现在已经整理好了。谢谢!
标签: css html colors transparency
谁能告诉我如何使 div 的背景透明,但带有一点颜色,例如黑色。尽管我只能让 div 透明或填充颜色,但我已经尝试过使用 CSS。
感谢您的帮助!
【问题讨论】:
标签: css html colors transparency
还有一个选项(尽管并非所有浏览器都支持)。使用 rgba():
/* apply a shade of seafoam green (50% transparent) to "tinted" class */
.tinted {
background-color: rgba(129,254,188,0.5);
}
这里有一个不错的easy to read article,介绍了一些方法。
如果您不关心 IE6,事情会容易得多。
【讨论】:
根据 Pekka 的回答,有opacity,但它会使 div 的内容和背景一样透明。如果这不是您想要的,您可以:
有两个 div,一个以不透明度/alpha 作为背景,另一个用于放置在其顶部的内容。然而,对于可变大小的元素,定位可能很棘手。或者,
使用半透明背景,通过使用 rgba() colour(在 IE 以外的浏览器中)或带有 alpha 通道的 PNG 背景图像(在 IE7-8 中有效,但需要 AlphaImageLoader修复了 IE6,这也意味着您必须将图像尽可能大,因为 AlphaImageLoader 不会平铺)。
【讨论】:
您可以为此使用opacity(及其 IE 兄弟alpha)。
Quirksmode.org 列出了如何在大多数浏览器中始终如一地实现这一目标。
【讨论】:
rgba 还为时过早,因为没有 IE 支持它——否则,这将是最优雅的方式。
或者您可以使用 PNG 半透明图像。通常是最简单的方法,因为在使用 opacity 时,您还会更改文本的不透明度。
【讨论】:
opacity 结合使用,它在所有 IE 浏览器(包括 8)中都会起作用。使用一种方法或另一种方法,但切勿将两者结合在一个元素中。
这是一个 jQuery 插件,可以为您处理所有事情,Transify http://jorenrapini.com/blog/css/transify-a-jquery-plugin-to-easily-apply-transparency-opacity-to-an-elements-background
我时不时地遇到这个问题,所以我决定写一些能让生活更轻松的东西。该脚本小于 2kb,只需要 1 行代码即可运行,如果您愿意,它还可以处理背景不透明度的动画。
【讨论】: