#includeusingnamespacestd;intmain(){//if语句intscore=0;cout>score;cout=90&&score=80&&score=70&&score=60&&score<70){cout<<"D"<
Python 数据分析实战:电商平台用户行为洞察与营销策略优化
萧十一郎@
pythonpython数据分析开发语言
目录一、案例背景二、代码实现2.1数据收集与导入2.2数据探索性分析2.3数据清洗2.4数据分析2.4.1用户行为随时间的变化2.4.2商品关联分析2.4.3用户购买转化率分析2.4.4用户价值分析(RFM模型)三、主要的代码难点解析3.1数据收集与导入3.2数据清洗-时间戳处理3.3数据分析-商品关联分析3.4数据分析-用户购买转化率分析3.5数据分析-用户价值分析(RFM模型)四、可能改进的代
深入浅出Docker:从零构建容器化开发能力
庸子
docker容器运维linux
目录一、容器革命:重新定义应用交付二、核心概念体系解析2.1镜像与容器2.2镜像构建哲学三、核心操作指令精要3.1容器生命周期管理3.2镜像管理进阶四、生产级实践指南4.1环境变量管理4.2持久化存储方案4.3网络架构设计五、持续交付流水线集成5.1Dockerfile优化原则5.2多环境配置策略六、安全加固要点一、容器革命:重新定义应用交付在传统软件部署中,环境差异导致的"在我机器上能跑"问题长
运维面试常问的100道题(大数据统计)
無爲謂
人工智能运维面试
一、基础知识类1、请解释什么是运维?运维是指对企业的IT系统进行运行维护,包括硬件设备、软件系统、网络等的监控、管理、优化和故障处理,以确保系统的稳定、高效运行,满足业务需求。2、简述运维的主要职责有哪些?服务器的安装、配置、维护和监控。网络设备的管理和维护。数据库的管理和维护。应用系统的部署、升级和维护。故障处理和应急响应。性能优化和容量规划。安全管理和漏洞修复。3、什么是服务器?有哪些类型?服
HarmonyOS Next ohpm-repo自动化运维——日志、备份与监控
harmonyos
在HarmonyOSNext开发过程中,ohpm-repo作为私有仓库管理工具,其稳定运行对于项目的顺利推进至关重要。有效的自动化运维是保障ohpm-repo高效运行的关键,涵盖日志管理、仓库备份与恢复以及批量操作等多个方面。接下来,我们详细探讨这些自动化运维能力。如何管理ohpm-repo的日志?ohpm-repo有一个内置的日志记录器,定义了四种日志类型,分别是访问日志(access.log)
批量请求微信小程序封禁状态的C++代码示例
小程序
标题:批量请求微信小程序封禁状态的C++代码示例概述:此C++代码示例将展示如何批量请求指定API接口,检查微信小程序是否被封禁。根据返回的code值,我们可以判断小程序是否被封禁,code为0时表示小程序被封禁,code为1表示正常。代码介绍:目标:通过C++编写批量请求的代码,检查多个小程序的封禁状态。使用的库:使用libcurl库来发送HTTP请求。libcurl是一个强大的库,广泛用于在C
基于oracle linux的 DBI/DBD 标准化安装文档(四)
linux
一、安装DBIDBI(DatabaseInterface)是perl连接数据库的接口。其是perl连接数据库的最优方法,他支持包括Orcale,Sybase,mysql,db2等绝大多数的数据库,下面将简要介绍其安装方法。1.1解压tar-zxvfDBI-1.616_901.tar.gz1.2安装依赖yuminstallperl-ExtUtils-CBuilderperl-ExtUtils-Mak
基于内容分块(CDC)的重删算法详解:原理、实现与优化
这个懒人
算法
引言在数据爆炸式增长的时代,存储资源优化成为技术领域的重要课题。重复数据删除(Deduplication)技术通过消除冗余数据副本,可将存储需求降低90%以上。其中基于内容分块(Content-DefinedChunking,CDC)算法凭借其对数据局部修改的强适应性,成为企业级备份系统、云存储服务的核心技术。一、CDC算法核心原理1.1动态分块vs静态分块传统固定分块算法将数据按固定大小(如4K
C# 分部类 详解
千亦学不会编程
c#开发语言
从C#2.0起支持分部类。分部类:是一个类的多个部分,编译器可把它们合并成一个完整的类。分部类的目的:将一个类的定义划分到多个文件中。通过分部类,由工具处理的文件可独立于开发者手动编码的文件。1.1定义分部类使用class前的上下文关键字partial来声明分部类。例子:partialclassProgram{}1.2分部方法从C#3.0引入分部方法概念,对C#2.0的分部类进行了扩展。分部方法只
mysql中json数组对象mybatis如何自动映射
需求:假如数据库某个表的一个字段是json数据类型,字段名是students,类型是,存的是json格式的学生数组,现要用一个List来接收,如何实现自动转换.1.实现TypeHandlerwhy?如果json字段存的是数组,直接使用"com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"会给你转成List类型;所以需要自己
CSS3学习教程,从入门到精通,CSS3 选择器权重问题语法知识点及案例代码(5)
知识分享小能手
网页开发编程语言如门前端开发css3学习前端html5htmljavacss
CSS3选择器权重问题语法知识点及案例代码一、选择器权重概述在CSS中,当多个选择器同时匹配同一个元素时,浏览器会根据选择器的权重来决定哪个样式生效。权重高的选择器的样式会覆盖权重低的选择器的样式。二、选择器权重计算规则1.内联样式(InlineStyles)内联样式直接写在HTML元素的style属性中,权重为1000。2.ID选择器(IDSelectors)ID选择器以#开头,权重为100。3
HTML 样式与布局初体验:学习进程中的关键节点(二)
计算机毕设定制辅导-无忧学长
#HTMLhtml学习css
学习中的困难与突破在学习HTML样式与布局的过程中,我也遇到了不少困难,这些困难就像是学习道路上的绊脚石,但也正是在克服它们的过程中,我实现了自我的突破和成长。(一)样式冲突:规则的碰撞样式冲突是我遇到的第一个难题。当使用多个CSS规则来定义同一个元素的样式时,由于选择器的优先级和规则的先后顺序不同,经常会出现样式不符合预期的情况。比如,我在一个项目中,同时使用了外部样式表和内嵌样式来设置按钮的样
wordpress导入mysql数据库文件的方法及注意事项
wodrpress资源分享
wordpress数据库mysqlwordpress
WordPress是一个流行的开源内容管理系统,通常用于构建网站和博客。它使用MySQL数据库来存储和管理网站数据。在某些情况下,您可能需要将现有的MySQL数据库导入到新的WordPress安装中。本文将介绍如何导入MySQL数据库文件到WordPress以及需要注意的事项。一、备份现有数据库在进行任何数据库导入操作之前,强烈建议您先备份现有的数据库。这样可以确保在导入过程中出现问题时,您不会丢
Python学习第十九天
Leo来编程
Python学习学习python
Django-分页后端分页Django提供了Paginator类来实现后端分页。Paginator类可以将一个查询集(QuerySet)分成多个页面,每个页面包含指定数量的对象。fromdjango.shortcutsimportrender,redirect,get_object_or_404from.modelsimportUserfrom.formsimportUserFormfromdja
Python入门到精通(三):数据结构第一部分
love9599
Python入门到精通python开发语言
python的常用数据结构类型字符型字典列表元组、集合一、序列序列:是python中的一类数据类型,比如字符串、列表序列类型的对象是可以进行循环变例的1.1序列特性索引:指的是在序列中找到指定元素的索引编号切片:指的是从序列中提取一部分内容加法:序列对象可以将多个序列合并成一个乘法:可以将序列通过乘法输出多个相同的1.2序列操作索引操作格式:序列名[索引值]#案例1:str1="hello"#定义
当大模型训练遇上“双向飙车”:DeepSeek开源周 DualPipe解析指南
来自于狂人
人工智能gpu算力算法系统架构
前言在大模型训练中,传统流水线并行因单向数据流和通信延迟的限制,导致GPU利用率不足60%,成为算力瓶颈。DeepSeek团队提出的DualPipe双向流水线架构,通过双向计算流与计算-通信重叠的创新设计,将前向与反向传播拆解为“对称轨道”,使GPU可“边读边写、边算边传”,将流水线空闲时间压缩超50%。结合显存优化技术,其显存占用仅为传统方法的1/8,GPU利用率提升至92%,单epoch训练时
C Sharp委托、事件、多线程
微笑伴你而行
#csharpc语言开发语言
文章目录委托(Delegate)——你的“遥控器”事件(Event)——安全的“通知系统”多线程(Multithreading)——“同时做多件事”委托(Delegate)——你的“遥控器”是什么?想象你有一个万能遥控器,可以控制家里的电视、空调、灯光。委托就是这个“遥控器”,它允许你通过一个东西调用多个不同的方法。为什么需要它?比如你想写一个程序,让用户点击按钮时执行某些操作,但具体操作可能随时
doris:认证与鉴权概述
向阳1218
大数据doris
Doris的权限管理系统参照了MySQL的权限管理机制,做到了行级别细粒度的权限控制,基于角色的权限访问控制,并且支持白名单机制。名词解释用户标识UserIdentity在权限系统中,一个用户被识别为一个UserIdentity(用户标识)。用户标识由两部分组成:username和host。其中username为用户名,由英文大小写组成。host表示该用户链接来自的IP。UserIdentity以
ChatGPT、DeepSeek、Grok 三者对比:AI 语言模型的博弈与未来
一ge科研小菜菜
人工智能人工智能
个人主页:一ge科研小菜鸡-CSDN博客期待您的关注1.引言随着人工智能技术的飞速发展,AI语言模型已经成为人机交互、内容创作、代码生成、智能问答等领域的重要工具。其中,ChatGPT(OpenAI)、DeepSeek(中国团队研发)和Grok(xAI,ElonMusk旗下公司)是当前三大具有代表性的AI语言模型。它们在技术架构、应用场景、用户体验、生态开放性等多个维度各具特色,并针对不同的用户需
【go从入门到精通】探秘struct结构体转json为什么需要首字母大写?
前网易架构师-高司机
golang从入门到精通golangjsongo结构体首字母大写golang从入门到精通go从入门到精通
目录作者简介:问题抛出分析结论作者简介:高科,先后在IBMPlatformComputing从事网格计算,淘米网,网易从事游戏服务器开发,拥有丰富的C++,go等语言开发经验,mysql,mongo,redis等数据库,设计模式和网络库开发经验,对战棋类,回合制,moba类页游,手游有丰富的架构设计和开发经验。并且深耕深度学习和数据集训练,提供商业化的视觉人工智能检测和预警系统(煤矿,工厂,制造业
Node.js -- exports 和 module.exports 详解:区别、用法与完整示例
还是鼠鼠
node.jsnode.jswebjavascript前端vscode
目录Node.jsexports和module.exports详解1.module.exports和exports的关系2.module.exports的正确用法示例1:使用module.exports导出对象运行程序3.exports的正确用法示例2:使用exports导出多个方法4.exports的错误使用方式错误示例5.module.exports导出函数和类示例3:导出单个函数示例4:导出
Mybatis传递多个不同类型的参数
我的身前一尺是我的世界
Mybatis传递多个参数
一、同时传递List和String实现类@OverridepublicListfun(StringshopId,Listlist){Mapmap=newHashMap();map.put("shopId",shopId);map.put("list",list);ListlistCommodity=appCommodityMapper.fun(map);returnlistCommodity;}m
Spring Data JDBC 详解
m0_74823933
面试学习路线阿里巴巴springjava数据库
目录一、JPA背景?二、SpringBoot整合SpringdataJDBC??1.配置数据源?2.配置Druid的admin后台??3.Spring-data-jdbc常用接口查询策略1)?CrudRepository增删改查2)PagingAndSortingRepository分页排序一、JPA背景早期的JPA的特性是懒加载和关联查询,一下能查出所有的关联信息,但我们开发者在查询SQL的时候
ubuntu 24.10安装mysql
linuxxx110
ubuntumysql
1.更新软件包列表在安装MySQL之前,先更新系统的软件包列表sudoaptupdate2、安装MySQL服务器sudoaptinstallmysql-server3.启动MySQL服务sudosystemctlstatusmysql4、运行安全脚本MySQL提供了一个安全脚本,用于设置root密码、移除匿名用户、禁止远程root登录等。运行以下命令sudomysql_secure_install
JavaScript 全面教程:从基础到高级实践
幼儿园扛把子\
javascript开发语言ecmascript
JavaScript全面教程:从基础到高级实践目录JavaScript全面教程:从基础到高级实践2.JavaScript基础语法2.1变量与数据类型2.1.1变量声明2.1.2数据类型2.2条件语句与循环2.2.1条件语句2.2.2循环2.3函数2.3.1函数定义2.3.2参数默认值3.对象与数组3.1对象3.2数组4.高级特性与最佳实践4.1作用域与闭包4.1.1闭包示例4.2事件循环(Even
SQLite?低调不是小众...
架构文摘JGWZ
sqlite数据库学习后端
前几天在一个群里看到一位同学说:“SQLite这么小众的数据库,到底是什么人在用啊?”首先要说的是SQLite可不是小众的数据库,相反,SQLite是世界上装机量最多的数据库,远超MySQL,只不过比较低调而已。低调到我想在官网上找一个好看的用来当插图的图片都找不到,只能截一张官网首页来撑一撑,看起来十分朴素。我最早听说SQLite是刚毕业工作的时候,我们部门做微软内容管理产品的二次开发,其中有一
如何用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