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」はシンプルで使いやすい

推薦する

Vueは視覚的なドラッグページエディタを実装します

目次ドラッグアンドドロップの実装ドラッグイベントドラッグして開始リリースゾーンでの移動境界処理、角度...

MySQLは重複しないデータ挿入を実装するためにUNIQUEを使用する

SQL UNIQUE制約UNIQUE 制約は、データベース テーブル内の各レコードを一意に識別します...

Mysql systemctl start mysqld によって報告されるエラーの解決策

エラーメッセージ:制御プロセスがエラー コードで終了したため、mysqld.service のジョブ...

Ubuntuで余分なカーネルを削除する方法

ステップ1: 現在のカーネルを表示する 読み取る $ uname -a Linux rew 4.15...

Docker マイクロサービス用の ETCD クラスターの構築に関する詳細なチュートリアル

目次etcdの機能etcdが独自の高可用性クラスタを構築するには、主に3つの形式があります。今回構築...

MySQL ダーティ ページ フラッシュとテーブル スペースの縮小の原理の分析

mysql ダーティページWAL メカニズムにより、InnoDB はステートメントを更新するときに、...

MySQL でタイムスタンプを日付に変換する例

序文職場で次のような状況に遭遇しました。ログ システムのテーブルでは、時間フィールドには日付データで...

MySQLログシステムの使い方に関する簡単なチュートリアル

目次序文1. エラーログ2. バイナリログ1. バイナリログを有効にする2. バイナリログ形式3. ...

Vue コード強調プラグインの総合的な比較と評価

目次総合的な比較アクティブの観点から機能的な観点から詳細な比較1. エース2. コードミラー3. モ...

MySQL遅延スレーブを導入するメリットのまとめ

序文MySQL のマスター/スレーブ レプリケーション関係は、厳密には「同期」または「マスター/スレ...

JavaScript のよりエレガントなエラー処理方法 async await

目次背景なぜエラー処理が必要なのでしょうか? async await より適切なエラー処理まとめ要約...

macOS での MySQL 8.0.16 のインストールと設定のグラフィック チュートリアル

この記事では、macOSでのMySQL 8.0.16のインストールと設定のチュートリアルを参考までに...

Alibaba Cloud Centos 7.5 に MySQL をインストールするチュートリアル

CentOS 7 の yum ソースには、MySQL を正常にインストールするための mysql-s...

Linux で開いているファイルが多すぎる問題を解決する方法

原因は、プロセスが特定の時点でシステム制限を超える数のファイルと通信リンクを開くことです。 システム...