2017-02-21 136 views
0

當我設置overflow: scroll到一個div,我期待有一個滾動條,即使內容不滾動(設計目的)溢出:滾動不顯示被禁用的滾動Chrome移動

,但是當有無需滾動,Chrome移動器無論如何都隱藏了滾動條。

.div-scroll{ 
 
    background-color: red; 
 
    height: 300px; 
 
    overflow-y: scroll; 
 
} 
 
.div-inner { 
 
    background-color: blue; 
 
    height: 200px; 
 
}
<div class="div-scroll"> 
 
    <div class="div-inner"> 
 
    </div> 
 
</div>

我想顯示在移動版Chrome禁用滾動時的內容不滾動,或至少一種方法從純CSS知道它不滾動,避免使用width: calc(100% - 17px);

Fiddle

+0

小提琴:https://jsfiddle.net/2uf54kgm/2/ – Lucas

回答

2

WebKit的瀏覽器有一個永久的滾動條你可以使用使用::webkit-scrollbar::webkit-scrollbar-thumb屬性和定製它們。

請參閱下面的代碼:

.filter-list { 
 
    width: 75px; 
 
    height: 100px; 
 
    overflow: auto; 
 
} 
 

 
.filter-list::-webkit-scrollbar, 
 
.filter-list::-webkit-scrollbar, 
 
.filter-list::-webkit-scrollbar { 
 
    -webkit-appearance: none; 
 
    width: 15px; 
 
} 
 

 
.filter-list::-webkit-scrollbar-thumb, 
 
.filter-list::-webkit-scrollbar-thumb, 
 
.filter-list::-webkit-scrollbar-thumb { 
 
    border-radius: 4px; 
 
    background-color: lightgray; 
 
    box-shadow: 0 0 1px rgba(255, 255, 255, 0.5); 
 
}
<div class="filter-list"> 
 
    <div> Hello </div> 
 
    <div> World </div> 
 
    <div> Hello </div> 
 
    <div> World </div> 
 
    <div> Hello </div> 
 
    <div> World </div> 
 
    <div> Hello </div> 
 
    <div> World </div> 
 
    <div> Hello </div> 
 
    <div> World </div> 
 
</div>

+0

我不想重拍整個滾動條,我只是想強制寬度爲17px,但是當我使用'.div-scroll :: - webkit-scrollbar {width:17px; }',它刪除滾動。 – Lucas

+0

可能是因爲寬度不夠。檢查編輯的答案,我修改了滾動條的寬度。 – nashcheez

+0

我該如何保持瀏覽器的默認設置,並改變寬度? – Lucas