我有一些有圆角和彩色边框的div。我希望div的边框有渐变,这样当用户悬停在div上时它会改变。
我已经找到了所有的网站上如何使用梯度(http://css-tricks.com/css3-gradients/,http://gradients.glrzad.com/等),但我仍然不能弄清楚如何让这个工作的圆边边界。
有人会请我到一个网站,介绍如何做到这一点,甚至帮助我的代码?
我有一些有圆角和彩色边框的div。我希望div的边框有渐变,这样当用户悬停在div上时它会改变。
我已经找到了所有的网站上如何使用梯度(http://css-tricks.com/css3-gradients/,http://gradients.glrzad.com/等),但我仍然不能弄清楚如何让这个工作的圆边边界。
有人会请我到一个网站,介绍如何做到这一点,甚至帮助我的代码?
5条答案
按热度按时间3pvhb19x1#
下面是一个简单的解决方案:
结果:带有渐变边框的CSS圆角
w80xi6nr2#
可以嵌套两个元素,并让外部
div
充当渐变边界,然后可以解决此问题,例如:然后在CSS中:
有关工作示例,请查看https://stackoverflow.com/a/7066176/524555
zzwlnbp83#
在我看来,使用:before元素是最理想的解决方案,因为这样您就可以通过CSS进行完全控制,并且HTML标记保持整洁。
您可以调整填充以及顶部和左侧值来调整边框厚度。
下面是一个显示实用示例的JSFiddle:http://jsfiddle.net/wschwarz/e2ckdp2v/
vhipe2zx4#
我知道这个答案已经被回答和接受了,但是我想发布一个我使用的不同的方法,因为如果按钮在另一个梯度的背景上,或者一个图像上,这个被接受的答案就不会起作用。
我的解决方案只适用于水平渐变和圆角(但不是圆形)按钮,我使用了"border-image"属性和伪元素来实现这个效果:
按钮将只有顶部和底部的"border-image"边框,而左、右边框将用伪元素来完成。
下面是一个工作示例:
超文本:
CSS:
https://jsfiddle.net/fnbq92sc/2/
dhxwm5r45#
背景的第二部分是你想要的渐变^