CSS3是網頁設計中的一個重要的技術,它可以實現很多炫酷的效果,其中之一就是實現水波效果。
實現水波效果的方法其實很簡單,只需要用到CSS3中的animation和transform屬性。下面是一段示例代碼:
/* 定義一個波浪的動畫 */ @keyframes wave { 0% { transform: translateX(0) translateZ(0) scaleY(1) } 50% { transform: translateX(-25%) translateZ(0) scaleY(0.55) } 100% { transform: translateX(-50%) translateZ(0) scaleY(1) } } .wave { position: relative; width: 100%; height: 150px; overflow: hidden; background-color: #00baff; } .wave:before { content: ""; display: block; position: absolute; bottom: 0; width: 200%; height: 100%; margin-left: -100%; background-repeat: no-repeat; background-position: 0 0; background-size: 50% 100%; animation: wave 2s linear infinite; opacity: 0.6; }
在上面的代碼中,我們定義了一個名為wave的動畫,并將它應用到了波浪的:before偽元素中。:before偽元素是一個在元素內容前面插入一個子元素,并且它擁有自己的一些CSS屬性的特殊元素。設置:before偽元素的寬度為200%,高度為100%,并將它的左邊距向左移動100%,這樣它就可以完全覆蓋住波浪容器的整個寬度。
在應用動畫時,我們將wave動畫應用到了這個偽元素上,并設置了一些細節參數來調節動畫的效果,比如動畫時長、線性等。最后將動畫的透明度設置為0.6,就可以得到一個非常炫酷的水波效果了!