2017-02-21 3 views
0

Quand je mis overflow: scroll à une div, je me attends d'avoir une barre de défilement, même si le contenu ne défile pas (pour la conception)overflow: scroll ne pas montrer un parchemin désactivé sur Chrome mobile

mais quand il y a pas besoin de faire défiler, chrome mobile cache la barre de défilement de toute façon.

.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>

Je voudrais montrer un parchemin désactivé sur Chrome mobile lorsque le contenu ne défile pas, ou tout au moins un moyen de savoir de CSS pur qui ne défile pas, pour éviter d'utiliser width: calc(100% - 17px);

Fiddle

+0

violon: https://jsfiddle.net/2uf54kgm/2/ – Lucas

Répondre

2

sur les navigateurs WebKit d'avoir une barre de défilement permanente, vous pouvez utiliser l'utilisation du ::webkit-scrollbar::webkit-scrollbar-thumb propriétés et les personnaliser.

referez code suivant:

.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

Je ne veux pas refaire toute la barre de défilement, je veux juste force la largeur à 17px, mais quand j'utilise '.div-scroll :: - webkit-scrollbar {largeur: 17px; } ', il supprime le défilement. – Lucas

+0

Peut-être parce que la largeur n'est pas suffisante. Vérifiez la réponse éditée où j'ai modifié la largeur de la barre de défilement. – nashcheez

+0

Comment puis-je conserver les paramètres par défaut du navigateur et simplement changer la largeur? – Lucas