故障艺术Glitch Artmix-blend-mode实现抖音
2020-02-19 本文已影响0人
荼蘼toome
模拟了画面信号出现故障导致成像错误的感觉。青色色块与红色色块无法重合就是这种故障的体现。从胶片时代开始到今天的数码时代,这种故障一直是观众非常熟悉的现象。
比如,抖音的logo
看着像是三个j重叠在一起,...重叠部分表现为白色
使用CSS的混合模式min-blend-mode来实现
mix-blend的中文意为混合。
混合模式最常见的就是ps
photoshop
利用混合模式将多个图层混合得到一个新的效果
单个J形其实是由3/4圆+竖线+1/4圆组成 使用一个标签即可(两个伪元素)
关键点:
- 主要借助伪元素实现了整体J结构,借助了mix-blend-mode 实现融合效果
- 利用mix-blend-mode:lighten 混合模式实现两个J形结构重叠为白色
HTML
<div class="g-container">
<div> class ="j" ></div>
<div> class ="j" ></div>
<div>
SASS代码
body{
background:#000;
overflow:hidden;
}
.g-container{
position:relative;
width:200px;
margin:100px auto;
filter:contrast(150%) brightness(110%);
}
//实现第一个J
.j{
position:absolute;
top:0;
left:0;
width:47px;
height:218px;
z-index:1;
background:#24f6f0;
&::before{
content:'';
position: absolute;
width: 100px;
height: 100px;
border: 47px solid #24f6f0;
border-top: 47px solid transparent;
border-radius: 50%;
top: 121px;
left: -147px;
transform: rotate(45deg);
}
&::after{
content:'';
position: absolute;
width: 140px;
height: 140px;
border: 40px solid #24f6f0;
border-right: 40px solid transparent;
border-top: 40px solid transparent;
border-left: 40px solid transparent;
top: -110px;
right: -183px;
border-radius: 100%;
transform: rotate(45deg);
z-index: -10;
}
}
//实现第二个J
.j:last-child {
left: 10px;
top: 10px;
background: #fe2d52;
z-index: 100;
mix-blend-mode: lighten;
animation: moveLeft 10s infinite;
&::before {
border: 47px solid #fe2d52;
border-top: 47px solid transparent;
}
&::after {
border: 40px solid #fe2d52;
border-right: 40px solid transparent;
border-top: 40px solid transparent;
border-left: 40px solid transparent;
}
}
@keyframes moveLeft {
0% {
transform: translate(200px);
}
50% {
transform: translate(0px);
}
100% {
transform: translate(0px);
}
}