zoukankan      html  css  js  c++  java
  • css超出显示滚动条的三种方法

    方法1:计算滚动条宽度并隐藏起来

    <div class="outer-container">
        <div class="inner-container">
            ......
        </div>
    </div>
    
    .outer-container{
         360px;
        height: 200px;
        position: relative;
        overflow: hidden;
    }
    .inner-container{
        position: absolute;
        left: 0;
        top: 0;
        right: -17px;
        bottom: 0;
        overflow-x: hidden;
        overflow-y: scroll;
    }

    注释:这个代码巧妙的向右移动了17个像素,刚好等于滚动条的宽度。这个值是我手动调试得来的。在chrome和IE没发现问题。

    方法2:使用三个容器包围起来,不需要计算滚动条的宽度

    这个方法相对于方法1多加了一个盒子,将内容限制在盒子里面了,这样就看不到滚动条的同时也可以滚动。

     <div class="outer-container">
         <div class="inner-container">
            <div class="content">
                ......
            </div>
         </div>
     </div>
    
    .element, .outer-container {
       200px;
      height: 200px;
    }
    
    .outer-container {
      border: 5px solid purple;
      position: relative;
      overflow: hidden;
    }
    
    .inner-container {
      position: absolute;
      left: 0;
      overflow-x: hidden;
      overflow-y: scroll;
    }
    
    .inner-container::-webkit-scrollbar {
      display: none;
    }

    方法3:自定义滚动条的伪对象选择器::webkit-scrollbar

    这种方法不兼容IE,做移动端的可以使用。

    .element::-webkit-scrollbar {  0 !important }
    

      IE 10+

    .element { -ms-overflow-style: none; }
    

      Firefox

    .element { overflow: -moz-scrollbars-none; }

    详情:

      以下为自定义webkit滚动条样式

    使用谷歌Chrome浏览器的最新版本,滚动条样式已经是非常漂亮了。这个webkit-scrollbar仅适用于webkit内核。

    webkit属性

    ::-webkit-scrollbar { /* 1 */ }
    ::-webkit-scrollbar-button { /* 2 */ }
    ::-webkit-scrollbar-track { /* 3 */ }
    ::-webkit-scrollbar-track-piece { /* 4 */ }
    ::-webkit-scrollbar-thumb { /* 5 */ }
    ::-webkit-scrollbar-corner { /* 6 */ }
    ::-webkit-resizer { /* 7 */ }

    使用实例

    ::-webkit-scrollbar {
    width: 12px;
    }
    ::-webkit-scrollbar-track {
    background-color: #eaeaea;
    border-left: 1px solid #ccc;
    }
    ::-webkit-scrollbar-thumb {
    background-color: #ccc;
    }
    ::-webkit-scrollbar-thumb:hover {
    background-color: #aaa;
    }
    ::-webkit-scrollbar-thumb:active{
    background-color:#333;
    }

    不同状态

    :horizontal
    //horizontal伪类适用于任何水平方向上的滚动条
    :vertical
    //vertical伪类适用于任何垂直方向的滚动条
    :decrement
    //decrement伪类适用于按钮和轨道碎片。表示递减的按钮或轨道碎片,例如可以使区域向上或者向右移动的区域和按钮
    :increment
    //increment伪类适用于按钮和轨道碎片。表示递增的按钮或轨道碎片,例如可以使区域向下或者向左移动的区域和按钮
    :start
    //start伪类适用于按钮和轨道碎片。表示对象(按钮 轨道碎片)是否放在滑块的前面
    :end
    //end伪类适用于按钮和轨道碎片。表示对象(按钮 轨道碎片)是否放在滑块的后面
    :double-button
    //double-button伪类适用于按钮和轨道碎片。判断轨道结束的位置是否是一对按钮。也就是轨道碎片紧挨着一对在一起的按钮。
    :single-button
    //single-button伪类适用于按钮和轨道碎片。判断轨道结束的位置是否是一个按钮。也就是轨道碎片紧挨着一个单独的按钮。
    :no-button
    no-button伪类表示轨道结束的位置没有按钮。
    :corner-present
    //corner-present伪类表示滚动条的角落是否存在。
    :window-inactive
    //适用于所有滚动条,表示包含滚动条的区域,焦点不在该窗口的时候。
    ::-webkit-scrollbar-track-piece:start {
    /*滚动条上半边或左半边*/
    }
    ::-webkit-scrollbar-thumb:window-inactive {
    /*当焦点不在当前区域滑块的状态*/
    }
    ::-webkit-scrollbar-button:horizontal:decrement:hover {
    /*当鼠标在水平滚动条下面的按钮上的状态*/
    }
  • 相关阅读:
    对结对编程的测试
    用例
    结对编程 一
    个人项目总结与结对编程的开始
    7-6随便写写
    7-5个人日报
    7-4个人报告
    7.1-7.3个人日报
    6-30个人日报
    6-29个人日报
  • 原文地址:https://www.cnblogs.com/meiyanstar/p/14307793.html
Copyright © 2011-2022 走看看