如何使用javascript更改背景(而非文本)颜色不透明度
How to change background (not text) color opacity with javascript?
我想采用div元素的现有背景色,只调整不透明度。。。我该怎么做?
找到了解决我问题的简单方法;需要jquery颜色插件,但在我看来这是迄今为止最好的解决方案:
$('#div').css('backgroundColor', $.Color({ alpha: value }));
Opacity很棘手,因为仍然没有跨浏览器支持的机制,即使它应该在CSS3中。
您最可能想要做的是更改background-color
样式的alpha通道。请参阅:http://robertnyman.com/2010/01/11/css-background-transparency-without-affecting-child-elements-through-rgba-and-filters/
有人开发了一个JQuery插件,它可以满足您的需求:http://archive.plugins.jquery.com/project/backOpacity
使用此插件,您可以在不影响子元素的情况下仅控制"背面不透明度"。
查询颜色插件是一个不错的解决方案,但是我坚信您不需要用不必要的插件来重载您的应用程序来完成如此简单的任务。
以下是使用字符串的另一种方法:
var alpha = "0.8";
var oldBGColor = $('#div').css('backgroundColor');
// rgb(40,40,40)
var newBGColor = oldBGColor.replace('rgb','rgba').replace(')', ','+alpha+')');
// rgba(40,40,40,.8)
$('#div').css('backgroundColor', newBGColor);
这里有一个jsFiddle如何使用它的例子。
我遇到了一个类似的问题,这对我来说很神奇。
如果你想从不透明度x.xxx变为1,你可以进行
var element = $("#id")
element.css('backgroundColor', element.css('backgroundColor').replace(/('d'.?'d*)'s*')/i, "1") )
要做相反的操作,只需将1更改为所需的值。
请注意,从开始,您的颜色需要具有"rgba(100,100,0.85098)"格式
在Photoshop中上传你的背景图像或颜色,降低那里的不透明性,将其保存为.jpeg图像,然后在HTML中用作背景。
就这么简单……:D
相关文章:
- 使用CSS/JavaScript更改剑道图工具提示文本颜色
- mouseover和mouseleave文本颜色更改在指令链接中不起作用
- 如何在flash html5画布项目中动态更改文本颜色
- 使用JavaScript淡化文本颜色
- 使用Javascript切换文本颜色
- 我可以使用jqgrid的oncellselect事件根据单元格内容将文本颜色更改为蓝色吗
- 使用jquery更改文本颜色和大小
- 如何使用javascript更改
前色/文本颜色以及boder颜色 - Extjs 树 如何更改子元素的文本颜色
- 选项选定的文本颜色
- JQuery:悬停时文本颜色切换
- 根据覆盖的背景区域的亮度更改文本颜色
- 根据类型更改 jstree 节点文本颜色
- 文本颜色的随机色调不起作用
- 如何在高亮显示时更改文本颜色
- 使用CSS或SVG设置与背景颜色匹配的文本颜色的动画
- Chart.js文本颜色
- 如何更改chardin.js中的文本颜色和样式
- 更改javascript代码段背景和文本颜色
- 如何在安卓网页中更改背景和文本颜色