在 CSS 中,渐变(Gradient)可谓是最为强大的一个属性之一。 但是,经常有同学在使用渐变的过程中会遇到渐变图形产生的锯齿问题。 何为渐变锯齿? 那么,什么是渐变图形产生的锯齿呢? 简单的一个
顺晟科技
2022-09-13 11:58:16
148
css3中的渐变需要注意的是渐变的是图片而不是颜色,而渐变又分为两种:线性渐变与径向渐变,今天我们重点介绍的是线性渐变。
为了创建一个线性渐变,你需要设置一个起始点和一个方向(或指定为一个角度)。你还要定义终止色。终止色就是你想让浏览器去平滑的过渡过去,并且你必须指定至少两种,当然也会可以指定更多的颜色去创建更复杂的渐变效果。
background-image:linear-gradient(red,yellow) ;
上图则为由红到黄的双颜色渐变。
background-image:linear-gradient(red,yellow,green);
上图则为多颜色渐变。
background-image:linear-gradient(to right,red,yellow,green);
上图则为从左到右方向的渐变。
background-image:linear-gradient(45deg,red,yellow,green);
上图则为指定角度的渐变。
background-image:linear-gradient(90deg,red 10%,yellow 20%,green 30%);
上图则为指定颜色节点分布的渐变即10%到20%为红到黄的渐变,20%到30%为黄到绿的渐变,其他区域为纯色。
background-image:repeating-linear-gradient(90deg,red,yellow 300px);
上图则为可重复的渐变。
radial-gradient() 函数创建一个,用来展示由原点(渐变中心)辐射开的颜色渐变。由于径向渐变不常用,在这里我们稍微了解就行。
最后是根据线性渐变做出的两个有趣的实例:
1.发廊灯
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
html,body{
height: 100%;
overflow: hidden;
}
#wrap{
width: 40px;
height: 300px;
border: 1px solid;
margin: 100px auto;
overflow: hidden;
}
#wrap > .inner{
height: 600px;
background:repeating-linear-gradient(135deg,red 0px,red 10px,yellow 10px,yellow 20px);
}
</style>
</head>
<body>
<div id="wrap">
<div class="inner"></div>
</div>
</body>
<script type="text/javascript">
var inner = document.querySelector("#wrap > .inner");
var val =0;
setInterval(function(){
val++;
if(val==300){
val=0;
}
inner.style.marginTop = -val+"px";
},1000/60)
</script>
</html>
效果图如下:
2.光斑动画
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
html,body{
height: 100%;
overflow: hidden;
background: black;
text-align: center;
}
h1{
margin-top: 50px;
display: inline-block;
color: rgba(255, 255, 255,.3);
font:bold 60px "微软雅黑";
background: linear-gradient(120deg,rgba(255,255,255,0) 100px ,rgba(255,255,255,1) 180px ,rgba(255,255,255,0) 260px);
background-repeat:no-repeat ;
-webkit-background-clip: text ;
}
</style>
</head>
<body>
<h1>DEMO软件园</h1>
</body>
<script type="text/javascript">
var h1 = document.querySelector("h1");
var val =-160;
setInterval(function(){
val+=10;
if(val==600){
val=-160;
}
h1.style.backgroundPosition = val+"px";
},40)
</script>
</html>
效果图如下:
好了,今天的分享就到这里,当然,可能存在些许错误望大家海涵并在评论区多多指正交流,谢谢大家花费时间阅览!
09
2022-11
31
2022-10
31
2022-10
19
2022-10
15
2022-09
15
2022-09