標題:純CSS3水波紋效果實現(xiàn)教程
水波紋效果是一種常見的CSS3動畫效果,可以用于創(chuàng)建平滑的過渡和視覺效果。本文將介紹如何使用純CSS3實現(xiàn)這種效果。
1. 創(chuàng)建一個水波紋背景
使用HTML和CSS創(chuàng)建一個水波紋背景。可以使用CSS中的@media mediatype和transform屬性來控制水波紋的寬度和強度。例如:
```html
<div class="波紋">
<div class="水滴"></div>
</div>
```css
.波紋 {
position: relative;
width: 200px;
height: 200px;
.水滴 {
position: absolute;
top: 0;
left: 0;
width: 20px;
height: 20px;
background-color: #ccc;
animation: 波紋 5s infinite;
@keyframes 波紋 {
0% {
transform: scale(0);
50% {
transform: scale(1.2);
100% {
transform: scale(0);
在這個例子中,我們創(chuàng)建了一個200x200px的div元素,并將其定位在頁面的頂部。我們創(chuàng)建了一個水滴元素,并將其絕對定位在div元素的底部。我們使用animation屬性來創(chuàng)建水波紋效果,并在每個版本的50%和100%時將水滴元素放大1.2倍。
2. 添加水滴元素
現(xiàn)在,我們需要將水滴元素添加到水波紋div元素中。可以使用HTML中的<li>標簽和CSS中的:before和:after屬性來實現(xiàn)。例如:
```html
<div class="波紋">
<div class="水滴"></div>
</div>
<div class="水滴"></div>
</li>
```css
.波紋 {
position: relative;
width: 200px;
height: 200px;
.水滴 {
position: absolute;
top: 0;
left: 0;
width: 20px;
height: 20px;
background-color: #ccc;
animation: 波紋 5s infinite;
.水滴:before,
.水滴:after {
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 20px;
height: 20px;
background-color: #ccc;
animation: 波紋 5s infinite;
.水滴:before {
left: 0;
transform: translateX(-50%);
.水滴:after {
right: 0;
transform: translateX(50%);
在這個例子中,我們使用了兩個:before和:after屬性來創(chuàng)建兩個水滴元素。第一個用于創(chuàng)建初始水滴形狀,第二個用于創(chuàng)建水波紋效果。
3. 添加動畫
現(xiàn)在,我們需要添加動畫效果以創(chuàng)建平滑的過渡。可以使用CSS中的@keyframes規(guī)則來創(chuàng)建動畫。例如:
```css
.波紋 {
position: relative;
width: 200px;
height: 200px;
.水滴 {
position: absolute;
top: 0;
left: 0;
width: 20px;
height: 20px;
background-color: #ccc;
animation: 波紋 5s infinite;
.水滴:before,
.水滴:after {
content: "";
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 20px;
height: 20px;
background-color: #ccc;
animation: 波紋 5s infinite;
.水滴:before {
left: 0;
transform: translateX(-50%);
.水滴:after {
right: 0;
transform: translateX(50%);
@keyframes 波紋 {
0% {
transform: scale(0);
50% {
transform: scale(1.2);
100% {
transform: scale(0);
在這個例子中,我們使用了一個@keyframes規(guī)則來創(chuàng)建兩個水滴元素,并將它們分別放在:before和:after屬性中。在每個版本的50%和100%時,我們將水滴元素放大1.2倍,以創(chuàng)建平滑的過渡效果。
通過以上步驟,我們使用純CSS3實現(xiàn)了一個水波紋效果。可以使用CSS中的@media mediatype和transform屬性來控制水波紋的寬度和強度,并使用:before和:after屬性來實現(xiàn)水滴元素,以實現(xiàn)平滑的過渡效果。