Je dois désactiver le défilement par inertie sur l’élément body pour iPad, tout en conservant la possibilité de faire défiler la page sans inertie.
Je cherche depuis un certain temps mais je n’ai trouvé aucune bonne solution. Peut-être que je ne cherche pas la bonne chose? Y at-il un hack ou une solution de contournement qui pourrait rendre cela possible?
Vous pouvez utiliser la propriété div with overflow, cela tue le défilement lisse iOS
long long text...
Css
html, body { height: 100%; margin: 0; overflow: hidden; } .scroll { overflow: auto; height: 100%; }
Ajoutez ceci au CSS de l’élément body
:
-webkit-overflow-scrolling: auto;
La valeur par défaut pour -webkit-overflow-scrolling
est touch
. Cela demande aux appareils iOS d’utiliser le défilement “inertiel”. Les documents: https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-overflow-scrolling
@meuwka answer vous permet d’atteindre votre objective, mais d’une manière détournée – cela fonctionne car les éléments div
ont -webkit-overflow-scrolling: auto;
comme par défaut.
J’ai utilisé inobounce
qui peut être trouvé ici
Vous remarquerez que vous devez spécifier une propriété height
et un overflow: auto
pour l’élément que vous souhaitez faire défiler, y compris -webkit-overflow-scrolling: touch;
. Les docs font un bon travail pour expliquer.