easyui之自定义字体图标(鼠标覆盖时切换颜色)
项目要求是自定义字体图标,使用easyui框架结构,众所周知easyui强功能弱样式,字体图标其实就是一张图片。要达到切换图标颜色的效果,要么就是有两套图,使用js控制。但是我这个人比较懒,不喜欢做复杂的事情。“投机取巧”也造就了我痛苦的过程。
之前项目使用的框架是bootstrap,恰好和easyui反过来了强样式弱功能,样式用得我是春风得意,现在要换框架,也有自定义图标,心想着换汤不换药嘛,就用老办法使用bootstrap那一套,测试了一下没问题,心里还窃喜自己是个天才呢。后来才发现这个方法谷歌老大认,火狐兄弟不认哪,它就只是显示一个小小小小点,还提什么切换颜色简直天方夜谭。我滴个亲娘,差点泪奔。
好嘛我认了,用人家的东西肯定得按人家的规矩来,所以我挨个把字体图片按照16*16的标准做好了,也都显示了,现在就轮到图标颜色的切换上了,这可把我头都抓破了。首先在博客上看到张大神的思路,使用CSS3的新技能过滤器 “filter” ,哎呀妈这是个好东西,有了它还用什么js哟。我就按照这个思路来开始做。但是不完全一致,这里只是使用了主要的两个属性,因为我们项目中有多个地方都是使用的linkbutton,且大小不一,布局也是使用的vue进行渲染,牵一发而动全身,所以无法区别对待。
.l-btn-icon-left .l-btn-icon{
-webkit-filter: drop-shadow(30px 0);
filter: drop-shadow(30px 0);
left: -28px;
}
用了这个属性过后问题又来了,可以达到投影来切换的效果,火狐兄弟没问题,谷歌这回不开心了,但是原因不是不支持这个属性,而是需要投影两次(我组长发明的思路!!),谷歌才认。也就是鼠标覆盖前投影一次,鼠标覆盖后再次投影
一次,以此来达到想要的效果。(我自定义的图标颜色是黑色的,需要图标最原始的状态是白色,鼠标覆盖时显示黑色)。完整的css如下: 重中之重的样式,否则谷歌老铁不认的,它只认识你鼠标没有覆盖前投影的状态,只要你覆盖过,图标颜色就会回到最开始的状态,显然不合逻辑。
.l-btn:hover, .l-btn-left:hover {
background: #fff;
color: #000;
border-radius: 0;
.l-btn-icon-left .l-btn-icon{
-webkit-filter: drop-shadow(30px 0);
filter: drop-shadow(30px 0); //投影的距离是按照项目中图标位置来酌情调整的。
left: -28px;
}
}
.l-btn-icon-left .l-btn-icon{
-webkit-filter: drop-shadow(30px 0);
filter: drop-shadow(30px 0);
left: -28px;
}
终于结束了我的厄运,只不过这个想法确实很新颖,省事。
easyui之自定义字体图标(鼠标覆盖时切换颜色)的更多相关文章
- CSS学习笔记----CSS3自定义字体图标
响应式网页字体图标 作者:大漠 日期:2014-01-28 点击:3220 @font-face Responsive 本文由大漠根据Jason的<Responsive Webfont Icon ...
- fontawesome-iconpicker 自定义字体图标选择器
官网地址:https://farbelous.io/fontawesome-iconpicker/ 头部文件引入 <!--本地地址--> <link href="../cs ...
- 微信小程序中使用iconfont/font-awesome等自定义字体图标
小程序不能识别外部字体文件,但是转换成Base64就可以使用字体图标了. 以阿里巴巴的iconfont为例 1.下载图标 先去官网下载喜欢的图标==> 下载解压后的文件夹==> 2.在线转 ...
- layui 自定义字体图标 扩展
layui的图标取自于阿里巴巴的矢量图标库 Iconfont,同样的,这篇教程也是基于Iconfont进行扩展. 第一步,通过浏览器打开 http://iconfont.cn/ ,访问阿里巴巴矢量图标 ...
- 在webstorm开发微信小程序之使用阿里自定义字体图标
1.下载阿里图标,解压出来之后有个.css文件 然后复制这css里面的所有代码 2.新建一个wxss文件,例如我新建的就是iconfont.wxss,然后把刚才复制的所有代码,复制到这个文件里面去. ...
- EasyUI portal自定义小图标,不是用js方式加载
<script src="~/Scripts/jquery.portal.js"></script> <script> $(function ( ...
- 【学习笔记01】:hover为DIV添加鼠标悬停时改变颜色的效果
:hover所有主流浏览器都支持(IE6.0以下支持不好,以后再学习用Javascript来实现悬停效果) 这是一个绿色底白色Icon的搜索按钮
- element-ui 中 table 鼠标悬停时背景颜色修改
样式穿透: /deep/ .el-table tbody tr:hover>td { background-color: #颜色 }
- Android怎么使用字体图标 自定义FontTextView字体图标控件-- 使用方法
首先我想说明一下字体图标的好处,最大的好处就是自适应了,而且是使用TextView 不用去切图,是矢量图 灵活调用 第一步我要说明一下一般字体图标的来源,我这里使用的是 --阿里巴巴矢量图标库 -网 ...
随机推荐
- 假设程序需要一个int类型的变量来保持你所有的音乐CD的数量
假设程序需要一个int类型的变量来保持你所有的音乐CD的数量.初始值为0为该变量编写一条声明语句 int numCDs = 0;
- python - 获取win系统参数,发送/保存配置
import wmi import json c = wmi.WMI () msg = {} # 系统信息:系统版本,主机名,系统安装时间,系统位数,串口ID,总内存大小 system = ['Cap ...
- java基础梳理--朝花夕拾(一)
简介: Java是一种撰写跨平台应用软件的面向对象语言,1995年由Sun Microsystems公司推出. 2009年04月20日,甲骨文74亿美元收购Sun,取得java的版权. 2011年7月 ...
- Trickbot增加的远程应用程序凭证抓取功能
来源 https://blog.trendmicro.com/trendlabs-security-intelligence/trickbot-adds-remote-application-cred ...
- 【转】PEP8 规范
[转]PEP8 规范 Python PEP8 编码规范中文版 原文链接:http://legacy.python.org/dev/peps/pep-0008/ item detail PEP 8 ...
- k64 datasheet学习笔记45---10/100-Mbps Ethernet MAC(ENET)之概述
1.前言 k64 ENET CORE 实现了10M/100Mbps的Ethernet MAC,与IEEE802.3-2002标准兼容. MAC层与全双工/半双工的10M/100Mbps以太网兼容: M ...
- linux的/etc/profile环境变量设置不生效【原创】
设置/etc/profile的java环境变量不生效 修改环境变量 /etc/profile JAVA_HOME=/opt/software/jdk1..0_25 PATH=/usr/local/sb ...
- css利用padding百分比实现图片自适应高度
应用场景 宽高比率,实现图片自适应高度,防止图片加载过程高度为0,加载完图片高度撑起,它下面的div抖动问题 重点:CSS百分比padding都是相对宽度计算的 <div class=" ...
- (常用)configparser,hashlib,hamc模块
configparser模块 #专门解析my.ini这种形式的文件(cnf) import configparser config=configparser.ConfigParser() conf ...
- vscode 的使用笔记
1.使用vscode 的终端命令 ctrl + ~ 打开 vs 的终端 这是使用windows 自带的shell终端, 使用git.bash的shell 在设置里面,找到 terminal.int ...