1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > CSS渐变色效果的实现方法

CSS渐变色效果的实现方法

时间:2020-04-23 17:24:47

相关推荐

CSS渐变色效果的实现方法

因为CSS渐变色(Gradients)技术是CSS3里比较新的技术,属于高级的CSS功能,于是每种浏览器对这种技术的实现都添加了一些自己的特色。例如以WebKIt为渲染引擎的谷歌浏览器,就对它实现了多种语法。下面的这段代码基本包括了所有自顶向下颜色渐变的所有情况:

#example1 {

/* 底色 */

background-color: #063053;

/* chrome 2+, safari 4+; multiple color stops */

background-image:-webkit-gradient(linear, left bottom, left top, color-stop(0.32, #063053), color-stop(0.66, #395873), color-stop(0.83, #5c7c99));

/* chrome 10+, safari 5.1+ */

background-image: -webkit-linear-gradient(#063053, #395873, #5c7c99);

/* firefox; multiple color stops */

background-image: -moz-linear-gradient(top,#063053, #395873, #5c7c99);

/* ie 6+ */

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=‘#063053’, endColorstr=‘#395873’);

/* ie8 + */

-ms-filter: “progid:DXImageTransform.Microsoft.gradient(startColorstr=‘#063053’, endColorstr=‘#395873’)”;

/* ie10 */

background-image: -ms-linear-gradient(#063053, #395873, #5c7c99);

/* opera 11.1 */

background-image: -o-linear-gradient(#063053, #395873, #5c7c99);

/* 标准写法 */

background-image: linear-gradient(#063053, #395873, #5c7c99);

}

注意,我们首先设定了一个背景色。这个颜色是在万一用户使用的浏览器不支持CSS渐变色(Gradients)技术时使用的颜色。CSS渐变色(Gradients)技术里还支持带有角度的渐变方向,而不仅仅只有直上直下或直左直右。我们可以用下面的语法实现它:

#example2 {

/* fallback */

background-color:#063053;

/* chrome 2+, safari 4+; multiple color stops */

background-image:-webkit-gradient(linear, left bottom, right top, color-stop(0.32, #063053), color-stop(0.66, #395873), color-stop(0.83, #5c7c99));

/* chrome 10+, safari 5.1+ */

background-image:-webkit-linear-gradient(45deg, #063053, #395873, #5c7c99);

/* firefox; multiple color stops */

background-image:-moz-linear-gradient(45deg, #063053, #395873, #5c7c99);

/* ie10 */

background-image: -ms-linear-gradient(45deg, #063053 0%, #395873 100%);

/* opera 11.1 */

background-image: -o-linear-gradient(45deg, #063053, #395873);

/* The “standard” */

background-image: linear-gradient(45deg, #063053, #395873);

}

我们可以做的更复杂些….一个色彩缤纷的CSS颜色渐变下面我们来做一个彩虹:

/* example 3 - linear rainbow */

#example3 {

/* fallback */

background-color:#063053;

/* chrome 2+, safari 4+; multiple color stops */

background-image:-webkit-gradient(linear, left bottom, left top, color-stop(0.20, red), color-stop(0.40, green), color-stop(0.6, blue), color-stop(0.8, purple), color-stop(1, orange));

/* chrome 10+, safari 5.1+ */

background-image:-webkit-linear-gradient(red, green, blue, purple, orange);

/* firefox; multiple color stops */

background-image:-moz-linear-gradient(top, red, green, blue, purple, orange);

/* ie10 */

background-image: -ms-linear-gradient(red, green, blue, purple, orange);

/* opera 11.1 */

background-image: -o-linear-gra《大厂前端面试题解析+Web核心总结学习笔记+企业项目实战源码+最新高清讲解视频》无偿开源 徽信搜索公众号【编程进阶路】dient(red, green, blue, purple, orange);

/* The “standard” */

background-image: linear-gradient(red, green, blue, purple, orange);

}

关于IE对CSS颜色渐变技术的支持做一些说明:在早期IE是使用filter和-ms-filter语法实现渐变色,而最新版的IE里改为了-ms-linear-gradient语法。我们可以使用CSS里条件判断语句来解决这个问题:

.gradientElement{
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=‘#063053’,endColorstr=‘#395873’);
-ms-filter:“progid:DXImageTransform.Microsoft.gradient(startColorstr=‘#063053’,endColorstr=‘#395873’)”;
}
<![endif]–>

不是很理想,但这对设计一个网站很重要。

新建一个前端学习qun438905713,在群里大多数都是零基础学习者,大家相互帮助,相互解答,并且还准备很多学习资料,欢迎零基础的小伙伴来一起交流。

CSS环形颜色渐变(Radial Gradients)

CSS环形颜色渐变(Radial Gradients)跟线性渐变(linear gradients)不一样,它不是沿着一个方向渐变,而是以一个点为中心,向四周辐射渐变,360度的。目前除了IE外的所有浏览器都支持CSS环形颜色渐变(Radial Gradients),但它们也都有各自不同的语法……我说的就是你,WebKit引擎的浏览器,WebKit曾经彻底修改了它的CSS环形颜色渐变(Radial Gradients)的语法。下面我们来看看老式的写法:

/* basic */

background-image: -webkit-gradient(radial, center center, 0, center center, 220, from(orange), to(red));

/* color stops */

background-image: -webkit-gradient(radial, center center, 0, center center, 220, color-stop(0.20, red), color-stop(0.40, green), color-stop(0.6, blue), color-stop(0.8, purple), color-stop(1, orange));

而现在WebKit(主要代表是谷歌浏览器)里的新语法跟火狐浏览器的完全一致了:

radial-gradient( [||,] [||,],[,]*)

这种环形颜色渐变语法是最新的火狐和谷歌浏览器使用语法。还有一些常量可以使用在这种渐变技术中来设定渐变环形的大小:

closest-side: 对于原型,是指渐变图形扩散时需要到达的最近的一个边。对于椭圆,是指横向或纵向中要达到最近的一个边。

closest-corner: 是指渐变图形扩散时需要到达的最近的一个角

farthest-side: 跟 closest-side 相似,但到达到的是最远的一个边。

先自我介绍一下,小编上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。