CSS3的眾多功能,總是為網頁設計師和開發者提供了更多創意的空間和可能性。其中一個比較有趣的功能就是讓一個星星閃光,那么這個星星閃光的效果該如何實現呢?下面我們就來了解一下。
首先,我們可以使用CSS3的偽類:before和after。分別為指定元素的前面和后面插入生成的內容。根據這個特性,我們可以生成一個star的形狀,通過CSS3的transform屬性來旋轉這個star,然后隨機生成其閃爍的時間延遲,最后通過CSS3的動畫關鍵幀實現效果。
.star { width: 0; height: 0; border-right: 10px solid transparent; border-bottom: 12px solid #ff0; border-left: 10px solid transparent; position: relative; top: -10px; animation: twinkle 1s infinite; } /* 通過CSS3的transform旋轉star */ .star:before { content: ""; position: absolute; top: 12px; left: -15px; height: 0; width: 0; border-right: 10px solid transparent; border-bottom: 12px solid #ff0; border-left: 10px solid transparent; transform: rotate(30deg); } .star:after { content: ""; position: absolute; top: 12px; left: 15px; height: 0; width: 0; border-right: 10px solid transparent; border-bottom: 12px solid #ff0; border-left: 10px solid transparent; transform: rotate(-30deg); } /* 通過動畫關鍵幀來實現 */ @keyframes twinkle { 0% { opacity: 0; } 50% { opacity: 1; } 100% { opacity: 0; } } /* 隨機時間延遲 */ .star:nth-child(1) { animation-delay: .2s; } .star:nth-child(2) { animation-delay: .4s; } .star:nth-child(3) { animation-delay: .6s; } .star:nth-child(4) { animation-delay: .8s; } .star:nth-child(5) { animation-delay: 1s; }
這個效果看起來非常的酷炫,緊跟潮流!想要在網頁設計和開發中有更為出色的表現,我們需要不斷地學習和實踐CSS3的新用法。