使用 CSS MARK 改变 SVG 背景色
CSS masks
-webkit-mask
这个属性是相当强大的,详细的介绍请到这里查看,它非常值得深入研究.
-webkit-mask 让为一个元素添加蒙板成为可能,从而你可以创建任意形状的花样。蒙板可以是 CSS3 渐变或者半透明的 PNG 图片。蒙板元素的 alpha 值为0的时候会覆盖下面的元素,为1的时候会完全显示下面的内容。相关的属性有 -webkit-mask-clip 、 -webkit-mask-position 和 -webkit-mask-repeat 等,严重依赖来自于 background 中的语法。
可以如下添加 CSS 代码,让 SVG 作为蒙版图:
|
1
2
3
4
5
6
|
.icon {
background-color: red;
-webkit-mask-image: url(icon.svg);
mask-image: url(icon.svg);
}
|
改变 SVG 颜色
SVG 可以画出各种形状的图形,使用十分方便,通过以下方法可以只改变CSS的背景颜色就改变 SVG 的背景颜色。
HTML 结构:
|
1
2
3
4
5
6
7
|
<div class="icon icon-red"></div>
<div class="icon icon-orange"></div>
<div class="icon icon-yellow"></div>
<div class="icon icon-green"></div>
<div class="icon icon-blue"></div>
...
|
CSS:
|
1
2
3
4
5
6
7
8
9
10
11
|
/*给每个 div 添加样式,并使用 SVG 最为蒙版背景*/
.icon {
width: 48px;
height: 48px;
display: inline-block;
-webkit-mask: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/18515/heart.svg) no-repeat 50% 50%;
mask: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/18515/heart.svg) no-repeat 50% 50%;
-webkit-mask-size: cover;
mask-size: cover;
}
|
只要改变 div 背景颜色, SVG 的颜色也会改变
|
1
2
3
4
5
6
|
.icon-red { background-color: red; }
.icon-orange { background-color: orange; }
.icon-yellow { background-color: yellow; }
.icon-green { background-color: green; }
.icon-blue { background-color: blue; }
|
总结
mask 属性十分强大,但是需要最先进的浏览器支持。
使用 CSS MARK 改变 SVG 背景色的更多相关文章
- css改变svg的颜色
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- C#TreeView节点选中后失去焦点时改变节点背景色
C#TreeView节点选中后失去焦点时改变节点背景色 在使用TreeView控件时候,单击一个节点,当鼠标聚焦到别的地方的时候,之前点击的这个节点就看不清楚了 举例截图 单击后 ...
- 通过css改变svg img的颜色
需求如下图,hover的时候改变图标颜色,图标为引入的svg img 一般的解决办法有:1.字体图标改变css的color属性:2.js在hover事件中切换图片:3.老一点的方案是hover切换背景 ...
- CSS实现点击改变元素背景色
可通过使用css伪类实现点击元素变色的效果,两个伪类是:active, :focus :active :active选择器用于选择活动链接.当在一个链接上点击时,它就会成为活动的(激活的),:acti ...
- CSS手动改变DIV高宽
本实例代码可以使DIV可以手动改变大小 效果体验:http://hovertree.com/code/css/resize.htm 代码如下: <!DOCTYPE html> <ht ...
- CSS/HTML 改变鼠标指针形状
改变鼠标指针形状的方法有两种:第一种:用的来改变鼠标指针形状.另一种是:利用第三方控件的方法,而我自己最常用的是第一种:用css样式表来改变鼠标指针形状 我们先来看第一种:用来改变鼠标指针形状. 有些 ...
- CSS grayscale滤镜+SVG使图片变黑白实例页面
http:/CSS 地址:/www.runoob.com/cssref/css3-pr-filter.html CSS代码: .gray { -webkit-filter: grayscale(%); ...
- 【css3】使用filter属性实现改变svg图标颜色
1.兼容性: 2.应用场景:新增页面上传svg图标后,更改图标颜色后,在列表页面展示色值改后的svg图标. 3.解决方案:使用filter属性中的 drop-shadow,drop-shadow滤镜可 ...
- easyui datagrid 动态改变行背景色
/*根据查询条件查询调度单列表*/ function InitGrid(queryData) { $("#dg").datagrid({ loadMsg: "数据加载中, ...
随机推荐
- 制作CentOS fence-agents 镜像
1, Download centos7 iso file: Centos7 ISO download: http://buildlogs.centos.org/rolling/7/isos/x86_6 ...
- CI框架伪静态化配置
CI框架伪静态化配置 伪静态化,即:去掉入口的index.php, 在url后面加上 .html 后缀 CI默认的rewrite url中是类似这样的,例如你的CI根目录是在/CodeIgniter/ ...
- iOS: 查看 UIView 的视图树
在想要查看的 UIView 附近打个断点,运行,直到停在断点处,在控制台键入:po [view recursiveDescription],回车. (lldb) po [self recursiveD ...
- Objective-c: 移除字符串中的指定字符
string = [[string componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInS ...
- windows reload()
reload() 方法用于重新加载当前文档.如果该方法没有规定参数,或者参数是 false,它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已改变.如果文档已改变, ...
- [Learn AF3]第五章 App Framework 3组件之Drawer——Side Menu
Drawer——Side menu 组件名称:Drawer 说明:af3中的side menu和af2中有很大变化,af3中的side menu实际上是通过插件$.afui.drawer来实现 ...
- Oracle高级查询之CONNECT BY
为了方便大家学习和测试,所有的例子都是在Oracle自带用户Scott下建立的. Oracle中的select语句可以用start with ... connect by prior ...子句实现递 ...
- saltstack系列1之salt-api配置与使用
salt-api salt-api是我们通过restful-api调用salt-master的接口,且调用的时候必须通过认证才能调用,认证的用户为系统用户,下面就说说如何配置salt-api. 不带S ...
- Spring MVC手札
本文用于记录使用Spring MVC中的零散手札 1.在普通java类中获取HttpServletRequest对象 在web.xml的listener节点加入 <listener> & ...
- 【matlab】=size(img)的其中两种用法&zeros( )
i1=imread('D:\Work\1.png'); i1=rgb2gray(i1); [m,n]=size(i1); 返回图片的尺寸信息, 并存储在m.n中.其中m中存储的是行数,n中存储的是列数 ...