這是一個小問題。如果你去www.thumbtack.com/jobs,然後去他們的贊助商。你可以看到,起初你不能看到贊助商名字中的顏色,但是當你將鼠標懸停在他們身上時,你會看到顏色出現。有人能告訴我如何做到這一點。我不知道在谷歌上搜索什麼(例如使用什麼關鍵字)。我試圖使用檢查元素,但無法弄清楚它是如何做到的。任何幫助將不勝感激。如何禁用使用CSS的圖像的顏色?
回答
最廣泛兼容的方式在CSS中做到這一點是使用單獨的圖像 - 一組灰度圖像,以及一套全綵色圖像,你用CSS :hover
僞類(通常使用background-image
屬性)之間進行切換,一拉:
.sponsor {
background-image: url('gray.png');
}
.sponsor:hover {
background-image: url('color.png');
}
你可以,如果你通過把兩種灰度和彩色版本到一個單一的形象,就像一個「窗口」,圍繞樣的移動它到圖像(如使用單個圖像實現這一目標正如Jon P指出的一種稱爲CSS Sprites的技術)。例如,如果該標誌是黑白200x100,在頂部和顏色上的底部創建灰色200x200的圖像,並且這樣做:
.sponsor {
width: 200px;
height: 100px;
background-image: url('logos.png');
background-position: 0px 0px;
}
.sponsor:hover {
background-position: 0px -100px;
}
基於圖像的解決方案,這個人是最好的,因爲作爲喬恩指出它可以減少頁面加載時間,並且還可以防止第一次鼠標懸停圖像時發生延遲。另外,它的HTTP請求少一個,這對高延遲連接(如手機數據連接)有重要影響。
但是,如果你的目標相對較新的瀏覽器,你也許可以使用CSS過濾器:
.sponsor {
filter: grayscale(1.0);
}
.sponsor:hover {
filter: none;
}
不幸的是,這種功能目前僅適用於Safari瀏覽器,鉻,歌劇的新版本,和其他基於WebKit的瀏覽器。它目前也是一個前綴屬性,因此您需要將它用作-webkit-filter
。
這是css唯一解決方案的絕佳解決方案。我只想補充一點,SVG過濾器是一個非常好的伴侶,可以幫助填補瀏覽器支持方面的空白,而這正是css單獨無法涵蓋的。這裏有一篇文章將它放在更詳細的地方:http:// demosthenes。info/blog/532/ –
+1對於SVG來說,這是一個夢幻般的並且相對廣泛支持的技術。可能還值得一提的是,這個問題也有畫布解決方案,但我不會包含鏈接,因爲a)我沒有,並且b)這些解決方案中最糟糕的是複雜性。 –
查看第二個選項的CSS Spites(http://css-tricks.com/css-sprites/)。這比兩個獨立的圖像更可取,原因有幾個:懸停圖像加載時效率更高,沒有延遲,僅舉兩例。 –
你可以用CSS3做到這一點:
.object {
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
-ms-filter: grayscale(100%);
-o-filter: grayscale(100%);
filter: grayscale(100%);
filter: url(grayscale.svg);
/* Firefox 4+ */
filter: gray;
/* IE 6-9 */;
}
.object:hover {
-webkit-filter: none;
-moz-filter: none;
-ms-filter: none;
-o-filter: none;
filter: none;
filter: none;
filter: none;
}
或者你可以使用background: url()
並以同樣的方式改變它懸停。
這不是嚴格正確的:只有WebKit瀏覽器目前將'filter'實現爲'-webkit-filter'。 Mozilla只爲SVG過濾器實現它,而Opera在切換到WebKit後實現了它(因此,它也被稱爲'-webkit-filter')。微軟的「過濾器」意味着別的東西,是非標準的,不支持灰度。 https://developer.mozilla.org/en-US/docs/Web/CSS/filter –
- 1. 使用css更改圖像的顏色?
- 2. 使用CSS顏色SVG圖像
- 3. 如何更改使用css禁用屬性時的顏色?
- 4. 如何使用CSS禁用asp.net圖像
- 5. css顏色和圖像顏色
- 6. 如何單獨使用CSS單擊更改圖像顏色?
- 7. 如何使用CSS從圖像中提取顏色?
- 8. 如何使用懸停效果(CSS)更改圖像顏色?
- 9. Ubuntu Bash的顏色 - 如何禁用顏色並使其變爲單色顏色?
- 10. 用CSS可以使用圖像的文字顏色?
- 11. 使用CSS對圖像應用不同的顏色
- 12. 如何更改IE8中禁用的html控件的顏色使用css
- 13. 使用HTML5/CSS/JS更改圖像的顏色?
- 14. 畫布 - 使用HTML5/CSS/JS更改圖像的顏色?
- 15. 如何禁用錨標記的默認CSS顏色
- 16. 使用R的圖像顏色組合
- 17. 使用Python的圖像顏色檢測
- 18. 使用PHP檢測圖像的顏色
- 19. 使用imagemagick更改圖像的顏色
- 20. 使用PHP獲取圖像的顏色
- 21. 用於着色圖像的顏色選擇器(HTML,CSS,網頁)
- 22. 如何使用css或jquery在ie9中更改禁用的輸入文本框文本顏色的顏色?
- 23. 在圖像上的CSS顏色背景
- 24. CSS:背景顏色的背景圖像
- 25. CSS顏色爲alpha的圖像?
- 26. 顯示圖像的背景顏色 - CSS
- 27. CSS改變圖像的顏色
- 28. css透明圖像的背景顏色
- 29. 如何使用CSS混合顏色?
- 30. 如何使用CSS更改圖標字體的顏色
交替圖像在懸停狀態? – DevlshOne
所以有兩個不同的圖像?當我查看檢查元素時,它看起來像是他們對狀態使用了一個圖像 – user2636368
請參閱過濾器。 http://stackoverflow.com/questions/12262971/toggle-desaturation-on-image-onclick-in-css-javascript –