我想爲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