css渐变效果的实现

原有的渐变效果我们都是通过图片做背景实现渐变,下面讲述一下css渐变效果的实现:

html代码:

<body>
  <div id="main">
     <!-- 全局渐变 -->
     <div id="mode1">
     </div>
     <!-- 较短细微渐变 -->
     <div id="mode2">
        <div>此处显示为一个较短,细微的渐变</div>
     </div>
     <!-- 多种颜色 Color-Stops  -->
     <div id="mode3">
     </div>
     <!-- IE -->
     <div id="mode4">
       <div>IE并不支持CSS渐变,但是提供了渐变滤镜,可以实现最简单的渐变效果(在IE浏览器下可见)</div>
     </div>
  </div>

mode1:显示全局的渐变,即将容器填满

#mode1
{
    background:-webkit-gradient(linear,0,0,0,100%,from(#ababab),to(#ffffff));/*  Webkit */
    background:-moz-linear-gradient(top,#ababab,#ffffff);/*  Mozilla */
}
此为Webkit的格式:
-webkit-gradient(<type>, <point> [, <radius>]?, <point> [, <radius>]? [, <stop>]*)
  • 渐变的类型? (linear)
  • 渐变开始的X Y 轴坐标(0 0 – 或者left-top)
  • 渐变结束的X Y 轴坐标(0 100% 或者left-bottom)
  • 开始的颜色? (from(red))
  • 结束的颜色? (to(blue))
此为Mozilla的格式:
<point> || <angle>,]? <stop>, <stop> [, <stop>]* )

  • 请注意我们将渐变的类型——linear——放到了属性前缀中了
  • 渐变从哪里开始? (top – 我们也可以使用度数,比如-45deg)
  • 开始的颜色? (red)
  • 结束的颜色? (blue)

mode2:较短细微简便的实现

#mode2
{
    background:-webkit-gradient(linear,0,0,0,10%,from(#ababab),to(#ffffff));/*  Webkit */
    background:-moz-linear-gradient(top,#ababab,#ffffff 10%);/*  Mozilla */
}

mode3:多种颜色渐变

#mode3
{
    background:-webkit-gradient(linear,0,0,0,10%,from(#ababab),color-stop(8%,#ffffff),color-stop(10%,#6c6c6c));/*  Webkit */
    background:-moz-linear-gradient(top,#ababab,#ffffff 50%,#ababab);/*  Mozilla */
}
  • 对于-moz 版本,我们定义,从元素的50%的高度的地方开始是白色。
  • 而对于-webkit,我们使用color-stop(x%,color),采用两个参数:哪里开始停止,使用哪种颜色。

mode4:IE浏览器实现渐变

#mode4
{
    filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#ababab', endColorstr='#fffff'); /* IE6,IE7 */
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#ababab', endColorstr='#ffffff')"; /* IE8 */
}

IE并不支持CSS渐变,但是提供了渐变滤镜,可以实现最简单的渐变效果

CSS3 gradient(背景颜色渐变)代码书写规范及示例

/* Webkit浏览器 */
background-image:-webkit-gradient(
linear,  /* 渐变类型:线性渐变 */
10% 10%,  /* 分别对应X,Y 方向渐变起始位置 */
100% 100%,  /* 分别对应X,Y 方向渐变终止位置 */
color-stop(0.14, rgb(255,0,0)),   /* 渐变颜色位置,及颜色 */
color-stop(0.5, rgb(255,255,0)),  /* 渐变颜色位置,及颜色 */
color-stop(1, rgb(0,0,255))  /* 渐变颜色位置,及颜色 */
);
/* Moz Firefox浏览器 */
background-image:-moz-linear-gradient(
10 10 90deg, /* 渐变起始位置及角度 */
rgb(255,0,0) 14%,  /* 渐变颜色位置,及颜色 */
rgb(255,255,0) 50%,  /* 渐变颜色位置,及颜色 */
rgb(0,0,255) 100%  /* 渐变颜色位置,及颜色 */
);

如下为以上四种的效果图:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值