所以我對一個元素有一個線性漸變,並且當我將該元素懸停時沒有再次寫入所有規則時,我想將漸變角度改爲顛倒。這是可能的嗎?我可以只更改懸停時css3中線性漸變的角度嗎?
0
A
回答
1
爲什麼不呢?只需在您的CSS中指定一個僞類創建hover
狀態的規則:
#grad {
background-image: linear-gradient(bottom, rgb(23,125,250) 28%, rgb(0,0,0) 80%);
}
#grad:hover {
background-image: linear-gradient(right , rgb(23,125,250) 28%, rgb(0,0,0) 80%);
}
,如果你想跟着乾的原則,建立這些規則爲輔助類,比連接和拆卸他們的元素。下面是使用jQuery的例子:
CSS:
.grad {
background-image: linear-gradient(bottom, rgb(23,125,250) 28%, rgb(0,0,0) 80%);
}
.grad-rotated {
background-image: linear-gradient(right , rgb(23,125,250) 28%, rgb(0,0,0) 80%);
}
JS:
$('.grad').hover(
function() {
$(this).toggleClass('grad', false).toggleClass('grad-rotated', true);
},
function() {
$(this).toggleClass('grad', true).toggleClass('grad-rotated', false);
}
);
參考文獻:
- jQuery's
hover()
linear-gradient
on Mozilla Developer Network- a nice, easy to use, CSS gradients generator
注:爲方便起見,這裏僅示出了linear-gradient
屬性值的基本形式,以提供跨瀏覽器兼容性,添加特定於供應商的前綴屬性值(例如-o-linear-gradient
,-moz-linear-gradient
)。
免責聲明:爲用戶代理會更有效地渲染CSS,一般來說,最好在基於JS喜歡基於CSS的解決方案。
2
你可以通過使用sass
和mixin使它變幹。
@mixin gradient($angle) {
background: linear-gradient($angle , rgb(23,125,250) 28%, rgb(0,0,0) 80%);
}
#grad {
@import gradient("bottom");
}
#grad:hover {
@import gradient("right");
}
+0
正在更新我的答案,以添加CSS框架解決方案,因此取消了更新。好的,+1。 –
+1
我贊成你的答案,但sass只是一個預處理器,但是如果我有很多具有多個盤旋的漸變,那麼加載的css仍然很大。我想這不能按我想要的方式完成。 –
相關問題
- 1. 更改懸停時的漸變方向
- 2. 線性漸變css3
- 3. CSS3中的指定角度線性漸變
- 4. 如何在CSS3線性漸變中使漸變停止?
- 5. 我可以用css3和html5嗎? (漸變背景,邊框漸變,透明度)
- 6. CSS3線性漸變在Mozilla
- 7. CSS3線性漸變和Opera?
- 8. CSS3可以添加文本漸變嗎?
- 9. Uber cool CSS3中的線性漸變
- 10. 從代碼隱藏更改CSS3線性漸變的一部分
- 11. CSS線性漸變角度位置
- 12. 線性漸變帶角度和力量
- 13. CSS3漸變對角線如何應用?
- 14. 你可以在懸停上製作一個漸變動畫嗎?
- 15. IE3上的CSS3線性漸變
- 16. 使用CSS3的線性漸變div
- 17. 使用線性漸變的CSS3三角形
- 18. 以一定的角度畫線性漸變
- 19. 在45度角的div上製作懸停漸變動畫?
- 20. CSS3線性漸變色停止工作不同WebKit的
- 21. 可以在IE中設計一個帶css3陰影+漸變+圓角的div嗎?
- 22. 是否可以在CSS中設置線性漸變的長度?
- 23. CSS3箱形陰影線性漸變?
- 24. CSS3線性漸變不適用於android。
- 25. 我想從javascript中隨機更改漸變角度
- 26. android漸變中的角度屬性
- 27. 在jquery中將鼠標懸停在另一個div上時將一個div的線性漸變背景更改爲另一個線性漸變
- 28. 你可以在CSS中添加線性漸變色嗎?
- 29. 純css逐漸改變懸停文字
- 30. 我可以在角度2中動態更改templateUrl嗎?
+1在正確答案上。儘管如此,我不得不反對JS解決方案,因爲我發現使用JS在CSS中是不恰當的做法。 – jurgemaister
我同意,CSS會呈現更快,更優雅等更新我的帖子。謝謝。 –
我想強調這部分「沒有再次編寫所有規則」。由於供應商屬性,這可能需要很多文件長度。所以我想要這樣的東西:選擇器{背景:線性漸變:... } selector:hover {background:linear-gradient-angle:90%} –