项目要求是自定义字体图标,使用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. keepalived高可用系列~keepalived+mysql

    一 简介:建立读写分离模式 二 keepalived相关配置 vrrp_instance VI_1 {  state MASTER  // 可修改  interface eth0  virtual_r ...

  2. 1173 - The Vindictive Coach

    题目大意:n个不同身高的队员和教练的按照身高排成波浪形……每个人按照身高由低到高编号,其中第m个是教练,他必须在第一个,如果条件允许,排第二的要比m低,如果条件不允许,即其余人都比教练高,则要让差距尽 ...

  3. ES6学习笔记四(类和对象)

    { // 构造函数和实例 class Parent{ constructor(name='mukewan'){ this.name=name; } } let v_parent=new Parent( ...

  4. 【转】浅谈Java中的hashcode方法

    哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: public native int hashCode(); 根据这个 ...

  5. 词向量之Word2vector原理浅析

    原文地址:https://www.jianshu.com/p/b2da4d94a122 一.概述 本文主要是从deep learning for nlp课程的讲义中学习.总结google word2v ...

  6. CROSS APPLY和 OUTER APPLY

    背景 好强大的sql,但是我好想真极少用过这两个函数,再次强调,不要总是用sql解决问题.让人欢喜让人悲的sql. --  cross applyselect *  from TABLE_1 T1cr ...

  7. Ajax使用formdata异步上传文件,报错the request was rejected because no multipart boundary was found

    基于jQuery的Ajaxs使用FormData上传文件要注意两个参数的设定 processData设为false 把processData设为false,让jquery不要对formData做处理, ...

  8. Centos 7 安装Docker-ce记录

    以前尝试过在centos 6上安装Docker , 需要升级内核,支持aufs,比较麻烦:在使用过程中出现过Docker挂掉的情况,官方建议在64 位 centos 7 上运行,本文将安装步骤记录下来 ...

  9. Linux数字雨

    <黑客帝国>电影里满屏幕代码的"数字雨",在 Linux 里面你也可以轻松实现这样的效果,你只需要一个命令 cmatrix . 需要先安装,因为 Ubuntu 没有预装 ...

  10. 前端-----JavaScript 初识基础

    JavaScript的组成 JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:操作网页上的 ...