- Pyinstaller 打包flask_socketio为exe程序后出现:ValueError: Invalid async_mode specified
FearlessBlot
flask运维flaskpython
Pyinstaller打包flask_socketio为exe程序后出现:ValueError:Invalidasync_modespecified一、详细描述问题描述Traceback(mostrecentcalllast):File"app_3.py",line22,inFile"flask_socketio\__init__.py",line186,in__init__File"flask_
- 06.kubeadm init 各阶段命令详解
Liao wen xiu
Kuberneteskubernetes
kubeadminit各阶段命令详解以下是kubeadminit分阶段命令的完整列表及详细说明,适用于精准控制集群初始化流程(如调试、自定义证书、高可用部署等场景)1.预检阶段(preflight)验证系统环境是否满足Kubernetes要求。kubeadminitphasepreflight[–configkubeadm.yaml][–ignore-preflight-errors=…]关
- STM32 HAL库 CANFD配置工具
_Ivan_
stm32嵌入式硬件单片机
用法说明:该工具适用于STM32HAL库,可一键生成CANFD的HAL库配置代码。计算依据为HAL库,并参考ZLG标准。软件界面:仓库地址:HALCANFDInitGen:适用于STM32控制器的HAL库版本说明:V1.2.0:美化界面,SJW参数与SEG2保持一致,同时满足SJW≤min(Seg1,Seg2)。V1.1.0:波特率计算依据为,Bauds=CANClock/(NominalPres
- Ubuntu安装MinIO
unhurried人生——冕临
大数据MinIO
注:本文章的ubuntu的版本为:ubuntu-20.04.6-live-server-amd64。Ubuntu(在线版)更新软件源sudoapt-getupdate通过wget下载MinIO二进制文件sudowget-P/usr/local/binhttps://dl.min.io/server/minio/release/linux-amd64/minio切换目录cd/usr/local/bi
- MinIO基础知识
unhurried人生——冕临
大数据MinIO
MinIO简介MinIO是一个开源的高性能分布式对象存储服务,专为满足现代云原生应用的存储需求而设计。它完全兼容AmazonS3API,提供与S3相似的对象存储服务,能够高效地存储和检索各种类型的数据,如图片、视频、文档等。与传统存储解决方案相比,MinIO更加轻量、性能更优,并且能够适应不同类型的云环境(包括公有云、私有云和混合云)。MinIO的设计理念简单而清晰:提供高效、可靠且易于扩展的存储
- React Context API 用于在组件树中共享全局状态
黄毛火烧雪下
Reactreact.jsjavascript前端
1.创建Context:constinitialValue={age:0,addAge:()=>{},};exportconstInfoContext=createContext(initialValue);createContext(initialValue):创建一个新的Context,用来在组件树中提供和消费共享的数据。这里的initialValue定义了Context的默认值。initia
- Transformers bert 迁移调用样例 - BertEmbeddings
风筝超冷
深度学习bert自然语言处理
importtorchfromtorchimportnnfromtypingimportOptionalclassBertEmbeddings(nn.Module):"""Constructtheembeddingsfromword,positionandtoken_typeembeddings."""def__init__(self,config):super().__init__()self.
- 【GPIO8个函数解释】
学渣67656
单片机stm32嵌入式硬件
函数解释voidGPIO_DeInit(GPIO_TypeDef*GPIOx);作用:将指定GPIO端口的所有寄存器恢复为默认值。这会清除之前对该端口的所有配置,使其回到初始状态。使用方法:传入要复位的GPIO端口指针,例如GPIOA、GPIOB等。voidGPIO_AFIODeInit(void);作用:将复用功能I/O(AFIO)的寄存器恢复为默认值。复用功能I/O用于将一些外设功能映射到特定
- ORACLE进阶(十二)union(all)学习总结_oracle的union all底层算法
2401_85124682
oracle学习数据库
innerjoincdeorgontb.ibkcde=cdeorg.ibkcdewhere1=1AND(FNAUTMISNULLorfnautm=0)AND(tb.FLWSTS!='3'ortb.FLWSTSISNULL)andUPPER(tb.customername)like'%'||'shq\_test\_20180302'||'%'ESCAPE'/'andtb.biztypin('1','
- 聊聊Spring AI的MilvusVectorStore
人工智能
序本文主要研究一下SpringAI的MilvusVectorStore示例pom.xmlorg.springframework.aispring-ai-starter-vector-store-milvus配置spring:ai:vectorstore:milvus:initialize-schema:truedatabaseName:"default"collectionName:"test_c
- php8 ?-> nullsafe 操作符 使用教程
php
简介PHP8引入了?->(Nullsafe操作符),用于简化null检查,减少繁琐的if语句或isset()代码,提高可读性。?->Nullsafe操作符的作用在PHP7及以下,访问对象的属性或方法时,如果对象是null,会导致致命错误(Fatalerror):$person=null;echo$person->name;//Fatalerror:UncaughtError:Tryingtoget
- 生成对抗网络(GAN)详解
frostmelody
深度学习小知识点PyTorch小知识点机器学习小知识点生成对抗网络人工智能神经网络
GANs的基本概念Thisframeworkcanyieldspecifictrainingalgorithmsformanykindsofmodelandoptimizationalgorithm.Inthisarticle,weexplorethespecialcasewhenthegenerativemodelgeneratessamplesbypassingrandomnoisethrou
- python 配置文件yaml
斐非韭
pythonpythonpycharm
yaml配置文件和argparse应该是深度学习研究人员要掌握的最基础的技能了~1.YAML配置文件yaml文件是一种配置文件,我最早接触它是在学习yolov5的官方代码的时候。虽然之前没有怎么接触过ini、conf和py等配置文件,但是使用过yaml之后发现是真的方便,所以来总结一下yaml文件读写相关的操作。官方文档1、基本用法yaml文件并不是python自带的,需要通过pipinstall
- 力扣刷题——1448——统计二叉树中好节点的数目
Y.O.U..
leetcode算法职场和发展
给你一棵根为root的二叉树,请你返回二叉树中好节点的数目。「好节点」X定义为:从根到该节点X所经过的节点中,没有任何节点的值大于X的值。示例1:输入:root=[3,1,4,3,null,1,5]输出:4解释:图中蓝色节点为好节点。根节点(3)永远是个好节点。节点4->(3,4)是路径中的最大值。节点5->(3,4,5)是路径中的最大值。节点3->(3,1,3)是路径中的最大值。解题思路:递归地
- 配置文件 ini
程序员爱德华
JSONXMLini
文章目录一、概念介绍1.ini简介2.ini文件的特点3.ini的优缺点4.ini文件与其他配置格式对比二、ini文件结构1.ini文件的结构(1)节(Section)(2)键值对(Key-ValuePair)(3)注释(Comment)2.ini文件举例三、解析和操作INI文件1.Python语言2.C++语言一、概念介绍1.ini简介INI文件是一种用于存储配置信息的文本文件格式,广泛应用于早
- 一次由特殊字符引发的Minio签名问题排查
梦三辰
问题排查中间件minio问题排查
一、背景测试反馈批量上传大量文件(pdf文件,大小在1-5M)左右,总会出现有文件上传失败情况。。近期线上环境突然出现文件上传失败的问题,错误日志显示:Causedby:io.minio.errors.ErrorResponseException:Therequestsignaturewecalculateddoesnotmatchthesignatureyouprovided.Checkyour
- docker-compose方式部署docker项目
@郭小茶
dockerdocker容器运维
本文使用docker-compose方式部署mysql、redis、minio、后端项目、前端项目。整体目录:说明:data:存放启动命令html:存放前端html、js代码jar:存放jar包minio:存放minio配置mysql:存放mysql配置nginx:存放nginx配置redis:存放redis配置daemon.json:存放国内镜像源如果是在windows上部署docker服务,则
- 鸿蒙NEXT开发对象工具类(TS)
鸿蒙布道师
鸿蒙NEXT开发工具箱华为huawei鸿蒙系统harmonyosArkTsandroidios
importutilfrom'@ohos.util';import{ArrayList,HashMap,JSON,List}from'@kit.ArkTS';import{BusinessError}from'@kit.BasicServicesKit';//定义通用单个联合类型exporttypeCommonSingleType=Object|string|number|boolean|null
- 【trino】trino配置证书https tls/ssl访问
lisacumt
数据仓库
trini版本470一、官方文档doc在Security/TLSandHTTPS、Security/PEMfiles和Security/JKSfiles下openssl文档二、配置trino2.1创建server.cnf文件[req]distinguished_name=req_distinguished_namereq_extensions=v3_req[req_distinguished_na
- Atcoder Beginner Contest 395
nuo534202
AtcoderContestc语言c++算法数据结构
比赛链接:ABC395A-StrictlyIncreasing?按照题意模拟#includeusingnamespacestd;intmain(){ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);intn;cin>>n;vectora(n);for(inti=0;i>a[i];boolflag=true;for(inti
- CMake编译脚本-1:CMakeLists.txt编写常用命令
椰果奶茶加冰
#CMakeCMake
1.cmake_minimum_required:设置项目要求的CMake最低版本号,如果当前版本的CMake低于所需的值,它将停止处理项目并报告错误。注意在project之前调用该命令,一般在CMakeLists.txt文件开头调用。命令格式为:cmake_minimum_required(VERSIONmajor.minor[.patch[.tweak]][FATAL_ERROR]使用示例:c
- 网络空间安全(50)JavaScript基础语法
IT 青年
网安知识库javascript网络空间安全
一、变量声明①var:早期的变量声明方式,函数作用域。②let:块级作用域,推荐在现代JavaScript中使用。③const:块级作用域,用于声明常量,值不可变。varname="Alice";letage=30;constPI=3.14159;二、数据类型①原始类型(PrimitiveTypes):string(字符串)number(数字)boolean(布尔值)nullundefinedsy
- 用 Pinia 点燃 Vue 3 应用:状态管理革新之旅
CreativeDev
vue.js前端javascript
用Pinia点燃Vue3应用:状态管理革新之旅用Pinia点燃Vue3应用:状态管理革新之旅什么是Pinia?安装与基础配置创建和使用Store定义Store在组件中使用Store高级用法组合多个Store持久化状态总结用Pinia点燃Vue3应用:状态管理革新之旅在构建现代前端应用时,如何高效管理状态一直是开发者关注的焦点。随着Vue3的普及,官方推荐的状态管理方案Pinia因其轻量、灵活和易于
- 解锁 LangChain:如何通过 __init__.py 提升 GPT 项目的灵活性
AI Agent首席体验官
langchaingptoracle
1.在langchain项目中,__init__.py作用在langchain项目中,__init__.py文件是一个非常重要的模块文件,它通常用于将一个目录标识为一个包,并且可以在其中执行一些初始化操作。在langchain这个框架中,__init__.py文件的作用通常是:包的初始化:使得整个目录能够作为一个Python包被导入。__init__.py文件常常用来定义包的元数据,甚至可以导入一
- LeetCode第62题_不同路径
@蓝莓果粒茶
算法leetcode算法职场和发展数据结构矩阵c++python
LeetCode第62题:不同路径题目描述一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?难度中等题目链接点击在LeetCode中查看题目示例示例1:输入:m=3,n=7输出:28示例2:输入:m=3,n=2输出:3解释:从左上角开始,总共有3条路
- ffmpeg视频转码相关
Vegetable_xu
ffmpeg音视频
ffmpeg视频转码相关获取视频时长视频转码获取视频时长//Duration:00:00:30.03,start:0.000000,bitrate:1191kb/spublicStringgetVideoDuration(StringinputFilePath){Processprocess=null;try{//定义远程视频的URL//构建FFmpeg命令ProcessBuilderproces
- T86分隔链表
sdccone1
算法
思想:借助辅助空间,同时维护两个链表:lowList按原先顺序保存所有val小于x的节点,hightList按原先顺序保存所有val>=x的节点,最后将这两个链表拼接起来即可时间复杂度O(N),空间复杂度O(1)classSolution{publicListNodepartition(ListNodehead,intx){if(head==null)returnhead;ListNodelowL
- 同时使用Tmini和GS2两个雷达
Merokes
linux
24.12.02要求:同时使用两个雷达。问题在于:两个雷达都是ydlidar,使用同一个包。因此同时启动GS2.launch和Tmini.launch会调用同一个功能节点,使用同一个cpp文件。方法:新建一个cpp节点。但同时保持在同一个坐标系,laser_frame修改样式如下:
- 数据结构第一轮复习--第五章树、二叉树(包含课程、作业代码)
.YY001.
数据结构
二叉树的链式存储//二叉树的链式存储structElemType{intvalue;};typedefstructBiTNode{ElemTypedata;structBiTNode*lchild,*rchild;}BiTNode,*BiTree;//定义一颗空树BiTreeroot=NULL;//插入根结点root=(BiTree)malloc(sizeof(BiTNode));root->da
- 数据结构每日一题day11(链表)★★★★★
Phoebe鑫
算法数据结构
题目描述:有一个带头结点的单链表L,请设计一个算法查找其第1个数据值为e的结点,若存在则返回指向该结点的指针,若不存在则返回NULL。算法思想:输入检查:若链表为空(仅有头结点),直接返回NULL。遍历链表:从头结点后的第一个结点开始依次向后遍历,比较每个结点的数据域是否等于e。返回结果:若找到匹配的结点,立即返回指向该结点的指针;若遍历结束未找到,返回NULL。复杂度分析:时间复杂度:O(n)空
- 如何用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