欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

css怎么寫滑動導航

胡佳莉1年前6瀏覽0評論

CSS是前端開發中的重要技術之一,它可以幫助我們實現頁面美觀的效果。實現的效果之一是滑動導航,接下來我將為大家介紹CSS如何實現滑動導航。

.nav{
display: flex; 
justify-content: space-between; 
margin-bottom: 40px;
}
.nav ul{
list-style: none; 
margin: 0;
padding: 0;
display: flex;
}
.nav li{
padding: 0 10px;
}
.nav li:hover{
color: #f60;
cursor: pointer;
}
.line{
position: absolute; 
bottom: 0;
left: 0;
height: 2px;
background-color: #f60;
transition: all .3s ease-out;
}

以上是CSS實現滑動導航的主要代碼。接下來解釋一下代碼中的各個部分。

首先是.nav樣式,使用flex布局將菜單項居中并與logo距離一定距離。接著是li:hover樣式,當鼠標懸浮在菜單項上時會觸發,字體顏色變為#f60。最后是.line樣式,這是滑動條的樣式,使用絕對定位將其固定在底部,寬度與li的寬度一致。

接著,在HTML中加入以下代碼:

<nav class="nav">
<ul>
<li>首頁</li>
<li>產品介紹</li>
<li>關于我們</li>
<li>聯系我們</li>
</ul>
<div class="line"></div>
</nav>

以上是HTML代碼,其中nav元素的class為nav,里面包含一個ul元素和一個div元素。其中ul元素表示菜單項,div元素表示滑動條。

接下來,我們需要使用JavaScript來感知用戶的鼠標移動事件,并且將滑動條位置做相應的調整。

let nav = document.querySelector('.nav');
let line = document.querySelector('.line');
let lis = document.querySelectorAll('.nav li');
let lineWidth = lis[0].offsetWidth;
let lastIndex = 0;
nav.onmouseover = function(e) {
let target = e.target;
if (target.nodeName !== 'LI') return;
let index = [...lis].indexOf(target);
if (index === lastIndex) return;
line.style.width = lineWidth + 'px';
line.style.transform =translateX(${index * lineWidth}px);
lastIndex = index;
}
nav.onmouseleave = function() {
line.style.width = 0;
line.style.transform = 'translateX(0)';
lastIndex = 0;
}

以上是JavaScript代碼,實現的主要功能是監聽鼠標移動事件,移動滑動條的位置。當鼠標移進.nav元素時,判斷鼠標經過的元素節點是否為li節點,如果是則計算該節點的位置,并移動滑動條的位置。當鼠標移出.nav元素時,重置滑動條的位置和長度。

以上就是CSS實現滑動導航的詳細介紹,希望對大家能有所幫助。