- python word模板中添加图片
程序媛小胖
pythonword
word:{{barcode}}python:document=DocxTemplate(src)ifcontext.get('barcode'):#图片路径context['barcode']=InlineImage(document,context['barcode'],height=Mm(20))document.render(context)ifnotos.path.exists(os.p
- Android Studio 找不到 uploadArchives 入口
程思扬
Android记录androidstudioandroidide
在4.2之前版本的AndroidStudio中想要module打包arr,上传Maven我们只需要在对应module的build.gradle文件顶部添加applyplugin:'maven'然后每一次修改记得要修改版本号,相同版本号提交失败,是不会覆盖的defaultConfig{......versionName"1.0.0"//版本号...</
- Python实现学生管理系统
才尽散人
python
student=[]#存储学生信息defmenu():print('欢迎来到学生管理系统')print('1.添加学生信息')print('2.删除学生信息')print('3.修改学生信息')print('4.查询学生信息')print('5.显示学生信息')print('0.退出系统')#打印菜单defadd():id=input('请输入要添加的学生的学号:')name=input('请输入
- 详解Python迭代器:轻松搞懂工作原理、用法和最佳实践
kdayjj966
python开发语言
迭代器引入如果开发中有以下需求,如何解决?classStuSystem(object):"""学生管理系统"""def__init__(self):self.stus=[]defadd(self):"""添加一个新的学生:return:"""name=input("请输入新学生的姓名:")tel=input("请输入新学生的手机号:")address=input("请输入新学生的住址:")new_
- springboot的logback-spring.xml的使用
农业工作者
springspringbootlogback
1、在resource里面创建logback-spring.xml文件2、内容:-->-->-->-->${CONSOLE_LOG_PATTERN}${LOG_PATH}/${appName}.log${FILE_LOG_PATTERN}${LOG_PATH}/%d{yyyy-MM-dd}.%i.log20MB3、在application.properties里面添加#应用服务WEB访问端口ser
- Linux日常运维-history
dessler
Linux进阶#Linux日常运维运维linux服务器
作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。本小章内容就是Linux进阶部分的日常运维部分,掌握这些日常运维技巧或者方法在我们的日常运维过程中会带来很多方便。主要从以下几个部分来讲解:Linux日常运维-主机名&hostsLinux日常运维-history(本章节)Linux日常运维-SSHD(一)Linux日常运维-S
- pyqt5 中子窗口闪退的问题
兔子不会写代码
pythonpyqt
我是在一个子窗口中添加了另一个子窗口,存在点击触发后闪退的问题原因是在第一个子窗口的主程序中第二个子窗口属于一个变量,执行过后变量销毁,准确说不是闪退而是运行完毕错误程序贴图只需要给I加上self
- github秒开
程序员
C:\Windows\System32\drivers\etc添加映射20.205.243.166github.com
- SAP UI5 初学者教程之十三 - 如何添加自定义 CSS 类试读版
Python中的class体内定义方法时,如果没有显式地包含self参数,有时候依然可以被调用。这是一个非常有趣的话题,因为它涉及到对Python中类与对象之间关系的更深理解。要理解为什么这种情况下方法依然能够被调用,我们需要逐步拆解Python类的构造方式以及方法绑定的原理。
- 9个防御式的CSS代码
css
场景一:单行文本过长我们设计时的理想效果是标题文字不超过8个字,正好显示完整。但实际应用时,有可能标题内容过长造成换行显示。我们可以添加文字溢出显示..省略号来解决。body,h3{margin:0;padding:0;}.box{width:150px;height:150px;position:relative;margin:40pxauto;}.boxh3{height:30px;line-
- jenkins启动报错
胡子长老
jenkins运维
jenkins启动报错最近在公司部署jenkins的时候,使用systemctlstartjenkins.service来启动一直报如下的错误试了很多方法,包括添加/etc/init.d/jenkins里面的jdk路径,修改文件权限,但是一直没有用。后面看到了jenkins启动文件/usr/lib/systemd/system/jenkins.service中也有JAVA_HOME的路径就试着去改
- superset初始化数据库报错记录:A Default SECRET_KEY was detected, please use superset_config.py
FL1623863129
环境配置windows
问题原因:看官方大概是这个,Superset需要用户指定的SECRET_KEY才能启动。为您的文件添加一个强有力的SECRET_KEY。解决办法:找到superset的lib目录,在lib目录下创建一个superset_config.py的文件。内容输入SECRET_KEY='YOUR_OWN_RANDOM_GENERATED_SECRET_KEY'其中YOUR_OWN_RANDOM_GENERA
- Python框架-Flask
flylr^
Pythonflaskpython后端
1.Flask介绍Flask作为主流的框架之一,是每个程序员必不可少掌握的,使用python语言基于Werkzeug工具箱编写的轻量级Web开发框架;本身相当于一个内核,其他几乎所有的功能都要用到扩展;核心在于Werkzeug(路由模块),Jinja2模板引擎。相比于django,flask比较轻,轻不代表它的功能不够强大,而是它拥有丰富的扩展,依赖于扩展给应用添加功能2.环境搭建1.安装Flas
- C#集合操作优化:高效实现批量添加与删除
AitTech
C#c#开发语言
在C#中,对集合进行批量操作(如批量添加或删除元素)通常涉及使用集合类型提供的方法和特性,以及可能的循环或LINQ查询来高效地处理大量数据。以下是一些常见的方法和技巧:批量添加元素使用集合的AddRange方法(如果可用):某些集合类型,如List,提供了AddRange方法,允许一次性添加多个元素。Listnumbers=newList();int[]newNumbers={1,2,3,4,5}
- Ubuntu系统docker安装步骤
小白--AI
docker容器ubuntudockerlinux
一、使用docker有些什么好处轻量化和快速启动:Docker容器与传统虚拟机相比更为轻量,因为它们共享主机操作系统的内核。这使得容器可以快速启动和停止,节省了资源和时间。一致的开发和部署环境:Docker容器可以在不同的环境中(开发、测试、生产)提供一致的运行环境。这消除了由于环境差异导致的开发和部署问题,有助于确保应用在不同阶段的一致性。隔离性和安全性:每个Docker容器都是独立的,有自己的
- 魔兽地图编辑器实现英雄选择的四种方法
百口可乐__
魔兽地图编辑器付费WorldEditer
小精灵选择英雄在地图上建立一个新英雄,更改其玩家为中立无敌意用地区面板在英雄的位置添加一个狭小的地区新建一个触发器,触发事件为单位进入该区域触发条件是进入区域的单位是小精灵执行的动作是,将该区域中的中立被动的任意英雄单位,改变为玩家所属,并且改变颜色建立特效
- Python将py文件编译为exe的方法
IT界搬运喵
Pythonpythonpycharm开发语言exeflask
使用PyCharm工具写好的Python程序脚本,怎么将.py文件编译为可执行的.exe文件前提是已经安装了Python环境。第一步:在PyCharm内下载安装pyinstalle库或使用CMD安装PyCharm内安装:File->Settings->ProjectInterpreter->添加相应的包或者使用CMD安装,提示安装成功即可pyinstallerpipinstallpyinstall
- 使用人类审查机制提升工具调用的可靠性
AGAhusaf
python人工智能开发语言
在自动化程度日益提高的今天,确保模型在特定工具调用时进行人类审查变得尤为重要。当我们不完全信任模型自动执行某些操作时,可以通过引入人类审核机制来进行控制。这篇指南将演示如何在JupyterNotebook或终端中实现这一机制。1.技术背景介绍在许多应用场景中,模型有时候会做出错误决策,尤其是在涉及到敏感数据或关键操作时。因此,添加一个人类审查环节,要求在执行工具调用之前获得人工批准,可以显著提高操
- 【深度学习】Pytorch:在 ResNet 中加入注意力机制
T0uken
深度学习pytorch人工智能
在这篇教程中,我们将介绍如何在ResNet网络中加入注意力机制模块。我们将通过对标准ResNet50进行改进,向网络中添加两个自定义的注意力模块,并展示如何实现这一过程。为什么要加入注意力机制注意力机制可以帮助神经网络专注于图像中重要的特征区域,从而提高模型的性能。在卷积神经网络中,加入注意力机制能够有效增强特征提取能力,减少冗余信息的干扰,尤其在处理复杂图像时,能够提升网络的表现。在本教程中,我
- multus使用教程
RedCong
Openshiftk8s云原生openshiftk8s云原生
操作步骤如下:1.在vmwarevsphere上配置所有主机使用的端口组安全项Forgedtransmits设置为:AcceptPromiscuousMode设置为:AcceptPromiscuousMode(混杂模式)和ForgedTransmits(伪传输)2.给每台主机添加第二块网卡3.创建网络定义DHCP类型apiVersion:k8s.cni.cncf.io/v1kind:Network
- @property
ww哈哈哈ww
前端
@property的概念在Python中,@property是一个装饰器(decorator),它用于将一个方法转换为一个属性来访问。这使得我们可以像访问普通属性一样访问方法的返回值,而不需要显式地调用方法。简单来说,它提供了一种简洁的方式来定义和访问类中的属性,同时允许在获取和设置属性值时添加自定义的逻辑。使用@property的基本步骤定义一个类并使用@property装饰器例如,定义一个Re
- 七.网络模型
Kylin524
运筹学python
最小(支撑)树问题最小部分树求解:破圈法:任取一圈,去掉圈中最长边,直到无圈;加边法:取图G的n个孤立点{v1,v2,…,vn}作为一个支撑图,从最短边开始往支撑图中添加,见圈回避,直到连通(有n-1条边)最短路问题求最短路有两种算法:求从某一点至其它各点之间最短离的狄克斯屈拉(Dijkstra)算法求网络图上任意两点之间最短路的Floyd(弗洛伊德)矩阵算法最短路问题的数学模型最大流问题:最大流
- Android Studio 备忘录(简单)实现
松醪
javasqliteandroidgithub编辑器
项目简介AndroidStudio环境下,备忘录(简单)的实现,功能有:添加,单个查询,删除全部内容,并可获取当前时间存储在SqlLite中。所用到的显示控件为ScrollView,EditText,TextView,ImageButton.图片展示首页添加页添加后的页面Acticity_main.xml代码展示Acativity_add.xml(添加)代码展示MainActivity.java代
- AndroidStudio简单计算器的实现
松醪
javaandroidstudio
项目简介首先此项目是本人学校安卓开发的一次作业,用AndroidStudio开发一个简单的计算器,这个计算器正常的功能为带括号的加减乘除多项式计算!界面展示废话不多说先展示一下界面!(模仿了小米计算器),有两种方式添加控件,一种为动态添加,一种为直接添加。这里使用了EditText(1),TextView(1),Button(19)”activity_main.xml“展示部分AndroidStu
- Spring Boot中HttpMessageConverters的使用与实践
2501_90323865
springboot前端后端个人开发
在SpringBoot应用开发中,HttpMessageConverters是一个非常实用的工具,它允许我们灵活地管理HTTP消息转换器(HttpMessageConverter),从而实现对请求和响应数据的自定义处理。本文将通过具体实例,详细介绍如何在SpringBoot中使用HttpMessageConverters来添加、替换默认转换器,以及如何将自定义转换器注册为Bean。一、HttpMe
- curl的使用
workingman_li
java
curl的使用1.1URL访问访问一个网页时,可以使用curl命令后加上要访问的网址:$curlitbilu.com301MovedPermanently301MovedPermanentlynginx/1.6.2如上所示,我们就看到所访问网址的页面源码。重定向跟踪在上面示例中,页面使用了301重定向,这时我们可以添加-L参数来跟踪URL重定向:$curl-Litbilu.com页面保存如果需要将
- vue项目报错取消页面红色遮罩(Uncaught runtime errors)
菜鸟许良个人笔记
vue.jsjavascript前端
1.取消前2.vue.config.js里面添加overlay:falseconstpath=require("path");constresolve=(dir)=>{returnpath.join(__dirname,dir);};module.exports={publicPath:"./",transpileDependencies:[],chainWebpack:(config)=>{co
- redis哨兵手动切换主节点
数据库
说明由于线上redisMaster异常关机之后,重启redis哨兵模式三个节点都是slave,无法选择出主,一半都是固定在一台主节点上面执行操作如下手动进行master-slave切换登录192.168.1.11(master)主机的redis,执行shutdown命令关闭redis登录192.168.1.12(newmaster),执行如下命令:127.0.0.1:6379>slaveofnoo
- 成功解决error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No su
哎呦,帅小伙哦
安装
安装了python2.7,第一次执行时报错:errorwhileloadingsharedlibraries:libpython2.7.so.1.0:cannotopensharedobjectfile:Nosuchfileordirectory解决方法如下:1.编辑vi/etc/ld.so.conf如果是非root权限帐号登录,使用sudovi/etc/ld.so.conf添加上python2.
- uniapp vite+vue3+ts微信小程序项目 组合式Api自动导入
懒人的烦恼
uniapp微信小程序uni-appvue前端框架微信小程序
相信很多新手(博主也是菜鸡,不喜勿喷!),在公司都喜欢自己创建新的项目,搭建自己项目框架。都会遇到vue3组合式Api导入的问题而感到烦恼!这里教大家怎么简单的配置1.安装需要的插件unplugin-auto-import在项目根目录运行:如下代码npminstall-Dunplugin-auto-import2.安装成功后,修改项目的tsconfig.json文件主要时在inclue里面末尾添加
- 如何用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