溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

css實(shí)現(xiàn)橫向滾動(dòng)條的案例

發(fā)布時(shí)間:2020-10-22 15:42:44 來源:億速云 閱讀:183 作者:小新 欄目:web開發(fā)

這篇文章給大家分享的是有關(guān)css實(shí)現(xiàn)橫向滾動(dòng)條的案例的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。

html代碼:

<div class="nav_wrap">
    <ul class="nav_mine">
        <li class="nav_item">全部</li>
        <li class="nav_item">Adobe</li>
        <li class="nav_item">微軟</li>
        <li class="nav_item">會(huì)計(jì)</li>
        <li class="nav_item">繪畫</li>
        <li class="nav_item">Adobe</li>
        <li class="nav_item">微軟</li>
        <li class="nav_item">會(huì)計(jì)</li>
        <li class="nav_item">繪畫</li>
    </ul>
</div>
<script src="node_modules/jQuery/tmp/jquery.js"></script>

一、 原始css + jquery 實(shí)現(xiàn)橫向滾動(dòng)條(原生js可以實(shí)現(xiàn),為了方便才用的jQuery)

css代碼:

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}
.nav_wrap{
    overflow-x: scroll;
}
.nav_mine {
    padding: 15px 10px;
    border-bottom: 1px solid #aca9a7;
    height: 75px;
    overflow-x: scroll;
    overflow-y: hidden;
}

.nav_mine .nav_item {
    border: 1px solid #1a110b;
    border-radius: 40px;
    color: #aca9a7;
    margin-right: 10px;
    font-size: 24px;
    padding: 4px 18px;
    float: left;
    list-style: none;
}

js代碼:

$(function(){
    var width = 0;
    for (let i = 0; i < $('.nav_item').length; i++) {
        width += $('.nav_item').eq(i).outerWidth(true);
    }
    $('.nav_mine').width(width+20);  //width只是內(nèi)容的寬度,需要加上padding的寬度
})

PS:為什么用js,是因?yàn)椴恢纓abs有多少個(gè),不能把寬度寫死,只能動(dòng)態(tài)獲取tabs的寬度,然后相加,獲取總寬度,方便多次使用。outerWidth加上參數(shù)true,代表包含了padding+margin+border的寬度。

二 css3  --  flex

css代碼:

* {
    box-sizing: border-box;
}

.nav_mine {
    padding: 15px 20px;
    border-bottom: 1px solid #aca9a7;
    height: 75px;
    display: flex;
    align-items: center;
    overflow-y: hidden;
    flex-wrap: nowrap;
}

.nav_mine .nav_item {
    border: 1px solid #aca9a7;
    border-radius: 40px;
    color: #aca9a7;
    margin-right: 22px;
    font-size: 24px;
    padding: 4px 18px;
    list-style: none;
    white-space: nowrap;
}

對于white-space,item在沒有用white-space:nowrap時(shí),發(fā)現(xiàn)一個(gè)問題,在未設(shè)定寬度的情況下,一個(gè)單詞不會(huì)換行,而漢字會(huì)換行,認(rèn)為是和display:flex有關(guān)系,上網(wǎng)查閱,才知道:white-space是看空格來識別是否換行的,單詞是作為一個(gè)字符,所以要針對于漢字和英文,都要設(shè)置white-space:nowrap不換行。因?yàn)闈h字和英文的不同,導(dǎo)致所占的寬度不一致,所以要留1到2個(gè)像素。

感謝各位的閱讀!關(guān)于css實(shí)現(xiàn)橫向滾動(dòng)條的案例就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI