您好,登錄后才能下訂單哦!
這篇文章主要介紹了CSS怎么實現(xiàn)導(dǎo)航固定的、左右滑動的滾動條,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
如上效果的導(dǎo)航,導(dǎo)航是固定在頂部的,可以左右滑動點擊更多選項的。
這種制作相當(dāng)簡單,本文只是提幾點注意:
固定位置
菜單固定在頂部不動,使用 position:fixed; top:0; left:0;。同時要注意:
下面列表下移相應(yīng)的位置,否則打開頁面時,下方列表會被遮住一部分。
為菜單設(shè)置背景,否則透明的話,與下面列表滾動上來的內(nèi)容會重疊顯示。
為 body 設(shè)置背景,因為微信瀏覽器默認(rèn)有個背景色(不是白色),可能會與我們的效果沖突,按需設(shè)置背景。
使用 table
通常我們使用 ul、li 作 float,但是當(dāng)一行顯示不下時,要讓它不落到第二行的話,比較麻煩,所以我們推薦使用 table。
以下是整個 CSS 代碼,其中 .wrapper 是外層,.nav、.list 是兄弟。
body, .wrapper { background:#fff; } .nav { position:fixed; top:0; left:0; padding:0; width:100%; height:60px; overflow-x:scroll; background:#fff; } .nav table { width:720px; border-collapse:collapse; } .nav table td { padding-top:10px; padding-bottom:10px; width:80px; text-align:center; } .nav table td a { line-height:40px; font-size:14px; font-weight:bold; } .nav table td.cur a { box-sizing:border-box; border-bottom:2px solid #f07515; color:#f07515; } .list { margin-top:60px; }
動態(tài)限定寬度
上面 CSS 代碼為 table 設(shè)置了 720px,即 9 個 td 的寬度,通常我們菜單數(shù)量是固定的,所以直接這么設(shè)置,但是如果不固定的話,可以利用程序來動態(tài)設(shè)置,比如 JavaScript 設(shè)置方法:
$(".header table").width($(".header table td").length * $(".header table td").width());
選中后面的菜單項時,顯示后面的菜單項
對于非 Ajax 頁面,點擊后面的菜單頁時,頁面刷新,然后顯示最左邊的幾個菜單項,我們可以利用 JavaScript 滾動菜單項,使當(dāng)前選中項顯示出來,示例代碼如下:
var count = 0; $(".header table td").each(function () { if ($(this).hasClass("cur")) { return false; } count++; }); if (count >= 3) { // 選中前面幾個時不滾動 count -= 2; // 不必滾到最左邊 $(".header").get(0).scrollLeft = count * $(".header table td").width(); }
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“CSS怎么實現(xiàn)導(dǎo)航固定的、左右滑動的滾動條”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。