實現(xiàn)橫向滾動 并寬度不固定

摘要

前不久碰到一個需求,在寬度不固定下實現(xiàn)橫線滾動,這里我用css來寫,記錄下來,供以后借鑒。 有時會忘記

原理
子元素的寬度大于父元素是,會出現(xiàn)滾動 overflow-x: scroll; 為水平滾動,overflow-y: scroll; 為垂直滾動,按需求這里采用水平橫向滾動

// html 如下
    <div class="content">
        <div class="redPacket">
            <div class="item" style="margin-right:10px;border-radius:4px;">
                <div class="amount">
                    <span>2</span>元
                </div>
                <div class="fundInfo">
                    <p class="name">鵬華基金鵬友會</p>
                    <p>滿1000元可用</p>
                </div>                  
            </div>
            <div class="item" style="margin-right:10px;border-radius:4px;">
                <div class="amount">
                    <span>2</span>元
                </div>
                <div class="fundInfo">
                    <p class="name">鵬華基金鵬友會</p>
                    <p>滿1000元可用</p>
                </div>                  
            </div>
        </div>
    </div>
//  css如下
        * {
            margin:0;
            padding:0;

        }
        body {
            width:320px;
            height: 40px;
            overflow: hidden;
            margin:100px auto;
        }
        .content {
            width: 100%;
            overflow-x: scroll; // 子元素的寬度大于父元素的即可滾動
            overflow-y: hidden;
            border-radius: 4px;
        }
        /*  .content::-webkit-scrollbar {display:none} // 隱藏滾動條*/
        .redPacket{
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            float: left;  // 使其脫離文檔流 寬度為所有字元素的和
            min-width: 100%;
        }
        .item {
            min-width: 150px;
            height: 50px;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            flex: 3;
            -webkit-align-items: center;
            -ms-flex-align: center;
            align-items: center;
            background-image: linear-gradient(90deg,#ff6d0b 2%,#ef4916);
            padding: 0 10px;
        }
        .amount {
            text-align: center;
            padding-right: 10px;
            font-size: 12px;
            color: #FFD41D;
            border-right: 1px solid #FFA068;
        }
        .amount span {
            font-size: 30px;
            line-height: 30px;
        }
        .fundInfo {
            padding: 8px 10px;
        }
        .fundInfo p {
            color: #FFF;
            font-size: 12px;
        }

效果:
demo1.gif

總結(jié):redPacket 在沒有添加float: left; 樣式的時候。小屏手機(iPhone5) 出現(xiàn)樣式錯亂現(xiàn)象,這是由于 redPacket寬度和父級寬度一致(100%),并且默認(rèn)item的最小寬度為最終寬度,子集撐不開,樣式亂碼,添加float: left; 后 ,使其脫離文檔流,寬度變?yōu)樗凶蛹╥tem)之和,這樣里面文字無論變?yōu)槎嗌伲淖侄疾粫浑[藏 。
對應(yīng)源代碼和實例效果 ,放到了codepen 上,如果想實踐可以去查閱。

以上為此文章所有內(nèi)容

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補...
    _Yfling閱讀 14,204評論 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,887評論 1 45
  • 學(xué)會使用CSS選擇器熟記CSS樣式和外觀屬性熟練掌握CSS各種選擇器熟練掌握CSS各種選擇器熟練掌握CSS三種顯示...
    七彩小鹿閱讀 6,451評論 2 66
  • ??DOM 1 級主要定義的是 HTML 和 XML 文檔的底層結(jié)構(gòu)。 ??DOM2 和 DOM3 級則在這個結(jié)構(gòu)...
    霜天曉閱讀 1,612評論 1 3
  • 勿言,既明,時之吾心,之吾意! 搬來凳子 登上窗臺 拍張照片 借樓吉言 中國平安 華人安康
    舍得涂鴉閱讀 559評論 31 59

友情鏈接更多精彩內(nèi)容