首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >微知识 | CSS3实现渐变背景兼容问题

微知识 | CSS3实现渐变背景兼容问题

作者头像
程序员法医
发布2022-08-11 15:30:46
发布2022-08-11 15:30:46
9780
举报

我们在做一个渐变背景颜色的时候会用到linear-gradient() 函数用于创建一个线性渐变的 "图像"。它是css3中的语法,最低兼容IE10

代码语言:javascript
复制
background-image: linear-gradient(direction, color-start, color-end);

direction:用于指定渐变方向。它可以接受一个表示角度的值(可用的单位deg、rad、grad或turn)或者是表示方向的关键词(top、right、bottom、left、left top、top right、bottom right或者left bottom)。

color-start, color-end :分别表示起始颜色和终止颜色

这是淘宝网导航栏的一个例子,它的渐变色实现如下:

代码语言:javascript
复制
 background-image: linear-gradient(to right, #ff9000, #ff5000);

但是,linear-gradient()最低兼容IE10,要兼容IE8和IE9的话只能使用filter替代,如下:

代码语言:javascript
复制
 background-image: linear-gradient(to right, #ff9000, #ff5000);
 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff9000', endColorstr='#ffff5000', GradientType=1);
 -ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff9000', endColorstr='#ffff5000', GradientType=1);

我们在使用filter实现渐变的时候要注意颜色的值不能填简写(如#000),一定要写完整,我们来看看#000和#000000的区别:

当为#000的时候

代码语言:javascript
复制
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#000', endColorstr='#ffff5000', GradientType=1);
-ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#000', endColorstr='#ffff5000', GradientType=1);

执行结果:

当为#000000的时候

代码语言:javascript
复制
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#ffff5000', GradientType=1);
-ms-filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#000000', endColorstr='#ffff5000', GradientType=1);

执行结果:

接下来我们分析下filter里面值:

细心的小伙伴们可以看到filter里面的startColorstr和endColorstr颜色值多了两个ff,其实startColorstr和endColorstr并不是简单的代表颜色,它们的格式应该是 #AARRGGBB 。AA, RR, GG, BB 为十六进制正整数。取值范围为 00 - FF 。RR 指定红色值, GG 指定绿色值, BB 指定蓝色值。 AA 指定透明度。00 是完全透明。FF 是完全不透明。超出取值范围的值将被恢复为默认值。取值范围为#FF000000 - #FFFFFFFF 。AA跟我们之前学的rgba()中的a相似,都是设置透明度的。

GradientType=1表示方向,1表示水平方向,0表示垂直方向

『 好啦,以上呢就给大家的分享啦,如果您觉得本篇内容有帮助到你,可以转载但记得要关注,要标明原文哦,谢谢支持~』

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端猎手 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档