Skip to content

Commit 8259816

Browse files
author
qi.qiao
committed
feat: add some articles
1 parent fdf9009 commit 8259816

11 files changed

+729
-6
lines changed

README.md

+8-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
## 在线预览
66

7-
[Online Pages](https://csscoco.com/inspiration/#/./init)
7+
[Online Pages](https://csscoco.com/inspiration/#/./init/)
88

99
## 布局(Layout)
1010

@@ -71,6 +71,7 @@
7171
+ [使用 drop-shadow 配合 clip-path 生成规则阴影](https://csscoco.com/inspiration/#/./filter/filter-polygon-shadow.md)
7272
+ [使用 filter:blur 生成彩色阴影](https://csscoco.com/inspiration/#/./filter/filter-shadow.md)
7373
+ [单标签实现滴水效果](https://csscoco.com/inspiration/#/./filter/filter-single-div-water-drop.md)
74+
+ [利用 filter:blur 增强文字的 3D 效果](https://csscoco.com/inspiration/#/./filter/use-filter-blur-enhance-text-3d-effect.md)
7475

7576
## 边框
7677

@@ -113,6 +114,7 @@
113114
+ [渐变实现波浪边框](https://csscoco.com/inspiration/#/./background/bg-wave-border.md)
114115
+ [渐变实现波浪下划线](https://csscoco.com/inspiration/#/./background/bg-wave-underline.md)
115116
+ [渐变实现波浪效果/波浪进度框](https://csscoco.com/inspiration/#/./background/bg-wave.md)
117+
+ [利用 CSS @property 探寻渐变的极限效果](https://csscoco.com/inspiration/#/./background/css-property-variable-bg-change-animation.md)
116118
+ [多重径向渐变实现美妙的艺术背景](https://csscoco.com/inspiration/#/./background/repeating-radial-background-artistic-bg.md)
117119

118120
## 混合模式(mix-blend-mode/background-blend-mode)
@@ -127,14 +129,15 @@
127129
+ [使用 mix-blend-mode 实现光影文字效果](https://csscoco.com/inspiration/#/./blendmode/blend-text-shine.md)
128130
+ [CSS WAVE MOVE(惊艳的水波效果)](https://csscoco.com/inspiration/#/./blendmode/blend-water-wave.md)
129131
+ [mix-blend-mode 叠加多重渐变背景](https://csscoco.com/inspiration/#/./blendmode/mix-multi-graidient-bg.md)
132+
+ [使用混合模式叠加实现文字波浪效果](https://csscoco.com/inspiration/#/./blendmode/mixblend-text-wave-effect.md)
130133

131134
## 3D
132135

133136
+ [3D 球动画](https://csscoco.com/inspiration/#/./3d/3d-ball.md)
134137
+ [3D 数字计数动画](https://csscoco.com/inspiration/#/./3d/3d-count-number.md)
135138
+ [3D 宇宙时空穿梭效果](https://csscoco.com/inspiration/#/./3d/3d-css-galaxy-shuttle.md)
136-
+ [3D 立方体滚动 404 效果](https://csscoco.com/inspiration/#/./3d/3d-cuber-roll-404.md)
137139
+ [3D 立方体进度条](https://csscoco.com/inspiration/#/./3d/3d-cuber-progress-bar.md)
140+
+ [3D 立方体滚动 404 效果](https://csscoco.com/inspiration/#/./3d/3d-cuber-roll-404.md)
138141
+ [3D 光影变换文字效果](https://csscoco.com/inspiration/#/./3d/3d-glowing-rotate-text.md)
139142
+ [3D 无限延伸视角动画](https://csscoco.com/inspiration/#/./3d/3d-infinite-maze.md)
140143
+ [3D 线条动画](https://csscoco.com/inspiration/#/./3d/3d-line.md)
@@ -150,6 +153,7 @@
150153

151154
+ [借助transition-delay实现按钮border动画效果](https://csscoco.com/inspiration/#/./animation/animation-button-border.md)
152155
+ [CSS实现曲线运动](https://csscoco.com/inspiration/#/./animation/animation-curve.md)
156+
+ [利用 animation-delay 实现文字渐现效果](https://csscoco.com/inspiration/#/./animation/animation-delay-control-text-effect.md)
153157
+ [利用动画延迟实现波浪动画](https://csscoco.com/inspiration/#/./animation/animation-delay-wavy.md)
154158
+ [scale 配合 transfrom-origin 精准控制动画方向](https://csscoco.com/inspiration/#/./animation/animation-direction.md)
155159
+ [CSS 巧妙控制动画行进](https://csscoco.com/inspiration/#/./animation/animation-play-state.md)
@@ -204,6 +208,8 @@
204208
+ [支付宝AR扫福动画](https://csscoco.com/inspiration/#/./svg/alipay-ar-scan.md)
205209
+ [SVG绘制弧形文字](https://csscoco.com/inspiration/#/./svg/svg-arc-word.md)
206210
+ [SVG 按钮 hover 线条动画](https://csscoco.com/inspiration/#/./svg/svg-btn-hover.md)
211+
+ [SVG 配合 drop-shadow 实现线条光影效果](https://csscoco.com/inspiration/#/./svg/svg-dropshadow-line-neon-effect.md)
212+
+ [利用 SVG feTurbulence 滤镜及 filter: blur 实现鸿蒙 LOGO](https://csscoco.com/inspiration/#/./svg/svg-feTurbulence-harmony-logo.md)
207213
+ [SVG feTurbulence 滤镜实现故障按钮点击效果](https://csscoco.com/inspiration/#/./svg/svg-feturbulence-btn-glitch.md)
208214
+ [SVG feTurbulence 滤镜实现云彩效果 ](https://csscoco.com/inspiration/#/./svg/svg-feturbulence-clouds.md)
209215
+ [SVG 文字 hover 线条动画 2](https://csscoco.com/inspiration/#/./svg/svg-line-text-2.md)

_sidebar.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
+ [使用 drop-shadow 配合 clip-path 生成规则阴影](./filter/filter-polygon-shadow.md)
6969
+ [使用 filter:blur 生成彩色阴影](./filter/filter-shadow.md)
7070
+ [单标签实现滴水效果](./filter/filter-single-div-water-drop.md)
71+
+ [利用 filter:blur 增强文字的 3D 效果](./filter/use-filter-blur-enhance-text-3d-effect.md)
7172

7273
## 边框
7374

@@ -110,6 +111,7 @@
110111
+ [渐变实现波浪边框](./background/bg-wave-border.md)
111112
+ [渐变实现波浪下划线](./background/bg-wave-underline.md)
112113
+ [渐变实现波浪效果/波浪进度框](./background/bg-wave.md)
114+
+ [利用 CSS @property 探寻渐变的极限效果](./background/css-property-variable-bg-change-animation.md)
113115
+ [多重径向渐变实现美妙的艺术背景](./background/repeating-radial-background-artistic-bg.md)
114116

115117
## 混合模式(mix-blend-mode/background-blend-mode)
@@ -124,14 +126,15 @@
124126
+ [使用 mix-blend-mode 实现光影文字效果](./blendmode/blend-text-shine.md)
125127
+ [CSS WAVE MOVE(惊艳的水波效果)](./blendmode/blend-water-wave.md)
126128
+ [mix-blend-mode 叠加多重渐变背景](./blendmode/mix-multi-graidient-bg.md)
129+
+ [使用混合模式叠加实现文字波浪效果](./blendmode/mixblend-text-wave-effect.md)
127130

128131
## 3D
129132

130133
+ [3D 球动画](./3d/3d-ball.md)
131134
+ [3D 数字计数动画](./3d/3d-count-number.md)
132135
+ [3D 宇宙时空穿梭效果](./3d/3d-css-galaxy-shuttle.md)
133-
+ [3D 立方体滚动 404 效果](./layout/3d-cuber-roll-404.md)
134136
+ [3D 立方体进度条](./3d/3d-cuber-progress-bar.md)
137+
+ [3D 立方体滚动 404 效果](./3d/3d-cuber-roll-404.md)
135138
+ [3D 光影变换文字效果](./3d/3d-glowing-rotate-text.md)
136139
+ [3D 无限延伸视角动画](./3d/3d-infinite-maze.md)
137140
+ [3D 线条动画](./3d/3d-line.md)
@@ -147,6 +150,7 @@
147150

148151
+ [借助transition-delay实现按钮border动画效果](./animation/animation-button-border.md)
149152
+ [CSS实现曲线运动](./animation/animation-curve.md)
153+
+ [利用 animation-delay 实现文字渐现效果](./animation/animation-delay-control-text-effect.md)
150154
+ [利用动画延迟实现波浪动画](./animation/animation-delay-wavy.md)
151155
+ [scale 配合 transfrom-origin 精准控制动画方向](./animation/animation-direction.md)
152156
+ [CSS 巧妙控制动画行进](./animation/animation-play-state.md)
@@ -201,6 +205,8 @@
201205
+ [支付宝AR扫福动画](./svg/alipay-ar-scan.md)
202206
+ [SVG绘制弧形文字](./svg/svg-arc-word.md)
203207
+ [SVG 按钮 hover 线条动画](./svg/svg-btn-hover.md)
208+
+ [SVG 配合 drop-shadow 实现线条光影效果](./svg/svg-dropshadow-line-neon-effect.md)
209+
+ [利用 SVG feTurbulence 滤镜及 filter: blur 实现鸿蒙 LOGO](./svg/svg-feTurbulence-harmony-logo.md)
204210
+ [SVG feTurbulence 滤镜实现故障按钮点击效果](./svg/svg-feturbulence-btn-glitch.md)
205211
+ [SVG feTurbulence 滤镜实现云彩效果 ](./svg/svg-feturbulence-clouds.md)
206212
+ [SVG 文字 hover 线条动画 2](./svg/svg-line-text-2.md)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
## 利用 animation-delay 实现文字渐现效果
2+
3+
利用 animation-delay 实现文字渐现效果
4+
5+
### 关键点
6+
7+
1. hover 状态下和非 hover 状态下的 `transition-duration` 是不一样的,是因为取消 hover 过程中,动画消失过程的时间通常是要求更短的;
8+
2. 借助了 SASS 的循环 `@for $i from 1 to 21 {}` 递增给每个 `span` 和它的伪元素添加了递增的 `transition-delay`
9+
10+
### 线性渐变
11+
HTML:
12+
```HTML
13+
<div class="button">Button</div>
14+
<div class="g-wrap"></div>
15+
<p><span data-text="Lorem">Lorem</span> <span data-text="ipsum">ipsum</span> <span data-text="dolor">dolor</span> <span data-text="sit">sit</span> <span data-text="amet">amet</span> <span data-text="consectetur">consectetur</span> <span data-text="adipisicing">adipisicing</span> <span data-text="elit.">elit.</span> <span data-text="Mollitia">Mollitia</span> <span data-text="nostrum">nostrum</span> <span data-text="placeat">placeat</span> <span data-text="consequatur">consequatur</span> <span data-text="deserunt">deserunt</span> <span data-text="velit">velit</span> <span data-text="ducimus">ducimus</span> <span data-text="possimus">possimus</span> <span data-text="commodi">commodi</span> <span data-text="temporibus">temporibus</span> <span data-text="debitis">debitis</span> <span data-text="quam.">quam.</span></p>
16+
```
17+
18+
CSS:
19+
```CSS
20+
html,
21+
body {
22+
width: 100%;
23+
height: 100%;
24+
display: flex;
25+
overflow: hidden;
26+
}
27+
28+
.button {
29+
// position: fixed;
30+
top: 0;
31+
left: 0;
32+
width: 120px;
33+
height: 64px;
34+
line-height: 64px;
35+
text-align: center;
36+
border: 1px solid #eee;
37+
cursor: pointer;
38+
transition: .3s all;
39+
z-index: 1;
40+
41+
&:hover {
42+
background: #eee;
43+
}
44+
}
45+
46+
.button:hover ~ .g-wrap {
47+
content: "";
48+
position: fixed;
49+
top: 0;
50+
left: 0;
51+
right: 0;
52+
bottom: 0;
53+
transition: .3s background linear;
54+
background: rgba(0, 0, 0, .5);
55+
// z-index: -1;
56+
}
57+
58+
p {
59+
position: relative;
60+
margin: 50px auto;
61+
width: 500px;
62+
height: 250px;
63+
font-size: 22px;
64+
line-height: 1.5;
65+
overflow: hidden;
66+
z-index: 2;
67+
}
68+
69+
p span {
70+
position: relative;
71+
display: inline-block;
72+
opacity: 0;
73+
transform: translateY(15px) translateZ(0);
74+
transition-property: transform, opacity;
75+
transition-duration: .3s, .2s;
76+
transition-timing-function: cubic-bezier(.23,1,.32,1), linear;
77+
78+
}
79+
80+
.button:hover ~ p span {
81+
opacity: 1;
82+
color: #ddd;
83+
transform: translateY(0) translateZ(0);
84+
transition-property: transform, opacity;
85+
transition-duration: 1s, .2s;
86+
transition-timing-function: cubic-bezier(.23,1,.32,1), linear;
87+
88+
}
89+
90+
p span:after,
91+
p span:before {
92+
position: absolute;
93+
content: attr(data-text);
94+
top: 0;
95+
left: 0;
96+
z-index: 1;
97+
transform: translateZ(0);
98+
will-change: opacity;
99+
}
100+
101+
// p span:before {
102+
// color: #fff;
103+
// transition: opacity .6s .2s;
104+
// }
105+
106+
// .button:hover ~ p span:before {
107+
// opacity: 0;
108+
// transition: opacity .6s .3s;
109+
// }
110+
111+
p span:after {
112+
color: #e62541;
113+
transition-property: opacity;
114+
transition-duration: .1s;
115+
transition-timing-function: cubic-bezier(.23,1,.32,1);
116+
}
117+
118+
.button:hover ~ p span:after {
119+
opacity: 0;
120+
transition-property: opacity;
121+
transition-duration: .4s;
122+
transition-timing-function: cubic-bezier(.23,1,.32,1);
123+
}
124+
125+
@for $i from 1 to 21 {
126+
p span:nth-child(#{$i}) {
127+
transition-delay: #{$i * 0.04}s;
128+
129+
&::after {
130+
transition-delay: #{$i * 0.04 + 0.2}s;
131+
}
132+
}
133+
}
134+
```
135+
136+
效果如下(Hover 按钮触发效果):
137+
138+
<iframe height="350" style="width: 100%;" scrolling="no" title="实现文字渐现效果" src="https://codepen.io/Chokcoco/embed/LYLLVGw?default-tab=result&editable=true&theme-id=light" frameborder="no" loading="lazy" allowtransparency="true" allowfullscreen="true">
139+
See the Pen <a href="https://codepen.io/Chokcoco/pen/LYLLVGw">
140+
实现文字渐现效果</a> by Chokcoco (<a href="https://codepen.io/Chokcoco">@Chokcoco</a>)
141+
on <a href="https://codepen.io">CodePen</a>.
142+
</iframe>

0 commit comments

Comments
 (0)