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

推薦する

シェルスクリプトによるDockerコンテナの起動順序の制御の詳細な説明

1. 遭遇した問題分散プロジェクトの展開プロセスでは、サーバーの再起動後にアプリケーション(データベ...

MySQL マスタースレーブレプリケーション構成プロセス

メインライブラリの構成1. MySQLを設定する vim /etc/my.cn # ファイルに次の内...

よく使われるJavaScript配列メソッド

目次1. フィルター() 2. 各() 3. いくつか() 4. すべて() 5. 減らす() 6....

Node.jsがES6モジュールを処理する方法の詳細な説明

目次1. 2つのモジュールの違い2. Node.jsとの違い3. CommonJSモジュールの読み込...

MySQLは、where in()順序ソートを実装するためにfind_in_set()関数を使用します。

この記事では、MySQL で find_in_set() 関数を使用して where in() の順...

CSS3 を使用した SVG パス ストロークのアニメーション化入門チュートリアル

JavaScript に依存せず、純粋な CSS を使用してsvgストローク描画アニメーション効果と...

MySQLデータベースホスト127.0.0.1とlocalhostの違い

私の友人の多くは、127.0.0.1 と localhost の違いがわからず、問題に遭遇するかもし...

nginx サーバーでの 502 不正なゲートウェイ エラーの原因のトラブルシューティング

パブリックアカウントのファンデータを同期してバッチプッシュするときに、サーバーがエラー502を報告し...

JavaScript 配列のマージのケーススタディ

方法1: var a = [1,2,3]; var b = [4,5] b を連結します。 コンソー...

MySQL から Excel にテーブルデータをエクスポートする際の日時形式に関する簡単な説明

最近、MySQL を使用してテーブル データを Excel ファイルにエクスポートしました。MySQ...

よくある CSS のヒントと経験談 11 選

1. 画像の下にある数ピクセルの空白を削除するにはどうすればよいですか?コードをコピーコードは次のと...

MySQL データ挿入最適化メソッドconcurrent_insert

スレッドがテーブルに対して DELAYED ステートメントを実行するときに、そのようなハンドラーが存...

Webデザインにおけるフォームデザインテクニックのまとめ

「脳が多数の領域間の関係を処理できるように、入力は論理的なグループに分割する必要があります。」 – ...

MySQL 8.0 DDLアトミック機能と実装原則

1. DDLアトミック性の概要8.0 より前は、統一されたデータ ディクショナリ dd はありません...

パーティショニングを使用して数十億のデータに対する MySQL データ処理を最適化する方法

MySQL が数千万のデータをクエリする場合、ほとんどのクエリ最適化の問題はインデックスを通じて解決...