CSS的背景可以是圖片、顏色或漸變。而實現背景自動輪換則需要使用CSS3的動畫特性。
首先,需要定義一個包含多個背景圖的容器,如下所示:
<div class="bg-container"> <div class="bg-item" style="background-image: url(bg1.jpg)"></div> <div class="bg-item" style="background-image: url(bg2.jpg)"></div> <div class="bg-item" style="background-image: url(bg3.jpg)"></div> </div>
其中,每個背景圖都使用了一個class名為bg-item的容器。接著,需要定義CSS動畫:
.bg-container { position: relative; overflow: hidden; width: 500px; /* 容器寬度 */ height: 300px; /* 容器高度 */ } .bg-item { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; /* 初始狀態為隱藏 */ animation: changeBg 10s ease-in-out infinite; } @keyframes changeBg { 0% { opacity: 0; } 20% { opacity: 1; } 33% { opacity: 1; } 53% { opacity: 0; } 100% { opacity: 0; } }
代碼中定義了名為changeBg的CSS動畫,其實現的效果是在10秒鐘內,每隔5秒鐘,容器中的背景圖自動輪換一次。
其中,0%~20%和53%~100%的階段,容器的背景圖都是隱藏的;20%~33%階段顯示第一張背景圖;33%~53%階段顯示第二張背景圖。
最后,為了讓容器中的第一個背景圖能夠默認顯示出來,需要添加如下樣式:
.bg-item:nth-child(1) { opacity: 1; }
這樣就完成了CSS背景自動輪換的實現。當然,你也可以根據需要,調整動畫的時間和階段,實現更加炫酷的輪換效果。