CSS3是一種用于網(wǎng)頁樣式設(shè)計(jì)的編程語言,它可以讓網(wǎng)頁設(shè)計(jì)師輕松地實(shí)現(xiàn)各種各樣的效果。今天我們來看一下如何使用CSS3來寫一個(gè)月食效果。
/* 先在HTML頁面里添加一個(gè)div元素 *//* 接著,我們給這個(gè)div添加一些樣式 */ .moon-eclipse { width: 150px; height: 150px; border-radius: 50%; background-color: #fceb5e; position: relative; } /* 然后,我們?cè)赿iv里面添加一個(gè)偽元素來表示月亮的陰影 */ .moon-eclipse::before { content: ""; position: absolute; top: 50%; left: 50%; width: 80px; height: 80px; margin-top: -40px; margin-left: -40px; border-radius: 50%; background-color: #333; box-shadow: 0 0 0 500px #000; transform: translate(-50%, -150%) rotate(45deg); z-index: -1; }
完成了這些之后,我們就得到了一個(gè)看起來像月亮的div元素。不過,我們還需要在這個(gè)月亮上加上陰影才能實(shí)現(xiàn)月食的效果。這里我們使用CSS3的動(dòng)畫特性來實(shí)現(xiàn)月食的動(dòng)態(tài)效果。
/* 添加動(dòng)畫特性 */ .moon-eclipse::before { animation: moon-eclipse 2s linear infinite; } /* 定義動(dòng)畫特性 */ @keyframes moon-eclipse { 0% { transform: translate(-50%, -150%) rotate(45deg); box-shadow: 0 0 0 500px #000; } 50% { transform: translate(-50%, 0) rotate(45deg); box-shadow: 0 0 0 0 #000; } 100% { transform: translate(-50%, 150%) rotate(45deg); box-shadow: 0 0 0 500px #000; } }
通過上面的代碼,我們定義了一個(gè)名為moon-eclipse的動(dòng)畫特性,它會(huì)讓陰影在月亮上面運(yùn)動(dòng),從而實(shí)現(xiàn)月食的效果。現(xiàn)在,我們就可以在網(wǎng)頁中看到一個(gè)動(dòng)態(tài)的月食效果了。