CSS實(shí)現(xiàn)滑動(dòng)覆蓋標(biāo)題可以給頁(yè)面增添動(dòng)態(tài)感,是前端開(kāi)發(fā)中常用的效果之一。
html代碼結(jié)構(gòu): <div class="title-container"> <h1 class="title-text">我是標(biāo)題</h1> <div class="title-slider"></div> </div> CSS樣式: .title-container { position: relative; } .title-text { position: relative; z-index: 2; } .title-slider { position: absolute; top: 0; left: 0; z-index: 1; width: 100%; height: 100%; background-color: #00ffff; transition: transform 0.4s ease-in-out; } JS代碼: // 獲取標(biāo)題容器及滑塊 let titleContainer = document.querySelector(".title-container"); let titleSlider = document.querySelector(".title-slider"); // 監(jiān)聽(tīng)鼠標(biāo)懸浮事件 titleContainer.addEventListener("mousemove", function(e) { // 獲取鼠標(biāo)在標(biāo)題容器內(nèi)的位置百分比 let percentageX = e.offsetX / titleContainer.offsetWidth * 100; let percentageY = e.offsetY / titleContainer.offsetHeight * 100; // 計(jì)算滑塊的移動(dòng)距離 let moveX = percentageX - 50; let moveY = percentageY - 50; // 移動(dòng)滑塊 titleSlider.style.transform = `translate(${moveX}%, ${moveY}%)`; });
通過(guò)以上代碼實(shí)現(xiàn)了滑動(dòng)覆蓋標(biāo)題的效果。其中,通過(guò)將滑塊的z-index設(shè)置為1,滑塊就處于標(biāo)題下方,實(shí)現(xiàn)覆蓋效果。通過(guò)監(jiān)聽(tīng)鼠標(biāo)懸浮事件并計(jì)算滑塊的移動(dòng)距離,實(shí)現(xiàn)了滑塊隨著鼠標(biāo)移動(dòng)而移動(dòng)的效果。