星空背景在網頁設計中,作為一種特殊的效果,可以增加網頁的視覺沖擊力和藝術感。前端工程師可以利用CSS來達到這樣的效果。
.sky{ background: #1d1f20; background: linear-gradient(to bottom, #1d1f20, #353d40, #545d63, #6a7498, #7b8abe); background-size: 100%; height: 1000px; position: relative; overflow: hidden; } .star{ position: absolute; width: 1px; height: 1px; border-radius: 50%; background-color: #fff; }
代碼中,我們為整個星空背景設置了一個.sky的類,其中我們使用了linear-gradient來實現漸變色的效果,讓背景變得更加柔和。
接著,我們為星星設置了一個.star的類,并用絕對定位來讓它們出現在背景的上層。使用了border-radius:50%可以讓星星看起來更加圓潤,使視覺效果更佳。
function star(){ let num = 200;/*設定星星的數量*/ let _w = window.innerWidth; let _h = window.innerHeight; let timer; let html = document.getElementsByTagName("html")[0]; html.style.cssText = "height: 100%;"; for(let i = 0; i< num; i++){ let span = document.createElement("span"); span.className = "star"; let x = Math.round(Math.random()*_w); let y = Math.round(Math.random()*_h); let scale = Math.random()*2; let duration = Math.random()*5; span.style.cssText = "left:"+x+"px;top:"+y+"px;" +"transform:scale("+scale+","+scale+");" +"animation:twinkle "+duration+"s infinite;"; html.appendChild(span);/*在html標簽中添加星星*/ } /*設置星星閃爍動畫*/ let keyframes = `@keyframes twinkle{ 0%,100%{ opacity: 1; } 50%{ opacity: 0.8; } }`; let style = document.createElement("style"); style.innerHTML = keyframes; html.appendChild(style);/*在html標簽中添加動畫*/ } star();
最后,我們使用JavaScript來實現星星的隨機出現并閃爍的效果。首先設定星星的數量、視窗的寬高、以及一些變量,再循環生成星星并設置它們的大小、位置和動畫等屬性。最后,我們使用了CSS3 animation來達到星星閃爍的效果,使星星更加真實。
通過以上的代碼實現,我們可以得到一個充滿藝術感的星空背景。前端工程師使用了CSS和JavaScript技術來營造出一個更加美觀、有趣的界面,給用戶帶來不一樣的體驗。
下一篇html5代碼 截圖