html中菜单触碰变色,利用css filter实现菜单图片变色效果
需求场景
在制作菜单时,未增加响应效果,往往会加入鼠标移入移出时字体和图标进行变色的效果,字体的颜色变化比较好控制,通过color便可以设置,但如果图标是使用的图片,往往要一个图标制作两份不同颜色的图片,还需要javascript代码进行动态替换,比较繁琐。所以在项目中我们寻求一种比较简单、易于需求变更后进行维护的方式。
使用css filter进行实现
准备图片
假设我们的原始图片主色调为 #1296DB
制作一个简单的无背景色的横向菜单
为菜单添加背景(大多菜单栏都会有背景)
ul.horMenu {
list-style: none;
margin: 0;
padding: 0;
background-color: #5C9CCC;
}
ul.horMenu > li {
display: inline-block;
height: 32px;
padding: 0 8px;
line-height: 32px;
cursor: pointer;
}
ul.horMenu > li > img {
height: 32px;
width: 32px;
padding: 8px;
box-sizing: border-box;
display: inline-block;
vertical-align: top;
}
ul.horMenu > li > span {
color: white;
display: inline-block;
vertical-align: top;
}
效果图:
此时,我们的图片已经与背景搭配的不是那么协调。
通过css filter改变图片颜色为白色 主要通过filter: brightness(100);语句:
ul.horMenu > li > img {
height: 32px;
width: 32px;
padding: 8px;
box-sizing: border-box;
display: inline-block;
vertical-align: top;
filter: brightness(100);
}
之后菜单效果为:
添加菜单移入移出效果,鼠标移入背景变为浅色,字体和图标变为#1296DB
ul.horMenu > li:hover {
background-color: #E6F7FF;
}
ul.horMenu > li:hover img {
filter: brightness(0);
filter: grayscale(0);
}
ul.horMenu > li:hover > span {
color: #1296DB;
}
图片部分主要是搭配使用:filter: brightness(0); filter: grayscale(0);
最终效果:
注意:filter属性在老旧IE浏览器下并为得到很好的支持,因此使用时一定要注意。
html中菜单触碰变色,利用css filter实现菜单图片变色效果相关推荐
- 前端开发者如何利用 CSS 实现酷炫的变色方案?
作者 | 小胡 责编 | 郭芮 说到图片处理,我们经常会想到PhotoShop这类的图像处理工具.作为前端开发者,我们经常会需要处理一些特效,例如根据不同的状态,让图标显示不同的颜色.或者是hover ...
- [Unity学习笔记]2D游戏中的触碰/OnMouseDown
[Unity学习笔记]2D游戏中的触碰/OnMouseDown 这种情况多用于2D游戏的触屏 1.给2D游戏对象加上collider 2D,让其能够被检测到
- 转:人际交往过程中不能触碰的18条铁律
个人理解: 不要等明天交不上差再找借口,今天就要找好. 世上70%的烦恼由沟通不畅所致. 自负是大自然对自卑的补偿. 只要你不认为自己吃了亏,别人也就一定没占着便宜. 人际交往过程中不能触碰的18条铁 ...
- html用css完成动画效果图,利用CSS Sprite实现PNG图片动画
利用CSS Sprite实现PNG图片动画 12月 6, 2012 评论 (6) Sponsor 如题,今天将会和大家讲解如何利用CSS Sprite(CSS雪碧)来实现PNG图片动画,就像GIF一样 ...
- 用CSS Filter 可以实现相同的效果
用CSS Filter 可以实现相同的效果,而且可以省去图片,代码如下: <table width="100%" height="133" border ...
- [css] 使用css写一个垂直翻转图片的效果
[css] 使用css写一个垂直翻转图片的效果 transform: rotateX(180deg); /* 垂直镜像翻转 */ 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持 ...
- [CSS] CSS实现鼠标移入图片放大效果
CSS实现鼠标移入图片放大效果 一般在官网比较常见这种动效,当鼠标移入图片时可以看到视觉放大的效果,这里用到一个css属性 object-fit: cover; object-fit 属性 objec ...
- 网站运营过程中经常触碰的几大误区
网站建设也不是一件容易的事,需要网站运营者有敏锐的市场观察力,建设成功后也不是放置不动就可以了,关于网站建设和运营过程中经常容易触碰的几个误区来总结一下: 1.只关心价格的高低,不注重质量的好坏 随着 ...
- html下拉菜单原理,HTML5 教程之CSS 下拉菜单
CSS 下拉菜单 使用 CSS 创建一个鼠标移动上去后显示下拉菜单的效果. 下拉菜单实例 实例演示 1 文本下拉菜单 实例演示 2 下拉菜单 实例演示 3 基本下拉菜单 当鼠标移动到指定元素上时,会出 ...
最新文章
- 数据蒋堂 | 多维分析预汇总的存储容量
- VC++动态链接库(DLL)编程(一)――理解库
- 区分TTL、MSL、RTT
- 反思前进路上碰到困难时 应有的应对方法
- IO-BufferedInputStream
- JAVA类的继承、覆写和final关键字
- linux6.5如何打开ftp服务,CentOs6.5上快速搭建ftp服务器
- Spark中foreachRDD、foreachPartition和foreach解读
- 电源-主动式PFC介绍
- 薄荷Android团队招聘啦
- 算法: 239. 滑动窗口的最大值
- 基于JavaSwing+mysql的酒店管理系统设计和实现
- 计算机选择固态硬盘,好马配好鞍,电脑是选固态硬盘还是机械硬盘?
- 计算机监控系统在地铁中的应用有哪些,电力监控系统(PSCADA)在地铁中应用.doc
- 华硕路由架设php,华硕 RT-AC68U 路由模式默认 VLAN
- web sql indexedDB
- windows打印机 学习
- 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。
- 数字电路要点总结-TTL电路分析
- 静生定,定生慧,慧至从容