CSS混合模式
前面的话
层叠上下文z-index只是解决两个元素覆盖,谁离用户更近的问题。而CSS混合模式,则是处理两个元素覆盖部分如何混合的问题。如果了解photoshop的话,对这种现象应该不陌生。CSS3有两个与混合模式相关的属性:mix-blend-mode和background-blend-mode,本文将详细介绍CSS混合模式
元素混合
元素混合mix-blend-mode应用于两个元素之间的混合
mix-blend-mode
初始值: normal
应用于: 所有元素
继承性: 无
值: normal(正常) | multiply(正片叠底) | screen(滤色) | overlay(叠加) | darken(变暗) | lighten(变亮) | color-dodge(颜色减淡) | color-burn(颜色加深) | hard-light(强光) | soft-light(柔光) | difference(差值) | exclusion(排除) | hue(色相) | saturation(饱和度) | color(颜色) | luminosity
(亮度) | initial(初始) | inherit(继承) | unset(复原)
兼容性: IE浏览器、android4.4-不支持,safari和IOS需要添加-webkit-前缀
[注意]该元素会创建层叠上下文,z-index属性有效
背景混合
背景混合background-blend-mode应用于一个元素的多背景图或背景图与背景颜色之间的混合
background-blend-mode
初始值: normal
应用于: 所有元素
继承性: 无
值: normal(正常) | multiply(正片叠底) | screen(滤色) | overlay(叠加) | darken(变暗) | lighten(变亮) | color-dodge(颜色减淡) | color-burn(颜色加深) | hard-light(强光) | soft-light(柔光) | difference(差值) | exclusion(排除) | hue(色相) | saturation(饱和度) | color(颜色) | luminosity
(亮度) | initial(初始) | inherit(继承) | unset(复原)
兼容性: IE浏览器、android4.4-不支持,safari和IOS需要添加-webkit-前缀
隔离
隔离isolation的作用是创建一个堆叠上下文stacking context,主要用于与mix-blend-mode属性一起使用时,将混合模式只应用于某一个元素或某一组元素
isolation
初始值: auto
应用于: 所有元素
继承性: 无
值: auto | isolate(创建新的堆叠上下文) | initial | inherit | unset
<style>
body{background-color: gray;}
.test1,.test2{display: inline-block;width: 100px;height: 100px;border:1px solid black;}
.test2{isolation: isolate;}
.in{width: 50px;height: 50px;background-color: red;mix-blend-mode: screen;}
</style>
</head>
<body>
<div class="test1">
<div class="in"></div>
</div>
<div class="test2">
<div class="in"></div>
</div>
如果不使用isolation: isolate创建堆叠上下文,由于.test1和.test2背景颜色透明,则.in会和<body>背景颜色混合,成为粉色。使用isolation: isolate后,.test2从<body>中隔离出来,不与<body>的背景进行混合,从而保留其原先的红色
[注意]由于isolation: isolate的作用就是创建堆叠上下文,所以只要能创建堆叠上下文,就可以实现隔离的效果,所以,类似地,relative、filter等样式也可以实现类似效果
CSS混合模式的更多相关文章
- 探究 CSS 混合模式\滤镜导致 CSS 3D 失效问题
今天在写一个小的 CSS Demo,一个关于 3d 球的旋转动画,关于 CSS 3D,少不了会使用下面这几个属性: { transform-style: preserve-3d; perspectiv ...
- 《转》15种CSS混合模式让图片产生令人惊艳的效果
浏览器支持 按照现在情况来讲, 浏览器支持 CSSbackground-blend-mode属性还在不断的完善中.早期版本的浏览器目前还不支持,但caniuse.com报告说在Chrome,Firef ...
- [CSS 混合模式]——mix-blend-mode/background-blend-mode简介
mix-blend-mode/background-blend-mode CSS3真是有很多的神奇的地方,这个两个元素你知道吗? 这是张大大拿过来的图,关于混合模式,借图一用. mix-blend-m ...
- css mix-blend-mode 混合模式
CSS3混合模式种类 在CSS3混合模式中,目前仅有16种:normal,multiply,screen,overlay,darken,lighten,color-dodge,color-burn,h ...
- css mix-blend-mode 颜色滤镜混合模式
CSS3混合模式种类 在CSS3混合模式中,目前仅有16种:normal,multiply,screen,overlay,darken,lighten,color-dodge,color-burn,h ...
- [转] CSS3混合模式mix-blend-mode/background-blend-mode简介 ---张鑫旭
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=4819 一.关于混合模 ...
- 谈谈一些有趣的CSS题目(十七)-- 不可思议的颜色混合模式 mix-blend-mode
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- 你很熟悉CSS,却没掌握这些CSS技巧
转载来自 http://www.html5cn.org/article-9294-1.html 做前端开发的人都很熟悉CSS,一个漂亮的网页由HTML标签和控制这些标签布局的CSS组成,因此CSS在开 ...
- css3 混合模式mix-blend-mode background-blend-mode 以及混合模式的隔断 isolation
css 混合模式 mix-blend-mode: 让 元素内容 和 这个元素 以及 下面的元素 发生混合 background-blend-mode 背景的混合模式 可以是背景图片的混合也可以是背景图 ...
随机推荐
- 修改mysql编码为UTF-8
mysql> show variables like '%character%'; +--------------------------+--------------------------- ...
- nodejs的简单服务器程序
下面是参考<Jquery.Jquery UI 及Jquery Mobile>一书中的nodej服务器程序 var http = require('http'), url = require ...
- AngularJs directive 'transclude' option 详解
transclude好像不是一个英语单词,有道词典里没有,百度翻译的意思是嵌入. transclude在angularjs的自定义的derective中是比较常见的一个东西,所有有必要要了解它. 我们 ...
- 轻量级jquery框架之--布局(layout)
布局需求 (1)支持横向生成布局项即可,不需要纵向生成布局. (2)支持布局项右侧收缩功能 (3)支持自定义布局项图标.标题,并提供动态修改布局项图片和标题的api (4)支持JSON/html/if ...
- Sublime text3使用技巧及快捷键
一.快速查找文件Crtl+P(Goto->Goto Anyghing) 在打开的搜索框中输入文件名按Enter键即可. 提示:1.支持文件夹+文件名的搜索,比如 "js/main.js ...
- Retrieving the COM class factory for component with CLSID XX failed due to the following error: 80070005 拒绝访问。
环境及异常信息说明 环境说明: Win2008 R2 企业版 x64 .IIS 7.0 功能说明:服务端操作Excel,(上传Excel到服务器,并在服务器端读取Excel中的数据) 异常信息:Ret ...
- CI(CodeIgniter)学习第一讲
一.CI的优势一. (1).CI是一个PHP框架:大家都知道PHP框架有很多,CI只是其中之一,框架是为了重用发明的.同样,CI的目标是实现让你比从零开始编写代码更快速地开发项目.CI可以将需要完成的 ...
- ES6新特性-------数组、Math和扩展操作符(续)
三.Array Array对象增加了一些新的静态方法,Array原型上也增加了一些新方法. 1.Array.from 从类数组和可遍历对象中创建Array的实例 类数组对象包括:函数中的argumen ...
- Ext4报错Uncaught Ext.Loader is not enabled
提示: Uncaught Ext.Loader is not enabled, so dependencies cannot be resolved dynamically. Missing requ ...
- SQL Server 索引的自动维护 <第十三篇>
在有大量事务的数据库中,表和索引随着时间的推移而碎片化.因此,为了增进性能,应该定期检查表和索引的碎片,并对具有大量碎片的进行整理. 1.确定当前数据库中所有需要分析碎片的表. 2.确定所有表和索引的 ...