我想为div创建线性透明渐变。有没有办法用jQuery来做到这一点?或者我应该使用一些其他类似raphaeljs的图书馆吗?我想实现类似如下效果:为div创建线性透明渐变
回答
为什么不保持轻盈和浏览器兼容。
div
{
backgroud-image: url('images/gradient.png');
background-repeat: repeat-x;
background-position: top right;
}
+1 - 猜猜我应该发表我的评论一个答案;) – 2010-11-07 03:12:44
这是如何创建一个线性*透明*渐变?不gradient.png不得不假定它正在退色的颜色是什么? – 2011-08-09 06:15:56
PNG可以随着透明度而褪色,所以背景颜色集将变为褪色。 – 2011-08-09 16:05:31
不知道你正在寻找什么,但看看Gradienter jQuery plugin。
你可以用CSS3做到这一点:
E.g.
div {
opacity: 0.5;
background: #999; /* for non-css3 browsers */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000'); /* for IE */
background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#000)); /* for webkit browsers */
background: -moz-linear-gradient(top, #ccc, #000); /* for firefox 3.6+ */
}
http://www.webdesignerwall.com/tutorials/cross-browser-css-gradient/
*“对于非css3浏览器”*?这里使用的唯一CSS3属性是'opacity',它不会做任何渐变。其他3个特性是供应商特定的。恕我直言,这不是一个好的解决方案:它不是“面向未来”的,并不是我想在网络上看到的那种东西。 – 2010-11-03 09:53:04
我建立这个使用圣拉斐尔JS http://www.jsfiddle.net/pahnin/fsdnW/4/ 结帐如果u喜欢它
** **编辑
我通过添加具有梯度的rectagle并使其为相同的尺寸创造了它div
这里棘手的一点是,您示例中的渐变均匀地映射到文本以及容器。很多人已经显示,将透明渐变映射到背景属性很容易,但这会使文本保持不变。
不幸的是,我认为没有任何直接的方法可以获得您想要的渐变效果而不做任何妥协,具体取决于您的需求,它们可能是有价值的解决方案。因此,为了达到这个目的,下面是两个使用<canvas>
的示例,了解如何实现示例图像中显示的效果。
1.作假
这很简单,你在你的文本块中<canvas>
元素位置和完全透明的渐变绘制文本块下方的背景颜色。这不是真的透明,所以它实际上并没有透露下面的任何信息,但如果你试图褪色到一个固定的,预定的颜色,那么这工作得很好。
2.帆布文本
这个例子是比较复杂的,但完全复制在你的例子所示的透明效果。本质上,它完全抛弃HTML文本块,并将整个shabang绘制到<canvas>
上。但是,它也有一些缺点:
画布似乎并不喜欢 文字换行,所以你必须指定 各条线。
帆布文本可能仍然有几分低迷浏览器实现。
可访问性& SEO,尽管您可以轻松地编写一个jQuery插件,用于在运行时将带有文本的常规DOM元素转换为此解决方案。
我使用jquery和112 div创建它。十行文本div的父div更加透明,而100 div的背景div更透明。
好主意和实现+1,但实际上是一个desaster的xD – 2010-11-06 11:11:09
有已经有一些比较实用的解决方案,我大多只是个人感到好奇,如果它可以使用jQuery作为主要工具来完成。 – generalhenry 2010-11-06 15:40:03
由于bArmageddon指出,接受的解决方案不能解决问题 - 它只是褪色的背景。一个简单的解决方案是使用:before或:after在文本上添加渐变:
div {
position: relative;
}
div:before {
content: "";
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 20px;
background: url("transparent_fade.png") repeat-x;
}
- 1. Android渐变背景渐变为透明
- 2. div的不透明渐变过渡
- 3. 使所有渐变为白色渐变为透明
- 4. 适用于文本的透明线性渐变 - Safari中的bug
- 5. 线性渐变到最新safari中的透明错误?
- 6. CSS3线性渐变+ RGBA,没那么真正的透明
- 7. SVG线性渐变填充不透明度梯度
- 8. CSS3渐变图像透明
- 9. Android:透明渐变视图
- 10. 透明渐变问题
- 11. Web:动态透明渐变
- 12. 透明渐变反射 - VB.NET?
- 13. 如何在div边框上创建不带颜色的不透明渐变?
- 14. 用不透明度创建渐变动画
- 15. 使用CSS3的线性渐变div
- 16. 线性渐变库
- 17. 为图像创建渐变
- 18. CSS创建一个透明的div
- 19. Firefox不透明度(透明度)渐变 - 淡出图像
- 20. 铬帆布线性渐变= Firefox的帆布线性渐变
- 21. 渐变笔触与透明背景
- 22. CSS3白色到透明的渐变
- 23. 与透明背景和渐变边框
- 24. IE8 PNG渐变透明度问题
- 25. 如何绘制透明渐变色
- 26. 使用svg的透明渐变蒙版
- 27. 如何制作透明渐变?
- 28. RaphaelJS中对象的渐变透明度
- 29. 如何让这个渐变透明?
- 30. 到透明渐变色的CSS问题
也许最稳健的解决方案是在div下面放置一个半透明的png。当然,这个渐变是垂直设置的。 – 2010-10-28 18:55:23