css如何實現滾動條隱藏但鼠標仍然可以滾動


  在做移動端項目的時候,有些時候需要元素超出屏幕可以滾動,為了美觀需要隱藏滾動條。如果只需兼容chrome和safari,可以使用自定義滾動條的偽對象選擇器——::webkit-scrollbar。

  具體使用即: element::webkit-scrollbar{display:none} 或者 element::webkit-scrollbar{width:0!important}

  那要在pc端實現同樣的功能怎么辦呢?參考 Hiding Vertical Scrollbars with Pure CSS in Chrome, IE (6+), Firefox, Opera, and Safari實現如下:

     html

<div class="outer-container">
 <div class="inner-container">
 <div class="content">
 Lorem ipsum dolor sit amet, consectetur adipiscing elit.
 Integer vehicula quam nibh, eu tristique tellus dignissim
 quis. Integer condimentum ultrices elit ut mattis.
 Praesent rhoncus tortor metus, nec pellentesque enim
 mattis nec. Nulla vitae turpis ut dui consectetur
 pellentesque quis vel est. Curabitur rutrum, mauris ut
 mollis lobortis, sem est congue lectus, ut sodales nunc
 leo a libero. Cras quis sapien in mi fringilla tempus
 condimentum quis velit. Aliquam id aliquam arcu. Morbi
 tristique aliquam rutrum. Duis tincidunt, orci suscipit
 cursus molestie, purus nisi pharetra dui, tempor
 dignissim felis turpis in mi. Vivamus ullamcorper arcu
 sit amet mauris egestas egestas. Vestibulum turpis neque,
 condimentum a tincidunt quis, molestie vel justo. Sed
 molestie nunc dapibus arcu feugiat, ut sollicitudin metus
 sagittis. Aliquam a volutpat sem. Quisque id magna
 ultrices, lobortis dui eget, pretium libero. Curabitur
 aliquam in ante eu ultricies.
 
 Quisque vitae tincidunt purus. Vivamus feugiat bibendum
 erat, nec interdum urna porta sed. Nunc lobortis neque
 orci, ut suscipit nisl congue feugiat. Vivamus feugiat
 tellus quis cursus sollicitudin. Curabitur dolor massa,
 dictum ut ipsum in, porttitor pellentesque ante. Aenean
 egestas cursus tempor. Maecenas semper tortor sit amet
 egestas cursus. Mauris porttitor quis nisi ut tincidunt.
 Curabitur adipiscing eleifend nibh. Praesent mauris leo,
 consequat vitae orci eget, vestibulum bibendum nisi.
 Aliquam tempus diam ut tortor cursus, eget sodales augue
 adipiscing. Nulla at dignissim libero.
 </div>
 </div>
 </div>

  css

.content, .outer-container {
 width: 200px;
 height: 200px;
}
 
.outer-container {
 position: relative;
 overflow: hidden;
}
 
.inner-container {
 position: absolute;
 left: 0;
 overflow-x: scroll;
 overflow-y: scroll;
}
 
.inner-container::-webkit-scrollbar {
 display: none;
}

 

  該方案的實現原理:給外層的div和主要內容的div設置同樣的寬高,然后.inner-container設置相對於.outer-container絕對定位,這樣.inner-container就脫離了文檔流,寬高子元素撐開,額外設置自己的滾動屬性,但是由於最外層的div寬高固定,故.inner-container的滾動條看不到,事實上是可以滾動的

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM