css如何设超出屏幕宽度可以滑动

查看:88
本文介绍了css如何设超出屏幕宽度可以滑动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题


css:
.product-status{

        width: 100%;
        height: 2.611111rem;
        overflow-x: scroll;
        font-size: 0.722222rem;
        border-bottom: 2px solid #F2F2F2;
        border-top: 2px solid #F2F2F2;
    }
    .product-status div{
        /*display: inline-block;*/
        float: left;
        margin-left: 0.666666rem;
        margin-right: 0.666666rem;
    }
    .product-status div span{
        display: inline-block;
        margin-bottom: 0.333333rem;
    }
    
  html:
  <div class="product-status">
    <div><span>育种</span></div>
    <div><span>播种</span></div>
    <div><span>发芽</span></div>
    <div><span>除草</span></div>
    <div><span>施肥</span></div>
    <div><span>开花</span></div>
    <div><span>挂果</span></div>
    <div><span>其他</span></div>
</div>  

我这里设置了overflow-x: scroll;可是为啥还是会换行?如果我设置了overflow-y: hidden;的话就动不了了,就是宽度不能滑动?为什么?哪里出了问题?
    

解决方案

因为你里面的div设置了浮动,所以会换行,
你设置浮动后 div会脱离正常的文档流,所以你想要横向滚动的效果并没有出现,float简单来说你是想自适应,滚动的话就是固定布局了,这点你的设计比较矛盾。
如果float不是为了自适应,就取消浮动用下面的方法:
为了能设置栏目宽高达到间距效果,可以去除div层直接将span设置为display:inline-block,你这段代码的语义其实并不好,建议用列表ol、ul实现,逻辑更清晰一些。

<style>
    .com{
        width: 100%;
        border: 1px solid #000;
    }
    .com ul{
        width: auto;
        overflow-x: auto;
        white-space: nowrap;
    }
    .com li{
        display: inline-block;
        width: 300px;
        height: 50px;
        border: 1px solid red;
    }
</style>


<div class="com">
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8</li>
        <li>9</li>
        <li>0</li>
    </ul>
</div>

这篇关于css如何设超出屏幕宽度可以滑动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆