项目要求是自定义字体图标,使用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之自定义字体图标(鼠标覆盖时切换颜色)的更多相关文章

  1. CSS学习笔记----CSS3自定义字体图标

    响应式网页字体图标 作者:大漠 日期:2014-01-28 点击:3220 @font-face Responsive 本文由大漠根据Jason的<Responsive Webfont Icon ...

  2. fontawesome-iconpicker 自定义字体图标选择器

    官网地址:https://farbelous.io/fontawesome-iconpicker/ 头部文件引入 <!--本地地址--> <link href="../cs ...

  3. 微信小程序中使用iconfont/font-awesome等自定义字体图标

    小程序不能识别外部字体文件,但是转换成Base64就可以使用字体图标了. 以阿里巴巴的iconfont为例 1.下载图标 先去官网下载喜欢的图标==> 下载解压后的文件夹==> 2.在线转 ...

  4. layui 自定义字体图标 扩展

    layui的图标取自于阿里巴巴的矢量图标库 Iconfont,同样的,这篇教程也是基于Iconfont进行扩展. 第一步,通过浏览器打开 http://iconfont.cn/ ,访问阿里巴巴矢量图标 ...

  5. 在webstorm开发微信小程序之使用阿里自定义字体图标

    1.下载阿里图标,解压出来之后有个.css文件 然后复制这css里面的所有代码 2.新建一个wxss文件,例如我新建的就是iconfont.wxss,然后把刚才复制的所有代码,复制到这个文件里面去. ...

  6. EasyUI portal自定义小图标,不是用js方式加载

    <script src="~/Scripts/jquery.portal.js"></script> <script> $(function ( ...

  7. 【学习笔记01】:hover为DIV添加鼠标悬停时改变颜色的效果

    :hover所有主流浏览器都支持(IE6.0以下支持不好,以后再学习用Javascript来实现悬停效果) 这是一个绿色底白色Icon的搜索按钮

  8. element-ui 中 table 鼠标悬停时背景颜色修改

    样式穿透: /deep/ .el-table tbody tr:hover>td { background-color: #颜色 }

  9. Android怎么使用字体图标 自定义FontTextView字体图标控件-- 使用方法

    首先我想说明一下字体图标的好处,最大的好处就是自适应了,而且是使用TextView 不用去切图,是矢量图 灵活调用 第一步我要说明一下一般字体图标的来源,我这里使用的是  --阿里巴巴矢量图标库 -网 ...

随机推荐

  1. mysql 分库分表 ~ 方案选择浅谈

    一 简介:分库分表的理解二 具体: 1 当由于单台DB业务增长导致的服务器压力时,就必须横向进行扩展              2 本文仅从中间层观点进行分析三 现有方案  方案1 sharding家 ...

  2. 中国各省市县级 JSON 文件

    参考链接:https://blog.csdn.net/lzhlzz/article/details/41347929

  3. C&C++动态分配内存(手动分配内存)三种方式

    1. malloc函数 函数原型:void *malloc(unsigned int size)函数的作用是:在内训的动态存储区开辟一个size个字节的连续空间,返回所分配区域的首字节地址. 可以看到 ...

  4. 什么是联机分析处理(OLAP)

    OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 (OLTP) 明显区分开来. 当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction pro ...

  5. WPF DataGrid 列显示0,-1(作废、删除)状态,1,2(支出、收入)类型,操作人(在其他表中),如何转换格式。

    操作人,左联,Join on letf //容我补充 状态,类型,类似的转换,在xmlns中引入common   xmlns:com="clr-namespace:XXX.Common&qu ...

  6. JavaWeb - 目录

    参考:https://www.cnblogs.com/xdp-gacl/tag/JavaWeb%E5%AD%A6%E4%B9%A0%E6%80%BB%E7%BB%93/default.html?pag ...

  7. Des加密解密算法java实现

    package tech.fullink.eaglehorn.utils; import javax.crypto.Cipher; import javax.crypto.SecretKey; imp ...

  8. Golang记录、计算函数执行耗时、运行时间的一个简单方法

    // 写超时警告日志 通用方法   func TimeoutWarning(tag, detailed string, start time.Time, timeLimit float64) {    ...

  9. MySQL:Your password has expired. To log in you must change it using a client that supports expired passwords

    MySQL:V5.6.37 安装后发现没远程权限,为了方便,就直接把hostname@root修改为%@root,密码修改为和localhost@root一样 然后尴尬的事情发生了,本地登陆正常,远程 ...

  10. EntityFramework之事务

    一.EF事务 引用程序集 using System.Transactions; 用法 var writer = new System.IO.StringWriter(); try { using (v ...