CSS-巧用多重渐变
线性渐变 (linear-gradient):
1 |
|
效果如下:
径向渐变 (radial-gradient)
1 |
|
效果如下:
多重渐变
注意要点:
background-image
属性是可以接受多个渐变值,多个渐变之间使用,
隔开- 支持线性渐变和径向渐变互相叠加
- 前面的渐变会盖住后面的渐变
- 渐变的位置、大小均可自行设置
1 |
|
效果如下:
进阶
现在我们来观察下如下动图,思考一下我们是否可以使用纯CSS完成呢?
先添加一个div元素,并设置宽高及背景颜色:
1 |
|
1 |
|
现在它长这样:
现在我们添加一个背景渐变:
1 |
|
变成了这样,渐变盖在了背景颜色之上:
解释一下这里的渐变用法,这是渐变的一种不渐变用法,通过设置相同的渐变颜色并指定渐变进度,可以实现类似色块排列的效果,这里就是指定:
- 从
0%
到10px
是#00b095
- 从
10px
到calc(100% - 10px)
是#ff000059
- 从
calc(100% - 10px)
到100%
是#00b095
然后设置渐变大小:
1 |
|
因为渐变是可以叠加的,所以我们按照这个思路再添加一个渐变:
1 |
|
好的,这里已经初见端倪了,我们再按照这个思路再添加两个渐变(复制前面两个也行),并通过设置渐变位置覆盖四条边界:
1 |
|
最后使用transparent
替换渐变中的#ff000059
颜色,并去掉.Block
元素的背景颜色:
1 |
|
这样一个纯css制作的四角效果就做好了,需要最终实现效果图那样的鼠标滑过动画,只需要在.Block
元素下添加一个before
伪元素,并将实现的四角渐变应用过去,同时添加:hover
样式以改变大小就可以了,终于代码如下(根据需要替换#00b095
颜色):
1 |
|
预览链接:👆