Sunday, July 3, 2022
Monday, January 24, 2022
[css] Picture Animation
Old
=========================================================================
position: absolute;
overflow: hidden;
background-image:url("assets/bg_1.jpg");
background-image:url("assets/bg_2.jpg");
background-image:url("assets/bg_3.jpg");
background-image:url("assets/bg_afternoon_1.jpg");
/*animation:fadeInOut 360s linear 2s infinite alternate;*/
/*animation: example 5s linear 2s infinite alternate;*/
animation-name: fadeInOut;
animation-duration: 360s;
animation-timing-function: ease-in-out; /*linear;*/
animation-delay: 0s;
animation-iteration-count: infinite;
/*animation-direction: alternate; */
}
@keyframes fadeInOut {
0% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_1.jpg");}
11% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_2.jpg");}
22% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_3.jpg");}
33% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_afternoon_1.jpg");}
44% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_afternoon_2.jpg");}
55% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_afternoon_3.jpg");}
66% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_afternoon_4.jpg");}
77% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_afternoon_5.jpg");}
88% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_afternoon_6.jpg");}
100% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_1.jpg");}
}
=========================================================================
New
=========================================================================
overflow: hidden;
background-image:url("assets/bg_1.jpg"),
url("assets/bg_2.jpg"),
url("assets/bg_3.jpg"),
url("assets/bg_afternoon_1.jpg"),
url("assets/bg_afternoon_2.jpg"),
url("assets/bg_afternoon_3.jpg"),
url("assets/bg_afternoon_4.jpg"),
url("assets/bg_afternoon_5.jpg"),
url("assets/bg_afternoon_6.jpg");
animation: fadeInOut 360s ease-in-out 0s infinite;
/*animation:fadeInOut 360s linear 2s infinite alternate;*/
/*animation: example 5s linear 2s infinite alternate;*/
//animation-name: fadeInOut;
//animation-duration: 360s;
//animation-timing-function: ease-in-out; /*linear;*/
//animation-delay: 0s;
//animation-iteration-count: infinite;
/*animation-direction: alternate; */
}
@keyframes fadeInOut {
0% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_1.jpg");}
11% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_2.jpg");}
22% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_3.jpg");}
33% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_afternoon_1.jpg");}
44% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_afternoon_2.jpg");}
55% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_afternoon_3.jpg");}
66% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_afternoon_4.jpg");}
77% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_afternoon_5.jpg");}
88% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_afternoon_6.jpg");}
100% {Transition: background-image 1s ease-in-out;
background-image:url("assets/bg_1.jpg");}
}
=========================================================================
However, MDN spec [2]
*doesn't* indicate {{background-image}} is an *animatable* property. So it
might be better to use CSS animation with another property e.g. {{opacity}}.
Also, from browser perspective, every operation setting
the background-image will trigger a repaint which is expensive in rendering.
[1] https://developer.mozilla.org/en-US/docs/Web/CSS/background-image
[2] https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties
Thursday, December 16, 2021
Sunday, June 20, 2021
[CSS] position: absolute
<style>
body {
background-color: khaki;
font-family: Helvetica;
}
.box-before {
position: absolute;
width: 40px;
height: 40px;
color: white;
font-size: 16px;
background-color: #2f5ec2;
z-index:4;
}
.box-1 {
position: absolute;
width: 400px;
height: 100px;
padding: 10px;
color: white;
font-size: 70px;
background-color: #fd3c40;
box-sizing: border-box;
z-index:3;
}
.box-2 {
position: absolute;
height: 100px;
top: 20px;
left: 70px;
color: white;
font-size: 20px;
background-color: #8c4fb6;
z-index:2;
}
.box-3 {
position: absolute;
height: 300px;
width: 80px;
color: white;
font-size: 20px;
background-color: #00b842;
z-index:1;
}
.box-after {
position: absolute;
width: 800px;
height: 600px;
color: white;
font-size: 220px;
background-color: #faaa20;
z-index:0;
}
</style>
<body>
<div class="box-before">
blue
</div>
<div class="box-1">
red
<div class="box-2">
purple
</div>
<div class="box-3">
green
</div>
</div>
<div class="box-after">
Orange
</div>
</body>
n8n index
【n8n免費本地端部署】Windows版|程式安裝x指令大補帖 【一鍵安裝 n8n】圖文教學,獲得無限額度自動化工具&限時免費升級企業版功能
-
模板直到实例化时才生成代码,所以获得模板代码编译错误的时机较晚。编译器在3个阶段报告错误: 1. 第一阶段是编译模板本身时,此时一般错误很少,只是 检查语法错误 ,不检查依赖于类型的代码 第二个阶段是遇到使用模板时,对函数模板调用编译器会 检查实参数目是否正确 。还要检查 参数类...
-
编译器遇到一个模板定义时,并不生成代码。只有当实例化模板时编译器才生成代码。 当调用一个函数时, 编译器只需要掌握函数的声明,函数定义不必已经出现 ,即使不定义,编译也会通过, 最终会在链接时才发现undefined symbol这个熟悉的错误 。 但对于模板来说却不同,生成一...
-
實參 (argument) 全称为"实际参数"是在调用时传递给函数的参数. 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。 形...