純CSS實現的滑動導航
現在越來越多的網站采用滑動導航,這種導航風格簡潔而又時尚,為用戶提供了更好的交互體驗。我們可以使用純CSS來實現這種滑動導航,以下是實現代碼及分析。
/* HTML結構 *//* CSS部分 */ /* 定義導航背景為白色,高度為50px */ .slide-menu { background: #fff; height: 50px; } /* 定義ul和li元素的樣式,水平排列,去除默認樣式 */ .slide-menu ul { list-style: none; margin: 0; padding: 0; display: flex; } .slide-menu li { flex: 1; text-align: center; transition: all 0.3s linear; } /* 定義a標簽樣式 */ .slide-menu a { display: block; line-height: 50px; color: #333; text-decoration: none; } /* 鼠標懸浮樣式 */ .slide-menu li:hover { background: #ccc; } /* 滑動條樣式 */ .slide-bar { background: #333; height: 2px; width: 0; transition: all 0.3s linear; } /* 定義滑動條位置 */ .slide-menu li:hover ~ .slide-bar { width: calc(100% / 4); transform: translate(calc(-100% / 4), 0%); }
首先在HTML中設置一個nav元素,其里面包括一個ul元素,用于存放導航選項,還有一個div元素用于我們后面實現導航滑動效果。ul中的每一個li表示導航選項,而a元素為導航鏈接。
在CSS中,我們首先定義了導航背景色為白色,高度為50px,并采用了flex布局來實現水平排列。同時,去除了ul和li的默認樣式。
我們還定義了導航鏈接的樣式,包括顏色、行高和去除下劃線等樣式。
接著,我們定義了鼠標懸浮后導航選項背景顏色的變化。最后關鍵的實現在于定義滑動條的樣式以及位置?;瑒訔l的高度為2px,寬度為0,顏色為黑色。當鼠標懸浮于某個導航選項時,滑動條的寬度會變為100% / 4,即平均分配每個導航選項的寬度。而對于滑動條位置,我們使用了CSS3的calc函數和translate函數,用于實現動態計算偏移量。
最后,通過以上實現,一個簡潔時尚的滑動導航就完成了,還不趕快嘗試在你的網站中使用吧!