CSS はスクロールバーを非表示にしてコンテンツをスクロールする効果を実現します (3 つの方法)

CSS はスクロールバーを非表示にしてコンテンツをスクロールする効果を実現します (3 つの方法)

フロントエンド開発では、スクロールバーを非表示にしながらスクロールをサポートしなければならないという状況によく遭遇します。最も簡単な方法はiscrollプラグインを追加することですが、実はCSSでもこの機能を実現できるようになりました。私も多くの場所で使っています。この3つの方法を見てみましょう。

方法1: スクロールバーの幅を計算して非表示にする

このサイトのサイドバーでは、フロントエンドの日報にスクロールバーはありませんが、マウスを移動することでコンテンツをスクロールできます。この技術とは何ですか? 実際には、スクロール バーを配置して非表示にしただけです。

デモ

以下はコードの簡略版です。

<div class="外側のコンテナ">
    <div class="インナーコンテナ">
     ......
    </div>
</div>
.外側のコンテナ{
 幅: 360ピクセル;
 高さ: 200px;
 位置: 相対的;
 オーバーフロー: 非表示;
}
.内部コンテナ{
 位置: 絶対;
 左: 0;
 上: 0;
 右: -17px;
 下部: 0;
 オーバーフロー-x:非表示;
 overflow-y: スクロール;
}

このコードは、スクロール バーを 17 ピクセル右に移動します。これは、スクロール バーの幅とまったく同じです。この値は手動デバッグによって取得されました。 Chrome と IE では問題は見つかりませんでした。

方法2: 3つのコンテナを使用して囲むと、スクロールバーの幅を計算する必要がなくなります。

このコードを最初に見たのは、Microsoft のブログでした。これは、ボックス内のコンテンツを制限するために内部に追加のボックスが追加されていることを除けば、上記の私のアイデアと似ています。こうすることで、スクロールバーを表示せずにスクロールできます。

コードは次のとおりです。

<div class="外側のコンテナ">
     <div class="インナーコンテナ">
        <div class="content">
            ......
        </div>
     </div>
 </div>
//http://caibaojian.com/hide-scrollbar.html からのコード
.要素、.外部コンテナ {
  幅: 200ピクセル;
  高さ: 200px;
}

.外側のコンテナ{
  境界線: 5px 紫色;
  位置: 相対的;
  オーバーフロー: 非表示;
}

.内部コンテナ{
  位置: 絶対;
  左: 0;
  オーバーフロー-x:非表示;
  overflow-y: スクロール;
}

.inner-container::-webkit-scrollbar {
  表示: なし;
}

方法3: CSSでスクロールバーを非表示にする

同時に、記事では CSS を通じてスクロールバーを非表示にする方法も紹介されていますが、この方法は IE と互換性がなく、モバイル端末でのみ使用できます。
これは、カスタムスクロールバーの疑似オブジェクトセレクターです::-webkit-scrollbar。詳細については、前の記事を参照してください: CSS3カスタムWebkitスクロールバースタイル

ChromeとSafari

.element::-webkit-scrollbar { 幅: 0 !重要 }
IE10以上

.element { -ms-overflow-style: なし; }
ファイアフォックス

.element { オーバーフロー: -moz-scrollbars-none; }

要約する

CSSを使用してスクロールバーを非表示にしてコンテンツをスクロールする方法(3つの方法)についての記事はこれで終わりです。CSSを使用してスクロールバーを非表示にしてコンテンツをスクロールする方法の詳細については、123WORDPRESS.COMの以前の記事を検索するか、以下の関連記事を続けて閲覧してください。今後とも123WORDPRESS.COMを応援してください。

<<:  HTMLインライン要素とブロックレベル要素の基本概念と使用例

>>:  Vue グローバル フィルターの概念、注意事項、基本的な使用方法

推薦する

ウェブデザインスキル:中国語と英語が混在するウェブページの上位表示の問題

<br />私はこの問題で気が狂いそうです。症状は次のとおりです。 症状の説明: Int...

MySQL v5.7.18 解凍バージョンのインストール詳細チュートリアル

MySQLをダウンロード5.1.1.1 より前のバージョン私のコンピュータは64ビットなので、Win...

Linuxでディレクトリを効率的に切り替える方法

Linux でディレクトリを切り替えるとなると、誰もが間違いなくcdコマンドを思い浮かべるでしょう。...

さまざまなMySQLインデックスの使用方法の詳細な説明

1. 遅いクエリログ1.1 MySQL ログの種類ログは、データベースの操作や、ユーザーがデータベー...

VMware 仮想マシン ubuntu18.04 インストール チュートリアル

インストール手順1. 仮想マシンを作成する 2. [カスタム(詳細)]を選択し、[次へ]をクリックし...

スローモーションアニメーション効果を実現するJavaScript

この記事では、スローモーションアニメーション効果を実現するためのJavaScriptの具体的なコード...

Docker ベースの Jenkins のデプロイに関する詳細なチュートリアル

このドキュメントを作成した当時は2019年12月頃で、er2.200が最新バージョンでした。 1.画...

Windows での MySQL 5.7.10 のインストールと設定のチュートリアル

MySQL は、ユーザーごとに 2 つの異なるバージョンを提供します。 MySQL コミュニティ サ...

MySQLカバーインデックスの使用例

カバーインデックスとは何ですか?クエリで使用されるすべてのフィールドを含むインデックスを作成すること...

MySQL 増分バックアップとブレークポイントリカバリスクリプトの例

導入増分バックアップとは、完全バックアップまたは最後の増分バックアップの後、後続の各バックアップでは...

Linux コンパイル最適化で習得しなければならないいくつかの姿勢のまとめ

01. コンパイルオプションとカーネルコンパイルLinux カーネル (英語: linux kern...

Dockerfile を使用して nginx イメージを構築する例

Dockerfile の紹介Docker は、Dockerfile の内容を読み取ってイメージを自動...

よく使うLinuxコマンドのまとめ

私は2年間運用保守に携わり、多くのコマンドを使用しました。特定のLinuxコマンドを習得すると、どれ...

JavaScript演算子の使用に関するヒントをいくつか共有します

目次1. オプションの連鎖演算子 [? .】 2. 論理的な空の代入 (?? =) 3. 論理和代入...

CSSでよく使われるフォントスタイルを設定することで様々なフォントの変更が可能(例詳細説明)

CSS フォント プロパティは、テキストのフォント ファミリ、サイズ、太字、スタイル (斜体など)...