ページ内のスクロールバーを見やすく且つ異なるブラウザ間でも同じデザインにする「SimpleBar」ライブラリの利用方法
CSSのoverflowでスクロールバーを設置した際、ブラウザによってデザイン(見た目)が異なる。また(個人的には)、ChromeやEdgeはスクロールバーが見つけやすいが、Firefoxは見つけにくかったりする。これを何とかならないか調べたところ「SimpleBar」ライブラリが良さそう。以下に実装方法をメモ。
サンプル
https://taitan916.info/sample/SimpleBar/
SimpleBar
公式サイト
https://grsmto.github.io/simplebar/
CDN
CDNで使う場合は以下を記述する。
<script src="https://cdn.jsdelivr.net/npm/simplebar@6.2.7/dist/simplebar.min.js"></script> <link href="https://cdn.jsdelivr.net/npm/simplebar@6.2.7/dist/simplebar.min.css" rel="stylesheet">
利用方法
ソースコード
<style>
.title{
font-weight: bold;
}
.contents{
width: 200px;
overflow: auto;
white-space: nowrap;
height: 200px;
border: 1px solid #ccc;
margin-bottom: 20px;
}
</style>
<div class="title">通常のスクロールバー</div>
<div class="contents">
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
</div>
<div class="title">SimpleBar</div>
<div class="contents" data-simplebar>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
コンテンツ/コンテンツ/コンテンツ/コンテンツ/コンテンツ<br>
</div>
<script src="https://cdn.jsdelivr.net/npm/simplebar@6.2.7/dist/simplebar.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/simplebar@6.2.7/dist/simplebar.min.css" rel="stylesheet">
適用させたい要素に対して「data-simplebar」を付与すること。
JavaScriptやjQueryで個別に適用させたい場合はドキュメントを参照すること。
関連記事
-
-
formで複数選択可能なセレクトメニュー(プルダウン)を実装する方法(select2)
フォームで複数選択可能なセレクトボックス(プルダウン)を実装したい。ただHTML ...
-
-
JavaScriptでフォームのバリデート時に便利な「validator.js」ライブラリの利用方法
JavaScriptでフォームのバリデートを行う際、「半角英数字 正規表現」等で ...
-
-
JavaScript / PHPにて「lz-string」を用いてデータの圧縮・展開する方法
文字数が多いGETパラメータを送信したいというケースがあった。また、送信側はJa ...
-
-
JavaScriptで画像読み込み完了のタイミングを検知する「imagesLoaded」ライブラリの利用方法
大き目のサイズの画像をページに設置すると読み込み完了まで時間がかかる。その画像が ...
-
-
jQueryの通知メッセージ用ライブラリ「Toastr」の利用方法
あるサイトのソースコードを拝見しているとToastrというJSファイルをCDNで ...