[解決済み] 絶対位置+スクロール
2022-05-15 21:58:56
質問
以下のように
HTML
と
CSS
.container {
position: relative;
border: solid 1px red;
height: 256px;
width: 256px;
overflow: auto;
}
.full-height {
position: absolute;
top: 0;
left: 0;
right: 128px;
bottom: 0;
background: blue;
}
<div class="container">
<div class="full-height">
</div>
</div>
内側の
div
は、望みどおりにコンテナの頭部を完全に占めます。ここで、コンテナに他のフローコンテンツを追加してみると、次のようになります。
.container {
position: relative;
border: solid 1px red;
height: 256px;
width: 256px;
overflow: auto;
}
.full-height {
position: absolute;
top: 0;
left: 0;
right: 128px;
bottom: 0;
background: blue;
}
<div class="container">
<div class="full-height">
</div>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur mollitia maxime facere quae cumque perferendis cum atque quia repellendus rerum eaque quod quibusdam incidunt blanditiis possimus temporibus reiciendis deserunt sequi eveniet necessitatibus
maiores quas assumenda voluptate qui odio laboriosam totam repudiandae? Doloremque dignissimos voluptatibus eveniet rem quasi minus ex cumque esse culpa cupiditate cum architecto! Facilis deleniti unde suscipit minima obcaecati vero ea soluta odio cupiditate
placeat vitae nesciunt quis alias dolorum nemo sint facere. Deleniti itaque incidunt eligendi qui nemo corporis ducimus beatae consequatur est iusto dolorum consequuntur vero debitis saepe voluptatem impedit sint ea numquam quia voluptate quidem.
</div>
その後、コンテナは希望通りにスクロールしますが、絶対位置決めされた要素はコンテナの底に固定されなくなり、コンテナの最初の表示可能な底で停止されます。 私の質問は、絶対位置決めされた要素が、コンテナの完全なスクロールの高さになるようにするための方法はありますか?
JS
?
どのように解決するのですか?
テキストを
div
要素でテキストを囲み、その中に絶対位置指定要素を含める必要があります。
<div class="container">
<div class="inner">
<div class="full-height"></div>
[Your text here]
</div>
</div>
Cssです。
.inner: { position: relative; height: auto; }
.full-height: { height: 100%; }
内側のdivの位置を
relative
に設定すると、内側の絶対位置の要素は、位置と高さを
.container
divではなく、それを基準として位置と高さを決定します。内側の相対的な位置にある
div
がなければ
.full-height
はその寸法と位置を常に
.container
.
* {
box-sizing: border-box;
}
.container {
position: relative;
border: solid 1px red;
height: 256px;
width: 256px;
overflow: auto;
float: left;
margin-right: 16px;
}
.inner {
position: relative;
height: auto;
}
.full-height {
position: absolute;
top: 0;
left: 0;
right: 128px;
bottom: 0;
height: 100%;
background: blue;
}
<div class="container">
<div class="full-height">
</div>
</div>
<div class="container">
<div class="inner">
<div class="full-height">
</div>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur mollitia maxime facere quae cumque perferendis cum atque quia repellendus rerum eaque quod quibusdam incidunt blanditiis possimus temporibus reiciendis deserunt sequi eveniet necessitatibus
maiores quas assumenda voluptate qui odio laboriosam totam repudiandae? Doloremque dignissimos voluptatibus eveniet rem quasi minus ex cumque esse culpa cupiditate cum architecto! Facilis deleniti unde suscipit minima obcaecati vero ea soluta odio
cupiditate placeat vitae nesciunt quis alias dolorum nemo sint facere. Deleniti itaque incidunt eligendi qui nemo corporis ducimus beatae consequatur est iusto dolorum consequuntur vero debitis saepe voluptatem impedit sint ea numquam quia voluptate
quidem.
</div>
</div>
関連
-
[解決済み] HTMLのテーブルからボーダーを完全に削除する方法
-
[解決済み] <html xmlns="http://www.w3.org/1999/xhtml">」は何をするものですか?
-
[解決済み] 画像の横のテキストを縦に揃える?
-
[解決済み] Flexbox:水平方向と垂直方向の中央揃え
-
[解決済み] Bootstrap 3 の sr-only とは何ですか?
-
[解決済み] 位置は固定だが、容器に対して相対的
-
[解決済み] CSS背景のストレッチとスケール
-
[解決済み] 位置は絶対だが、親に対して相対的
-
[解決済み] ボディのスクロールを防止し、オーバーレイのスクロールを可能にする
-
[解決済み] [Solved] divをコンテナの一番下に配置するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] BootstrapのCollapse Navbarが動作しない
-
[解決済み] HTMLのテーブルからボーダーを完全に削除する方法
-
[解決済み] slackのチームIDやチャンネルIDを調べる最も簡単な方法は何ですか?
-
[解決済み] リンクのように動作するHTMLボタンを作成する方法
-
[解決済み] スクロールバーを隠すが、スクロールはできる状態
-
[解決済み] inline/inline-block要素間のスペースを削除するにはどうすればよいですか?
-
[解決済み] CSSコンテンツによるHTMLエンティティの追加
-
[解決済み] 親ディバイスの高さを指定せずに、子ディバイスの高さを100%にする方法は?
-
[解決済み] HTML5でminlengthの検証属性はありますか?
-
[解決済み] HTML Input="file" Accept Attribute File Type (CSV)