スマホ画面のように幅が狭いときに、横スクロールできるコンテンツを配置したいときがあります。ただ何もしないで配置すると、ユーザーが横スクロールをしないで読み進めてしまうこともあります。そんな際に下記のように、スクロールする印があれば、スクロールすることの誘導が可能です。
ということで今回はスクロールヒントを表示できるjsライブラリ「ScrollHint」の使い方を解説します。
ライブラリなので、まずはファイルを読み込む必要があります。ファイルを読み込む方法はCDNを利用する、ファイルをダウンロードする、npmでインストールする方法があります。
CDNではHead内に下記の記述をいれて下さい。
<link rel="stylesheet" href="https://unpkg.com/scroll-hint@latest/css/scroll-hint.css">
<script src="https://unpkg.com/scroll-hint@latest/js/scroll-hint.min.js"></script>
ダウンロードやインストールをしなくても気軽に使えるのがCDNのよいところですね。
ScrollHintのダウンロードページから「Download」をクリックして、専用のファイルをダウンロードしまします。「scroll-hint-master」というファイルがダウンロードされます。
ダウンロードしたら解凍しましょう。解凍したら「cssフォルダ」から「scroll-hintファイル」「jsファイルから、scroll-hint.jsファイルもしくはscroll-hint.min.jsファイル」をダウンロードしてください。
そして下記の記述のようにファイルを読み込ませましょう。
<link rel="stylesheet" href="scroll-hint.css">
<script src="scroll-hint.js"></script>
npmでは下記の記述で読み込ませます。
npm install scroll-hint --save
import ScrollHint from 'scroll-hint'
次に下記のようにスクロールヒントを表示させる方法を解説します。
上記の料金表は下記のHTML、CSSで作成しました。
▢HTML
<h2 class="price_table">ホームーページ作成プラン料金表</h2>
<div class="price_table_scroll js-scrollable">
<section class="price_table_content">
<ul class="price_list">
<li>
<h3 class="price_list_title">ホームページプランS</h3>
<div class="price">100,000円~</div>
<div class="price_text">
テキストテキストテキストテキストテキストテキスト
</div>
</li>
<li>
<h3 class="price_list_title">ホームページプランM</h3>
<div class="price">300,000円~</div>
<div class="price_text">
テキストテキストテキストテキストテキストテキスト
</div>
</li>
<li>
<h3 class="price_list_title">ホームページプランL</h3>
<div class="price">500,000円~</div>
<div class="price_text">
テキストテキストテキストテキストテキストテキスト
</div>
</li>
</ul>
</section>
</div>
▢CSS
* {
margin: 0px;
padding: 0px;
}
.price_table {
text-align: center;
margin-top: 20px;
}
.price_table_scroll {
margin-left: 20px;
margin-right: 20px;
}
.price_table_scroll .price_table_content {
width: 800px;
margin: 0 auto;
}
.price_table_scroll .price_table_content .price_list {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
list-style: none;
width: 100%;
margin: 0 auto;
margin-top: 20px;
}
.price_table_scroll .price_table_content .price_list li {
width: 220px;
height: 350px;
margin-left: 50px;
border: solid 1px #000074;
}
.price_table_scroll .price_table_content .price_list li .price_list_title {
text-align: center;
margin-top: 24px;
margin-bottom: 0px;
}
.price_table_scroll .price_table_content .price_list li .price {
text-align: center;
font-weight: bold;
margin-top: 10px;
}
.price_table_scroll .price_table_content .price_list li .price_text {
padding: 0px 10px;
margin-top: 20px;
margin-bottom: 20px;
}
.price_table_scroll .price_table_content .price_list li:first-child {
margin-left: 0px;
}
ではコードの解説を詳しく下記で解説します。
<div class="price_table_scroll js-scrollable">
<section class="price_table_content">
(省略)
</section>
</div>
「js-scrollable」という記述がありますが、後にjavascriptで記述する「new ScrollHint(‘.js-scrollable’, {});」の箇所にある「.js-scrollable」と関連しています。なお「.js-scrollable」の箇所は任意の記述を指定できます。
new ScrollHint('.js-scrollable', {
});
こちらはjsの記述になります。これを記述するだけで、スクロールヒントが表示されます。
ScrollHintには様々なオプションがあります。
new ScrollHint('.js-scrollable', {
i18n: {
scrollable: 'スクロールできます'
}
});
デフォルトだと「scrollable」と表記されますが、上記のように記述すると文字を変更できます。
new ScrollHint('.js-scrollable', {
scrollHintIconAppendClass: 'scroll-hint-icon-white',
});
デフォルトだと黒ですが、上記の記述をすると白に変更できます。
背景が黒いときには白にすると見えやすくなりますね。
ScrollHintにはその他にも様々なオプションがあります。その他のオプションを確認したいときは、ScrollHintのダウンロードページを確認してください。
GIV株式会社は、埼玉県川越市にあるWEB(ホームページ)制作会社です。お困りごと、ご相談、お気軽にご連絡ください。お問い合わせは、こちらから。