- Ionic 头部和底部
lly202406
开发语言
Ionic头部和底部Ionic是一个强大的开源框架,用于构建高性能、高质量的移动和桌面应用程序。它以其优雅的UI组件和强大的功能而闻名,其中包括头部(Header)和底部(Footer)组件。本文将详细介绍Ionic框架中的头部和底部组件,包括它们的用途、配置选项以及如何在Ionic应用程序中实现它们。Ionic头部组件Ionic头部组件通常用于显示应用程序的标题、副标题和导航按钮。它是应用程序界
- 每日CSS一道题day01
[代码的搬运工]
html布局csshtml前端css
内容:什么是双飞翼布局以及如何书写?原理:左右固定宽高,利用定位、负定位距离,实现中间的宽度自适应代码演示:HTML:头部中左右头部这里引入头部和尾部是为了突出如何在具体内容插入一个双飞翼布局CSS:/*去除浏览器默认样式*/*{margin:0;padding:0;}.header,.footer{height:200px;width:100%;background-color:aqua;}/*
- java使用itext 直接生成pdf
二掌柜,酒来!
需求实现javapdfpython
itext使用需求背景itext的使用依赖简单示例基础设置(页面大小、边距、字体等)段落内部,特殊设置关键字字体或颜色生成动态表格页脚展示页数其他设置密码添加水印(背景图)目录Header,Footer分割PDF合并PDF需求背景在工作中经常会有生成pdf文件的需求,大多数情况下,我们只需要使用pdf模版添加表单域,就足以胜任了。但是有一些特殊的需求,需要生成较为复杂的文件,如动态数据表格、插入图
- vue Element-ui el-table合计行样式自定义、不换行显示
一撇一画
笔记vue.jshtmljavascript
本项目由于合计汇总数字太多太长,又不能改变原width的情况下,就自定义样式超出点点点了,又要鼠标悬浮看全。js(设置‘title’)配合css(不换行)watch:{//loading为v-loadingloading(bool){!bool&&setTimeout(()=>{constnodeList=this.footerTr||[]nodeList.forEach<
- Vue笔记 -- CSS之清除浮动
lyking
一、代码如下HTMLCSS.container{border:4pxsolidred;overflow:hidden;}.left{width:100px;height:400px;background-color:#482;float:left;}.right{width:200px;height:400px;background-color:#d96;float:right;}.footer{
- <el-table>组件show-summary合计行合并方法
weixin_52137539
前端javascriptvue.js
elementtable组件中通过show-summary生成的合并行无法通过span-method方式实现合并行;watch:{ tableData:{ immediate:true, handler(){ setTimeout(()=>{ consttds=document.querySelectorAll('#table.el-table__footer
- listview的addHeaderView和addFooterView的几点笔记
_沐风_
androidandroidlistview
转载自https://software.intel.com/zh-cn/blogs/2014/12/15/android-listview-addheaderview-addfooterviewaddHeaderView()方法:主要是向listView的头部添加布局addFooterView()方法:主要是向listView的底部添加布局需要注意的是添加布局的时候应该添加从父容器开始添加,而不能
- 解决安卓网页底部导航栏被键盘顶起来
Mirror_b932
最近做网页前端遇到的问题,在安卓端定位在底部的footer会被系统软键盘顶起来,例如下图:例在网上找了一天,没有找到合适的方法解决,别的网站有底部导航栏的也基本没有解决这个问题,可能都不care这点事吧--,但我觉得还是要解决的。。。综合下失败的原因找出了解决方案:关键词:resize、localstorage或者cookie附代码因为现在移动端浏览器会自动隐藏导航栏的,所以需要存储一个原始的屏幕
- vscode+JS-CSS-HTML Formatter 坑了thinkphp5
smartcoach
随手使用小记web前端技术
遇到一个垃圾问题,因为用的是vscode同时安装了JS-CSS-HTMLFormatter插件来格式化html、css、js。基本没去管过配置,用的就是默认的。今天在处理一个thinkphp5的项目时候遇到一个问题{includefile="common/footer"/}引用公共的底部组件,但奇怪的事出现了,include无效,直接在页面上显示出来了字符串!直接说结果,就是JS-CSS-HTML
- React中的有状态组件和无状态组件的区别是什么?
汉武大帝·
react.jsjavascriptecmascript
有状态组件:有状态组件,它属于一个class类,有继承,可以通过this来接收状态和属性,如果你想用react的生命周期,想对一些数据进行增删改查的话就要用到有状态组件importReact,{Component}from'react' classFooterextendsComponent{ render(){ return( ) }}exportdefaultFoot
- Doris存储层设计介绍1——存储结构设计解析(索引底层结构)
爱吃辣条byte
#Doris大数据数据库sql
目录一、概述1.1存储结构的整体介绍1.2存储结构的设计目标二、存储文件格式2.1存储目录结构编辑2.2Segmentv2文件结构三、Footer信息3.1列的meta信息3.2列索引的meta信息四、前缀索引(ShortKeyIndex)4.1功能介绍4.2索引生成4.3索引的底层存储结构4.3.1Segmentfooter4.3.2ShortKeyPage4.4查询过滤4.5应用案例五、Ord
- 文件包含漏洞
Ryongao
网络安全文件上传文件包含
文件包含漏洞概述什么是文件包含开发人员将需要重复调用的函数写入一个文件,对该文件进行包含时产生的操作。这样编写代码能减少代码几余,降低代码后期维护难度保证网站整体风格统下:导航栏、底部footer栏等。漏洞产生原因文件包含函数加载的参数没有经过过滤或严格定义,可以被用户控制包含其他恶意文件,导致了执行非预期代码。常见漏洞代码:访问的URL:http://xxx/xxx.php?filename=s
- 修改tableHeaderView和tableFooterView的高度
Trigger_o
需要关注两个方面,一个是tableHeaderView属性指向的那个view本身的高度,另一个是tableview的contentSizetableHeaderView的高度可以用frame设置也可以用autolayout但是!!!只修改tableHeaderView的高度,会显示不全,滑动不上去因此需要加上self.tableView.tableHeaderView=xxxxView来重新设置一
- MJRefresh适应iPhoneX的安全区域问题
iLeooooo
当tableView的底部与屏幕最下部对齐时,由于scrollview自动适应安全区域,tableview的内边距下端变成了34,所以加载脚部图出现了。如果table的y是从顶部开始的,加载头部也会出来通过设置:table.mj_footer.ignoredScrollViewContentInsetBottom=iPhoneX?34:0;即可解决同理,头部加载图显现的话,设置ignoredScr
- Flutter-GridPaper、GridTile、GridTileBar
哎呀啊噢
介绍:GirdView的item展现形式,会在item控件上层浮现网格,用于WidgetApp视图开发,其实在MaterialApp中把debugShowMaterialGird开启,也是默认显示GridPaper;GridTileBar通常用来做GridTile的header或footer组件;GridTile主要作为GridView子child,提供丰富的页眉和页脚;使用:作为子child可以
- iOS-给collection view添加header view/footer view
wsmmint
可以不像网上给出的方法那么麻烦可以直接在collectionview上面添加一个label即可在collectionview上面添加一个label如果有xib的话,需要先在collectionview那里选择sectionHeader选项在xib勾选选项
- css元素显示模式(行内、块级、行内块)
lxl211
csscsscss3前端
1.块级元素显示特点:1、独占一行(一行只能显示一个)2、宽度默认是父元素的宽度,高度默认由内容撑开3、可以设置宽高代表标签:div、p、h系列、ul、li、dl、dt、dd、form、header、anv、footerdiv:nth-child(1){/*块级元素默认和父亲一样宽度*/height:300px;background-color:pink;}关于块级元素的一些想法如果想让一个块级盒
- 元素显示模式
2301_81054073
css
1.块级元素显示特点:1.独占一行(一行只能显示一个)宽度默认是父元素的宽度可以设置宽高代表标签:div、p、h系列、ul、li、dl、dd、from、header、nav、footer......2.行内元素显示特点:一行可以显示多个宽度和高度默认由内容撑开不可以设置宽高代表标签:a、span、b、u、i、s、strong、ins、em、del......3.行内块元素显示特点:一行可以显示多个
- 元素显示模式
2301_81054073
css
1.块级元素显示特点:1.独占一行(一行只能显示一个)宽度默认是父元素的宽度可以设置宽高代表标签:div、p、h系列、ul、li、dl、dd、from、header、nav、footer......2.行内元素显示特点:一行可以显示多个宽度和高度默认由内容撑开不可以设置宽高代表标签:a、span、b、u、i、s、strong、ins、em、del......3.行内块元素显示特点:一行可以显示多个
- 项目优化
刘松阳
1.从用户角度而言,优化能够让页面加载得更快、对用户的操作响应得更及时,能够给用户提供更为友好的体验。2.从服务商角度而言,优化能够减少页面请求数、或者减小请求所占带宽,能够节省可观的资源。h5的优化1.减少多余的dom节点嵌套2.标签的语义化使用,比如标题就用h1-h6,图文列表用figurefigcaption,头部用header,底部footer,导航nav,侧边菜单栏aside,文章用ar
- 上下定高 中间自适应_上下固定中间自适应布局
weixin_39542514
上下定高中间自适应
1.使用绝对定位对这三栏都实现绝对定位,其中中间绝对定位的位置是上下两栏的高度,内容超出则中间部分出现流动条;代码实现:绝对定位实现html,body,div{padding:0;margin:0;}.header{position:absolute;top:0;/*头部绝对定位位置*/height:100px;width:100%;background:red;}.footer{position
- class,id,var命名
庄海鑫
CSS的class、id命名是一个很头疼的问题。查完又忘,忘完又查,索性将这些常用的命名都写在一块,找个时间特意记一下,只需一个小时的时间,应该可以把他们都记住。常见命名1.wrap或.wrapper--用于外侧包裹.container或.ct--包裹容器.header--用于头部.body--页面body.footer--页面尾部aside、sidebar--用于侧边栏.content--和he
- Web入门梳理:HTML5
baby_hua
Web前端html
html52008年HTML5HTML的新版本,新标准;常用新标签相关内容可查看:W3C手册header:文档页面头部nav:导航链接部分footer:文档页脚底部article:文章section:章节/区段aside:内容之外的侧边内容datalist:标签定义选项列表,需要与input配合使用fieldset:可将表单内的相关元素分组、打包;与legend搭配使用;123区域标题用户名:密码
- vue3 之 商城项目—layout静态模版结构搭建
jiojio在学习勒
vue3vuevue.jselementplus
layout—模块静态模版搭建一般情况下我们会有nav区域,header区域,二级路由出口区域以及footer区域,如图我们在开发的时候先把大模块搭建起来,再一步一步填充小模块在layout下建文件,目录如下在index.vue中把上面文件引入进来importLayoutNavfrom'./components/LayoutNav.vue'importLayoutHeaderfrom'./comp
- Vue父组件获取子组件methods函数的方法汇总
黒客与画家
vue-jsvue.js
1.父组件中获取子组件方法$children属性importvHeaderfrom'./Header';importvContentfrom'./Content';importvFooterfrom'./Footer';exportdefault{components:{vHeader,vContent,vFooter},created(){console.log(this.$children)/
- CSS 几种布局方式.
人话博客
纵向布局三行等宽居中纵列布局.image.pngCSS代码结构*{margin:0;padding:0;}div{/*居中*/margin:0auto;/*宽度一直*/width:800px;}.header{height:100px;background:red;}.content{min-height:700px;background:green;}.footer{height:100px;b
- 好看的安全跳转单页html源码
酷爱码
htmlhtml安全javascript
好看的安全跳转单页html源码,效果如下代码如下:.ie8.alert-circle,.ie8.alert-footer{display:none}.ie8.alert-box{padding-top:75px}.ie8.alert-sec-text{top:45px}正在跳转QQ沐编程...body{margin:0;padding:0;background:#E6EAEB;font-famil
- 【Bootstrap学习笔记】7.模态框插件
sunraito
bootstrap
十三、模态框插件学习内容模态框插件模态框的大小模态框淡入淡出效果模态框用法说明(用法、参数、方法、事件)●模态框插件1.交互网站非常常见的弹出窗插件2.模态框的弹窗组件需要三层div容器,分别是modal(模态声明层)、dialog(窗口声明层)、content(内容层)。content里还包括三层,分别是header(头部)、body(主体)、footer(注脚)步骤:1.布置三层div容器(.
- 蓝桥杯Web应用开发-HTML5新特性
AAA_建筑材料批发叶总
蓝桥杯Web应用开发(大学组)前端html5html蓝桥杯
蓝桥杯Web应用开发-HTML5新特性专栏持续更新中HTML5新增的特性如下:•新的语义标签,比如header、nav、section、article、footer。•新的表单元素,比如calendar、date、time、email、url、search。•用于绘画的canvas元素。•用于媒介回放的video和audio元素。•对本地离线存储的更好支持。•地理位置、拖曳、摄像头等API。知识点
- Web网页设计作业html
周末简设
网页设计html前端css
/主题/《周末の天空》/前话/周末的天空如此蓝,阳光如此的温暖,可总是不能长久,时间转瞬,希望曾经关心自己和自己关心的人一切都安好,言归正传,该模板为纯html5模板,样式简单,页面都是以DIV+CSS实现线性布局,运用html5技术,包括nav标签、header标签和footer标签等,支持PC端和手机端。/图摘//设计/
- 如何用ruby来写hadoop的mapreduce并生成jar包
wudixiaotie
mapreduce
ruby来写hadoop的mapreduce,我用的方法是rubydoop。怎么配置环境呢:
1.安装rvm:
不说了 网上有
2.安装ruby:
由于我以前是做ruby的,所以习惯性的先安装了ruby,起码调试起来比jruby快多了。
3.安装jruby:
rvm install jruby然后等待安
- java编程思想 -- 访问控制权限
百合不是茶
java访问控制权限单例模式
访问权限是java中一个比较中要的知识点,它规定者什么方法可以访问,什么不可以访问
一:包访问权限;
自定义包:
package com.wj.control;
//包
public class Demo {
//定义一个无参的方法
public void DemoPackage(){
System.out.println("调用
- [生物与医学]请审慎食用小龙虾
comsci
生物
现在的餐馆里面出售的小龙虾,有一些是在野外捕捉的,这些小龙虾身体里面可能带有某些病毒和细菌,人食用以后可能会导致一些疾病,严重的甚至会死亡.....
所以,参加聚餐的时候,最好不要点小龙虾...就吃养殖的猪肉,牛肉,羊肉和鱼,等动物蛋白质
- org.apache.jasper.JasperException: Unable to compile class for JSP:
商人shang
maven2.2jdk1.8
环境: jdk1.8 maven tomcat7-maven-plugin 2.0
原因: tomcat7-maven-plugin 2.0 不知吃 jdk 1.8,换成 tomcat7-maven-plugin 2.2就行,即
<plugin>
- 你的垃圾你处理掉了吗?GC
oloz
GC
前序:本人菜鸟,此文研究学习来自网络,各位牛牛多指教
1.垃圾收集算法的核心思想
Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象。该机制可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。
垃圾收集算法的核心思想是:对虚拟机可用内存空间,即堆空间中的对象进行识别
- shiro 和 SESSSION
杨白白
shiro
shiro 在web项目里默认使用的是web容器提供的session,也就是说shiro使用的session是web容器产生的,并不是自己产生的,在用于非web环境时可用其他来源代替。在web工程启动的时候它就和容器绑定在了一起,这是通过web.xml里面的shiroFilter实现的。通过session.getSession()方法会在浏览器cokkice产生JESSIONID,当关闭浏览器,此
- 移动互联网终端 淘宝客如何实现盈利
小桔子
移動客戶端淘客淘寶App
2012年淘宝联盟平台为站长和淘宝客带来的分成收入突破30亿元,同比增长100%。而来自移动端的分成达1亿元,其中美丽说、蘑菇街、果库、口袋购物等App运营商分成近5000万元。 可以看出,虽然目前阶段PC端对于淘客而言仍旧是盈利的大头,但移动端已经呈现出爆发之势。而且这个势头将随着智能终端(手机,平板)的加速普及而更加迅猛
- wordpress小工具制作
aichenglong
wordpress小工具
wordpress 使用侧边栏的小工具,很方便调整页面结构
小工具的制作过程
1 在自己的主题文件中新建一个文件夹(如widget),在文件夹中创建一个php(AWP_posts-category.php)
小工具是一个类,想侧边栏一样,还得使用代码注册,他才可以再后台使用,基本的代码一层不变
<?php
class AWP_Post_Category extends WP_Wi
- JS微信分享
AILIKES
js
// 所有功能必须包含在 WeixinApi.ready 中进行
WeixinApi.ready(function(Api) {
// 微信分享的数据
var wxData = {
&nb
- 封装探讨
百合不是茶
JAVA面向对象 封装
//封装 属性 方法 将某些东西包装在一起,通过创建对象或使用静态的方法来调用,称为封装;封装其实就是有选择性地公开或隐藏某些信息,它解决了数据的安全性问题,增加代码的可读性和可维护性
在 Aname类中申明三个属性,将其封装在一个类中:通过对象来调用
例如 1:
//属性 将其设为私有
姓名 name 可以公开
- jquery radio/checkbox change事件不能触发的问题
bijian1013
JavaScriptjquery
我想让radio来控制当前我选择的是机动车还是特种车,如下所示:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"><
- AngularJS中安全性措施
bijian1013
JavaScriptAngularJS安全性XSRFJSON漏洞
在使用web应用中,安全性是应该首要考虑的一个问题。AngularJS提供了一些辅助机制,用来防护来自两个常见攻击方向的网络攻击。
一.JSON漏洞
当使用一个GET请求获取JSON数组信息的时候(尤其是当这一信息非常敏感,
- [Maven学习笔记九]Maven发布web项目
bit1129
maven
基于Maven的web项目的标准项目结构
user-project
user-core
user-service
user-web
src
- 【Hive七】Hive用户自定义聚合函数(UDAF)
bit1129
hive
用户自定义聚合函数,用户提供的多个入参通过聚合计算(求和、求最大值、求最小值)得到一个聚合计算结果的函数。
问题:UDF也可以提供输入多个参数然后输出一个结果的运算,比如加法运算add(3,5),add这个UDF需要实现UDF的evaluate方法,那么UDF和UDAF的实质分别究竟是什么?
Double evaluate(Double a, Double b)
- 通过 nginx-lua 给 Nginx 增加 OAuth 支持
ronin47
前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGeek 在过去几年中取得了发展,我们已经积累了不少针对各种任务的不同管理接口。我们通常为新的展示需求创建新模块,比如我们自己的博客、图表等。我们还定期开发内部工具来处理诸如部署、可视化操作及事件处理等事务。在处理这些事务中,我们使用了几个不同的接口来认证:
&n
- 利用tomcat-redis-session-manager做session同步时自定义类对象属性保存不上的解决方法
bsr1983
session
在利用tomcat-redis-session-manager做session同步时,遇到了在session保存一个自定义对象时,修改该对象中的某个属性,session未进行序列化,属性没有被存储到redis中。 在 tomcat-redis-session-manager的github上有如下说明: Session Change Tracking
As noted in the &qu
- 《代码大全》表驱动法-Table Driven Approach-1
bylijinnan
java算法
关于Table Driven Approach的一篇非常好的文章:
http://www.codeproject.com/Articles/42732/Table-driven-Approach
package com.ljn.base;
import java.util.Random;
public class TableDriven {
public
- Sybase封锁原理
chicony
Sybase
昨天在操作Sybase IQ12.7时意外操作造成了数据库表锁定,不能删除被锁定表数据也不能往其中写入数据。由于着急往该表抽入数据,因此立马着手解决该表的解锁问题。 无奈此前没有接触过Sybase IQ12.7这套数据库产品,加之当时已属于下班时间无法求助于支持人员支持,因此只有借助搜索引擎强大的
- java异常处理机制
CrazyMizzz
java
java异常关键字有以下几个,分别为 try catch final throw throws
他们的定义分别为
try: Opening exception-handling statement.
catch: Captures the exception.
finally: Runs its code before terminating
- hive 数据插入DML语法汇总
daizj
hiveDML数据插入
Hive的数据插入DML语法汇总1、Loading files into tables语法:1) LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]解释:1)、上面命令执行环境为hive客户端环境下: hive>l
- 工厂设计模式
dcj3sjt126com
设计模式
使用设计模式是促进最佳实践和良好设计的好办法。设计模式可以提供针对常见的编程问题的灵活的解决方案。 工厂模式
工厂模式(Factory)允许你在代码执行时实例化对象。它之所以被称为工厂模式是因为它负责“生产”对象。工厂方法的参数是你要生成的对象对应的类名称。
Example #1 调用工厂方法(带参数)
<?phpclass Example{
- mysql字符串查找函数
dcj3sjt126com
mysql
FIND_IN_SET(str,strlist)
假如字符串str 在由N 子链组成的字符串列表strlist 中,则返回值的范围在1到 N 之间。一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则 FIND_IN_SET() 函数被优化,使用比特计算。如果str不在strlist 或st
- jvm内存管理
easterfly
jvm
一、JVM堆内存的划分
分为年轻代和年老代。年轻代又分为三部分:一个eden,两个survivor。
工作过程是这样的:e区空间满了后,执行minor gc,存活下来的对象放入s0, 对s0仍会进行minor gc,存活下来的的对象放入s1中,对s1同样执行minor gc,依旧存活的对象就放入年老代中;
年老代满了之后会执行major gc,这个是stop the word模式,执行
- CentOS-6.3安装配置JDK-8
gengzg
centos
JAVA_HOME=/usr/java/jdk1.8.0_45
JRE_HOME=/usr/java/jdk1.8.0_45/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME
- 【转】关于web路径的获取方法
huangyc1210
Web路径
假定你的web application 名称为news,你在浏览器中输入请求路径: http://localhost:8080/news/main/list.jsp 则执行下面向行代码后打印出如下结果: 1、 System.out.println(request.getContextPath()); //可返回站点的根路径。也就是项
- php里获取第一个中文首字母并排序
远去的渡口
数据结构PHP
很久没来更新博客了,还是觉得工作需要多总结的好。今天来更新一个自己认为比较有成就的问题吧。 最近在做储值结算,需求里结算首页需要按门店的首字母A-Z排序。我的数据结构原本是这样的:
Array
(
[0] => Array
(
[sid] => 2885842
[recetcstoredpay] =&g
- java内部类
hm4123660
java内部类匿名内部类成员内部类方法内部类
在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号。内部类可以间接解决多继承问题,可以使用内部类继承一个类,外部类继承一个类,实现多继承。
&nb
- Caused by: java.lang.IncompatibleClassChangeError: class org.hibernate.cfg.Exten
zhb8015
maven pom.xml关于hibernate的配置和异常信息如下,查了好多资料,问题还是没有解决。只知道是包冲突,就是不知道是哪个包....遇到这个问题的分享下是怎么解决的。。
maven pom:
<dependency>
<groupId>org.hibernate</groupId>
<ar
- Spark 性能相关参数配置详解-任务调度篇
Stark_Summer
sparkcachecpu任务调度yarn
随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化。
由于篇幅较长,所以在这里分篇组织,如果要看最新完整的网页版内容,可以戳这里:http://spark-config.readthedocs.org/,主要是便
- css3滤镜
wangkeheng
htmlcss
经常看到一些网站的底部有一些灰色的图标,鼠标移入的时候会变亮,开始以为是js操作src或者bg呢,搜索了一下,发现了一个更好的方法:通过css3的滤镜方法。
html代码:
<a href='' class='icon'><img src='utv.jpg' /></a>
css代码:
.icon{-webkit-filter: graysc