質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

3回答

21540閲覧

boxをbodyの下端まで伸ばしたい

muzumi

総合スコア7

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2018/02/11 14:38

前提・実現したいこと

このboxのheightを、
図のようにbodyの一番下まで伸ばしたいです。
イメージ説明説明](8505b41577f8c2a91f54aefbc95eddf7.png)

・パソコンやスマホで見るので高さは可変であり、横幅によってはタイトルが2行になったりします。h1のタイトルは見た目に大きな変更がなければ自由にいじれます。
・できれば.box {margin-top : calc(100%-タイトルの高さ) } 以外の方法があればうれしいです。
・bodyの高さは画面の高さにして、boxからあふれた分は、スクロールで見れるようにしたいです

該当のソースコード

HTML

1<body> 2 <h1>タイトル</h1> 3 <div class="box"> </div> 4</body>

CSS

1body {height: 100%;} 2.box {height: どうすりゃええねん} 3

よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

HTML

1<div class="wrap"> 2 <h1>タイトル</h1> 3 <div class="box">text<div class="long">text</div></div> 4</div> 5
.wrap { display: flex; flex-direction: column; height: 100vh; } .box { border: 1px solid red; flex: 1 1 100%; overflow-y: scroll; } .long { padding-top: 100vh; } ```**動くサンプル:**[https://jsfiddle.net/5L1wczr2/](https://jsfiddle.net/5L1wczr2/)

投稿2018/02/12 06:58

kei344

総合スコア69398

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

muzumi

2018/02/12 07:12

kei344さん、回答ありがとうございます。 すごい!理想通りです!! サンプルまでつけてくださり、すごくわかりやすいです! flexというのを初めて知ったので、ネットで調べて使えるようにしていきたいとおもいます。 本当にありがとうございました!!
guest

0

うん???
bodyの高さを画面の高さですか???
.boxの高さを画面の高さで固定ではないですか???

lang

1// 読み込み時に高さを取得する。 2window.addEventListener('load', function() { 3 4 function setHeight (el) { 5 const box = document.getElementById('.box'); 6 const windowHeight = window.innerHeight; 7 el.style.maxHeight = windowHeight + 'px'; 8 } 9 10 setHeight(box); 11 12});

lang

1html,body { 2 height: 100%; 3} 4 5.box { 6 border: 1px solid #000; 7 overflow: auto; 8 box-sizing: border-box; 9}

javascript側でしていることは、スクロールバーを含まないwindowの高さを取得して.boxの高さを固定にします。

投稿2018/02/11 23:37

編集2018/02/11 23:41
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

muzumi

2018/02/12 05:25

ShinguYukiさん、回答ありがとうございます。 返事が遅れてしまい申し訳ありません。 ShinguYukiさんのscriptを実行してみましたが、私の希望通りには動きませんでした。 bodyの高さは画面の高さにして、スクロールしてもタイトルが上下しないようにしたいです。同時にboxの下端はbodyの下端と重ねたいです。 うまく説明できず申し訳ないです(≧◇≦)
guest

0

footerを伸ばす方法の一つだけどこんなことかしら?

<html> <head> <style> * { padding: 0; margin: 0; } body { background-color : blue; } .contents { background-color : white; } .box { background-color : blue; color: red; } </style> </head> <body> <div class="contents"> あ<br/> あ<br/> あ<br/> あ<br/> </div> <div class="box"> あ<br/> あ<br/> </div> </body> </html>

投稿2018/02/11 14:45

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

muzumi

2018/02/11 15:00

asahina1979さん 回答ありがとうございます<(_ _)>レスポンスの速さに驚きました。 私にとってこの方法は新鮮な発見でした。 実は、boxには全方位にborderをつけているんです。フッターは今のところ考えておりません。 ですのでasahina1979さんの方法は、今回の件では相性が悪いように思われます。 質問の仕方に欠落があり、申し訳ないです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問