css3 实现png图片改变背景颜色
实际上是用的是就是css的filter的drop-shadow属性
drop-shadow:
1 不支持内阴影
2 不支持多阴影
3 兼容性 ie13+ 谷歌 火狐 android4.4+ ios
4 实现的是正真意义上的投影。对于非透明的部分都会有投影,表现形式与box-shdow不一样,透明的部分不会有阴影,包括png格式的图片的透明部分
demo1修改png图片的颜色:
html
<div class="demo1">
<div class="del"></div>
</div>
css
.demo1 {
width: 16px;
height: 16px;
overflow: hidden;
margin: 50px auto;
}
.demo1 .del{
width: 16px;
height: 16px;
position: relative;
background: url("images/delete.png") no-repeat center;
}
.demo1 .del:hover{
left:-16px;
border-right:16px solid transparent;
-webkit-filter:drop-shadow(16px 0 0px red);
filter:drop-shadow( 16px 0 0px red);
}
filter:drop-shado(x偏移 y偏移 r模糊半径 color投影的颜色);
1 “改变颜色”时设置left:-16px:使原来的背景颜色,向左移动16px(背景图片的宽度是16px,元素的宽度也是16px);
2 父元素overflow:hidden;就隐藏了,这是del被完全隐藏,
3 为了显示投影(根据投影在透明部分没有投影)设置border-right:16px solid transparent;(增加del的表现宽度),下面就只剩下改变图片的颜色了,根据drop-shadow
4 设置投影filter:drop-shadow( 0px 0 0px red); 这时候的投影在del背景图片的下方,因为背景图左移动16px,所以看不到,这是设置x轴偏移16px,刚好的2 中设置的border-right上,这样就实现css改变png图片的颜色了
demo2:实现带有三角的box的投影 三角的实现方法:为了兼容都是用border写的,使用box-shadow(盒阴影)如果实现三角也带阴影,就需要在父元素和三角上都设置box-shadow就会出现阴影重叠,效果不是很好
这里就可以使用drop-shadow实现
html
<div class="demo">
<div class="angle"></div>
</div>
css
.demo {
width: 300px;
height: 100px;
background-color: #fff;
margin: 100px auto;
/*-webkit-box-shadow: 0px 0px 10px #000;
-moz-box-shadow: 0px 0px 10px #000;
box-shadow: 0px 0px 10px #000;*/
filter: drop-shadow(5px 5px 10px #000);
}
.angle {
position: absolute;
margin-left: -20px;
margin-top: 30px;
width:;
height:;
border-right: 20px solid #fff;
border-top: 20px solid transparent;
border-bottom: 20px solid transparent;
}
效果图:

css3 实现png图片改变背景颜色的更多相关文章
- [JS9] document's bgColor改变背景颜色
<HTML> <HEAD> <TITLE>设置背景颜色</TITLE> </HEAD> <BODY> <CENTER> ...
- OpenGL的glClearColor和glClear改变背景颜色
OpenGL的glClearColor和glClear改变背景颜色 结合以下两个函数void glClearColor(GLclampf red, GLclampf green, GLclamp ...
- iOS 创建多个button实现点击改变背景颜色
工程中需要实现与UISegmentedControl效果相似的一排一共十个button,如下图.但是SegmentedControl修改不太方便,就用button替代, 循环创建十个button,点击 ...
- 设置UINavigation的背景图片和背景颜色
//通过背景图片来设置背景 float systemVersion = [[[UIDevice currentDevice] systemVersion] floatValue]; UIImage * ...
- UITabBar-UITabBarItem图片的背景颜色属性和文字的颜色大小设置
UITabBarItem设置的图片选中状态下默认的是蓝色,如何改变它的颜色为图片自带的颜色呢? typedef NS_ENUM(NSInteger, UIImageRenderingMode) { / ...
- xml中,button改变背景颜色方法
在画几个设置界面,用到了button控件,对于button空间的背景色在不同状态下的颜色改变方法,做了一下尝试,发现了两种背景颜色改变的方法,就总结了下. 方法一尝试了好多遍才好,要点在于,在sele ...
- jquery动态改变背景颜色插件
GETHUB下载地址 背景颜色用animate方法时时无法改变颜色的 所以要使用插件进行补充. 用法: <!DOCTYPE html> <html> <head> ...
- div可以同时设置背景图片和背景颜色吗?
前言 当然可以同时设置 当图片背景色不透明时 情况一:当图片的长.宽 >= div的长.宽时 我们最终看到div背景是图片,之所以说是最终看到,是因为在页面加载时,我们先看到的div背景是颜色, ...
- CSS实例:鼠标滑过超级链接文字时改变背景颜色
先讲简单的: 通过CSS可以设置超链接在不同时刻的颜色: <style> a:link {color: #FF0000} /* 未访问的链接 */ a:visited {color: #0 ...
随机推荐
- 洛谷P1865 A % B Problem
1.洛谷P1865 A % B Problem 题目背景 题目名称是吸引你点进来的 实际上该题还是很水的 题目描述 区间质数个数 输入输出格式 输入格式: 一行两个整数 询问次数n,范围m 接下来n行 ...
- Centos常用命名
1.关机 (系统的关机.重启以及登出 ) 的命令 shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdown -h hours: ...
- NOIP临考经验(转)
[COGS]NOIP临考经验 1. 提前15分钟入场,此时静坐调整心态,适当的深呼吸 2. 打开编辑器并调整为自己喜欢的界面 3. 熟悉文件目录,写好准确无误的代码模板 4. 压缩包或许还不能 ...
- Android-一张图理解MVP的用法
M和V通过P交互,M做了两件事,开启子线程做耗时操作,然后使用原生的Hander方式切回主线程回调结果给P. M做的两件事也可以使用比较流行的rxjava实现: 备注:图片不清晰可以看这里
- Mac电脑解压文件unrar用密码问题解决
下载了一个rar文件,有密码的,你懂的. 但是在mac上面,用unrar解压,只能解出空文件:用izip解压,直接停在那里不动. 只好上网搜索.找到了办法. 用brew 安装了命令行版本的 unrar ...
- 【Todo】【读书笔记】Linux高性能服务器编程
在读 /Users/baidu/Documents/Data/Interview/服务器-检索端/<Linux高性能服务器编程.pdf> 其实之前读过,要面试了,需要温习. P260 So ...
- linux 环境 php 链接 sqlserver 2008
说明 由于业务需要 在 linux 系统下的 PHP 环境中 要链接 sqlserver2008 数据库 . 添加PHP 链接数据库扩展 php-mssql dockerfile FROM hub.0 ...
- Android中怎样自己制作su
本文原博客:http://hubingforever.blog.163.com/blog/static/171040579201372915716149/ 在Android源代码的system\ext ...
- 【hdu】Mayor's posters(线段树区间问题)
须要离散化处理,线段树的区间改动问题. 须要注意的就是离散化的时候,由于给的数字是一段单位长度,所以须要特殊处理(由于线段的覆盖和点的覆盖是不一样的) 比方:(1,10)(1,4) (6,10) 离散 ...
- angularjs中常见错误
使用angularjs时间不是非常长,理解不够透彻.但为刚開始学习的人还是能够帮助点的. 1.回调函数. . ...-->切记它是异步的,出现莫名其妙的问题记得查看一下 2.内存泄露. .... ...