css3 奇技淫巧 - 如何给小汽车换个背景色谈起
css3 的魅力,不容小觑。曾经被她折服,再度回首,依旧拜倒在她的石榴裙下。相信在未来,她仍然魅力依旧。
站在巨人的肩上学习,不断提升自身实力。

用 CSS 和颜色选择工具更改图片中的颜色,即如何给小汽车换个背景色。原文地址:12个令人惊叹的CSS实验项目
主要代码展示:
html:
<input type="color" value="#0000ff">
<img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/18515/9284591662_38b0438418_h.jpg">
css3:
html, body { height: 100%; }
body { margin: 0; }
img {
height: 100%;
width: 100%;
object-fit: cover;
}
input {
/* removes default styling from input color element */
padding: 0;
border: none;
/* makes input (color swatch) 100% size of container */
position: absolute;
width: 100%;
height: 100%;
/* mix blend mode makes the color of the swatch alter the image behind it. */
mix-blend-mode: hue; /* try screen, multiply or other blend modes for different effects */
cursor: pointer;
}
实现很简单,就是利用 css 的一个特性:mix-blend-mode: bue 实现的。
对 css3 的颜色混合模式 mix-blend-mode 进行深入了解,参考 谈谈一些有趣的CSS题目(十七)-- 不可思议的颜色混合模式 mix-blend-mode 。
mix-blend-mode 描述了元素的内容应该与元素的直系父元素的内容和元素的背景如何混合。混合模式最常见于 photoshop 中,是 PS 中十分强大的功能之一。该文还覆盖了很多案例。
跟着该文,还学习了很多,比如:
- 谈谈一些有趣的CSS题目(一)-- 左边竖条的实现方法
- 谈谈一些有趣的CSS题目(四)-- 从倒影说起,谈谈 CSS 继承 inherit
- 谈谈一些有趣的CSS题目(十五)-- 谈谈 CSS 关键字 initial、inherit 和 unset
- 【CSS进阶】box-shadow 与 filter:drop-shadow 详解及奇技淫巧
- ...
该文作者的github:chokcoco/iCSS,上面关于css3等知识也是很多,能深入学习很多。
关于图片变色,在张鑫旭的博客中包好了很多。主要利用的都是 css 的 filter 属性。
本文的案例用 css3 的 filter: hue-rotate(220deg) 也能实现换个背景色。
<style>
.box img {
width: 300px;
height: 168px;
filter: hue-rotate(220deg);
}
</style>
<div class="box">
<img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/18515/9284591662_38b0438418_h.jpg">
</div>
关于颜色的文章:
- CSS前景背景自动配色技术简介
- CSS改变插入光标颜色caret-color简介及其它变色方法
- 3种纯CSS实现中间镂空的12色彩虹渐变圆环方法
- CSS1-CSS3 颜色知识知多少?
- currentColor-CSS3超高校级好用CSS变量
- JS HEX十六进制与RGB, HSL颜色的相互转换
- 小tip: 使用CSS将图片转换成黑白(灰色、置灰)
- 使用CSS3 ::selection伪元素改变文本选中颜色
- 小tip:CSS3下的渐变文字效果实现
- 5分钟快速了解下CSS4 color-adjust属性
ps:css3 的深入学习,张鑫旭的博客,是个学习的好地方,总能学习到很多有用的、有趣的知识,真的是收益颇丰。“CSS相关”目录存档](https://www.zhangxinxu.com/wordpress/category/css/)。比如:
- CSS3 filter:drop-shadow滤镜与box-shadow区别应用
- 常见的CSS图形绘制合集
- 小tips: 纯CSS实现打字动画效果
- CSS3 animation属性中的steps功能符深入介绍
- ...
css3 奇技淫巧 - 如何给小汽车换个背景色谈起的更多相关文章
- 超简单CSS3水平动态进度条+小圆球+背景色渐变
实现的的效果图如下:效果是动态加载的 代码如下: <!DOCTYPE html> <html lang="en"> <head> <met ...
- css3将图片、内容换为灰色
直接用filter属性-webkit-filter: grayscale(100%);-moz-filter: grayscale(100%);-ms-filter: grayscale(100%); ...
- JavaScript: 零基础轻松学闭包
本文面向初学者,大神轻喷. 闭包是什么? 初学javascript的人,都会接触到一个东西叫做闭包,听起来感觉很高大上的.网上也有各种五花八门的解释,其实我个人感觉,没必要用太理论化的观念来看待闭包. ...
- css设置移动端checkbox和radio样式
复选框Checkbox是Web应用常用控件,随处可见,原生的复选框控件一般就像下面这样: 这取决于操作系统和浏览器,有些时候,这种样子并不能满足设计要求,这时需要更为精致的复选框样式.以往只有少数浏览 ...
- 用Qt写软件系列三:一个简单的系统工具之界面美化
前言 在上一篇中,我们基本上完成了主要功能的实现,剩下的一些导出.进程子模块信息等功能,留到后面再来慢慢实现.这一篇来讲述如何对主界面进行个性化的定制.Qt库提供的只是最基本的组件功能,使用这些组件开 ...
- HTML前端——CSS样式
使用CSS样式的方式: HTML<!DOCTYPE> 声明标签 内链样式表<body style="background: green; margin: 0; paddin ...
- Photoshop:路径填充边缘虚化问题
怎么才能不让它虚化呢? 解决方案一: 1.同样画出路径 2.新建图层 3.回到路径面板,右击路径图层,选择“填充路径” 4.把“羽化”设置为0,取消选择“消除锯齿” 换个背景色看看效果:一点虚化都没 ...
- 基于NIOS-II的示波器:PART3 初步功能实现
本文记录了在NIOS II上实现示波器的第三部分. 本文主要包括:硬件部分的BRAM记录波形,计算频率的模块,以及软件部分这两个模块的驱动. 本文所有的硬件以及工程参考来自魏坤示波仪,重新实现驱动并重 ...
- bootstrap 一个简单的登陆页面
效果如图:用bootstrap 写的一个简单的登陆 一.修改样式 样式可以自己调整,例如换个背景色之类的,修改 background-color属性就可以 #from { background-col ...
随机推荐
- Lonsdor K518ISE SCION 2011-2018 Models Enabled!
Lonsdor released the Lonsdor K518ISE Key Programmer update announcement on 14-03-2019, saying it can ...
- Golang:接口(interface)
Go中没有class的概念.Go 语言中使用组合实现对象特性的描述.对象的内部使用结构体内嵌组合对象应该具有的特性,对外通过接口暴露能使用的特性.Go 语言的接口设计是非侵入式的,接口不知道接口被哪些 ...
- Python之路(第三十七篇)并发编程:进程、multiprocess模块、创建进程方式、join()、守护进程
一.在python程序中的进程操作 之前已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,运行中的程序就是一个进程.所有的进程都是通过它的父进程来创建的.因此,运行起来的python程序 ...
- Python:每日一题008
题目: 判断101-200之间有多少个素数,并输出所有素数. 程序分析: 判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数. 个人思路及代码: li ...
- 我的第一个flink_java程序
之前看了视频学习第一个flink word count使用,但是对于socket发送数据作为数据源我这里有点忘记了,加上最近有个项目要发布,一直在忙,所以迟迟无法完成: 1.首先我们要有数据源,因为 ...
- redis多实例
1.首先在发布系统: 2.安装多实例利用cmd命令安装,切换目录到redis下 (1)首先拷贝一个redis的conf文件(如redis_6380.conf),并且修改里面的服务端口号.日志端口号,以 ...
- 1-spring boot 入门
我从08年到现在,毕业马山就10年了,一直从事.net平台开发工作(期间应该有1年时间从事java开发). 一.为什么要转java: 1.目前市场很多招聘java架构师的职位,且薪资都不错,但.net ...
- JAVA微信支付~
1,简单说明 现在好多项目上都需要用到微信支付接口,官方文档上也是简单的描述了下,技术不高深的真的难以理解(我自己看官方文档就看不懂),还是需要自己收集,总结, 网上看了好多 有些照着弄最后还是没法成 ...
- Linux学习--gdb调试
一.gdb常用命令: 命令 描述 backtrace(或bt) 查看各级函数调用及参数 finish 连续运行到当前函数返回为止,然后停下来等待命令 frame(或f) 帧编号 选择栈帧 info(或 ...
- 利用IO和File类实现拷贝文件目录问题
/* 复制文件夹 参数 File src,File dest */ public static void copy(File src,File dest){ if (src.isDirectory() ...