HTML ページをスクロールするときに一部のコンテンツを固定位置に固定する方法

HTML ページをスクロールするときに一部のコンテンツを固定位置に固定する方法

この記事では主に、レイアウトに役立つ、HTML ページ内の一部のコンテンツを固定してスクロール時にスクロールしないようにする方法を紹介します。簡単に説明すると、詳細は次のとおりです。

エフェクトのスクリーンショット:

ページのソースコード:

<!DOCTYPE html>
<html>
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>無題のページ</title>
</head>
<body style="width: 900px; margin: 0px auto; line-height: 23px; padding: 10px;">
<div>
    <div style="float: left; width: 120px;">
        <div>
            転がります<br/>
            スクロールコンテンツ領域<br/>
            スクロールコンテンツ領域<br/>
            スクロールコンテンツ領域<br/>
        </div>
        <div id="div1" style="border: solid 1px gray; width: 90px; padding: 10px; background-color: #eff;">
            スクロールしません<br/>
            あなたは私を見て<br/><br/> 私は転がらない<br/>
            あなたは私を見て<br/><br/> 私は転がらない<br/>
            あなたは私を見て<br/><br/> 私は転がらない<br/>
            私を見て<br/><br/>


        </div>
    </div>
    <div style="float: right; width: 750px; border: solid 1px gray; padding: 10px;">
        <span>ssssssssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>ssss 私はコンテンツですssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>sssssss 私はコンテンツですssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>sssssss 私はコンテンツですssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>ssssss 私はコンテンツですsssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>sssssssssssssss</span><br><span>ssssss私がコンテンツですsssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>sssssssssssssss</span><br><span>ssssss私がコンテンツですsssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>sssssssssssssss</span><br><span>ssssss私がコンテンツですsssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>sssssssssssssss</span><br><span>ssssss私がコンテンツですsssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>sssssssssssssss</span><br><span>ssssss私がコンテンツですsssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>sssssssssssssss</span><br><span>ssssss私がコンテンツですsssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>sssssssssssssss</span><br><span>ssssss私がコンテンツですsssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>sssssssssssssss</span><br><span>ssssss私がコンテンツですsssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>sssssssssssssss</span><br><span>ssssss私がコンテンツですsssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>sssssssssssssss</span><br><span>ssssss私がコンテンツですsssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>sssssssssssssss</span><br><span>ssssss私がコンテンツですsssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>sssssssssssssss</span><br><span>ssssss私がコンテンツですsssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>sssssssssssssss</span><br><span>ssssss私がコンテンツですsssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>sssssssssssssss</span><br><span>ssssss私がコンテンツですsssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>sssssssssssssss</span><br><span>ssssss私がコンテンツですsssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>sssssssssssssss</span><br><span>ssssss私がコンテンツですsssssssss</span><br>
        <span>ssssssssssssss</span><br>
        <span>ssssssssssssss</span><br>

    </div>
</div>
<script type="text/javascript">
    関数htmlScroll() {
        var top = document.body.scrollTop || document.documentElement.scrollTop;
        elFix.data_top < top の場合 {
            elFix.style.position = '固定';
            elFix.style.top = 0;
            elFix.style.left = elFix.data_left;
        }
        それ以外 {
            elFix.style.position = '静的';
        }
    }

    関数 htmlPosition(obj) {
        var o = obj;
        var t = o.offsetTop;
        var l = o.offsetLeft;
        o = o.offsetParent の間 {
            t += o.offsetTop;
            l + = o.offsetLeft;
        }
        obj.data_top = t;
        obj.data_left = l;
    }

    var oldHtmlWidth = document.documentElement.offsetWidth;
    window.onresize = 関数 () {
        var newHtmlWidth = document.documentElement.offsetWidth;
        (古いHtmlWidth == 新しいHtmlWidth)の場合{
            戻る;
        }
        古いHtmlWidth = 新しいHtmlWidth;
        elFix.style.position = '静的';
        htmlPosition(elFix);
        htmlスクロール();
    }
    window.onscroll = htmlScroll;

    var elFix = document.getElementById('div1');
    htmlPosition(elFix);

</スクリプト>
</本文>
</html>

HTML ページがスクロールするときに一部のコンテンツを固定位置に維持する方法についての記事はこれで終わりです。HTML ページのスクロールに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  HTML でテーブルを分割および結合する (colspan、rowspan)

>>:  HTML+CSS ボックスモデルの例 (円、半円など) 「border-radius」はシンプルで使いやすい

推薦する

uniapp プロジェクトをデスクトップ アプリケーションとしてパッケージ化する方法

Electronのインストール cnpm 電子をインストール -g electron-package...

Vue でよく使われる高階関数と包括的な例

1. 配列のよく使われる高階関数配列があり、その配列に対して次の操作を実行したいとします。 100 ...

MySQL 8.0 の新機能 - 管理ポートの使用の概要

目次序文接続管理追加の接続管理ポート要約する序文皆さんの多くは、次のようなエラー メッセージに遭遇し...

CSS3 でテキスト ストロークを実装する 2 つの方法 (要約)

質問最近、以下に示すように、テキストストローク効果を実現するという要件に遭遇しました。 解決策1まず...

CSS3 で背景ぼかしを実現する 3 つの方法 (要約)

1. 通常の背景ぼかしコード: <スタイル> html, 体 { 幅: 100%; 高...

LinuxでIPを表示する方法の例

ネットワークの問題のトラブルシューティング、新しい接続のセットアップ、ファイアウォールの構成を行うと...

Nginx の純粋な構成でリアルタイム ログ レポートを実現するためのアイデアと方法

目次序文実装のアイデア実装手順1. Nginxをコンパイルする2. 設定ファイルは以下のとおりです要...

TypeScript ジェネリックパラメータのデフォルト型と新しい厳密なコンパイルオプション

目次概要コンポーネントクラスの型定義を作成するジェネリック型を使用してPropsとStateを定義す...

Ubuntu LinuxにOracle Java 14をインストールする方法

最近、Oracle は Java 14 (または Oracle JDK 14) の一般公開を発表しま...

MySQL 5.7.18 zip バージョンのインストールと設定方法のグラフィック チュートリアル (win7)

Windows に mysql5.7.18zip バージョンをインストールするには、使用前に解凍し...

CSS スティッキーフッター実装コード

この記事では、CSS スティッキー フッターの実装コードを紹介し、共有します。詳細は次のとおりです。...

MySQL における datetime と timestamp の違いと選択

目次1 違い1.1 スペース占有1.2 表現範囲1.3 タイムゾーン2 テスト3つの選択肢MySQL...

Vue2で配列の変更を検出できない理由と解決策

目次回避策Vue2.0 で 2 つの配列の変更を監視できないのはなぜですか?ソースコード分析ヴュー3...

Vue のプラグインとコンポーネントの違いと使い方のまとめ

このチュートリアルの動作環境: Windows 7 システム、vue 2.9.6 バージョン、DEL...

MySQL データをエクスポートおよびインポートするための HeidiSQL ツール

場合によっては、SQL へのデータのエクスポートとインポートを容易にするために、特定のツールを使用し...