
No.4ベストアンサー
- 回答日時:
No.3の方が言われていることが気になったので補足です。
質問者さんが具体的にやりたいことは伝わっているので問題ありませんよ。
やりたいことは、#headerの高さをJSなしで取得し、#contentからその高さを引くにはどうしたらいいか、です。
JS(Jqueryでもなんでもいい)をできれば使いたくない、ということが条件なのでCSSのみで限りなく再現できる方法と、”できれば”とあるので余力があればJSの例を回答すればいいのです。
ユーザビリティについても触れられていますが、そんなことは質問とは別です。
マークアップに関しても指摘されていますが、divを使っている、とは質問者さんも一言も書いてないので気にしなくてよいです。
divを使おうがheaderを使おうが自由です、質問者さんの環境はHTML4かもしれませんし、環境はわかりません。idを指定するのも自由です。
とにかく、自由にやってみてください。もしそれでも本格的にHTMLを覚えたければ、正しい書き方をぜひ勉強してください。
で、解決方法ですが、経験上、#header高さが固定できない場合は、JSで引くことになると思います。
もしくは#headerの高さを固定できれば(あるいはおよそわかっていれば)calcを使ってもいいかもしれません。
下のHTMLをコピペしたHTMLファイルをつくって確認してみてください。こういうのをやりたかったんですかね?
※height: calc(100% - 60px);の60pxが#headerの高さとした場合です。
<!doctype html>
<html>
<head>
<style>
* {
margin:0;
}
html,body {
height:100%;
margin:0;
}
#header {
position:relative;
padding:20px;
background:#FF0;
}
#header h1{
line-height:20px;
font-size:16px;
}
#content {
position:relative;
height: calc(100% - 60px);
box-sizing:border-box;
background:#FF0000;
}
</style>
</head>
<body>
<div id="header">
<h1>TITLE</h1>
</div>
<div id="content">
</div>
</body>
</html>
No.3
- 回答日時:
jqueryも代表的なjavascriptですから、使えないですね。
CSS3,HTML5の時代ですから、私も基本的にjqueryもjavascriptは使いません。セキュリティの関係でjavascriptを止めているネットサーファーも多いのでね。ここで、height,widthは、ウィンドウ幅を参照することに注意が必要です。
で、具体的に何をしたいの??
データが、表示領域内に表示できないときはどうするの??
ユーザーが製作者と同じ環境とは限りません。小さなディスプレイもあれば大きなディスプレイもあるけど・・・
なお、#headerとか#contentとかは、そろそろやめましょう。
20年前のHTML4.01の時代に「DIV要素とSPAN要素は、id属性及び class属性と併用することで、文書に構造を付加するための一般機構を提供する。( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )」でしたし、HTML5では、それをいつまでも理解できない人が多いために、文書構造をマークアップするための新しい要素が追加されたのはご存知だと思います。
HTML4.01の時代
<div class="header">
<div class="section">
だったものが・・・ちなみにいずれも文書中に何度も登場するはずなのでclass
<header>
<section>
<footer>
になり、divは原則使わなくなった。
また、CSS2移項、セレクタは起点セレクタから書きはじめる。
で、そのままなら単純に
body{height:100%;overflow:hidden;background-color:yellow;}
だけで済むはずだけど(^^)
No.2
- 回答日時:
No.1の補足です。
#contentにheight:100%;当てているなら、padding-topが当たるとその分飛び出すのでパニックになると思いました。
そういう場合はbox-sizing:border-box;を当てるとよいです。理由は調べてくださいまし。
No.1
- 回答日時:
JavaScriptを使えないのはなんで?と聞きたくなりますね。
(いじわる!)Jquery で書けば簡単です。
$(function(){
$(window).on("load",function(){
$("#content").css({"padding-top":$("#header").height()+"px"});
});
});
それでもどうしてもなにがなんでもCSSでやりたいんだったら、、
#headerの高さをheightで指定するか現在の高さを計測して、(F12押して開発者ツール使ってもいいし、スクリーンショット撮ってPhotoshopでピクセル数えてもいいし笑)
その数値を#contentのpadding-topにでも当てればいいんじゃないでしょうか?
ちなみに#headerの高さのところで「font-sizeで高さを指定しているので」のようなことが書いてありますが、
line-heightを指定して、それとpaddingの上下を足すと高さが出るんじゃないですか?
#header {
padding:20px 0;
}
#header h1{
margin:0;
line-height:20px;
font-size:16px;
}
ヘッダーの高さは60px(padding上20+padding下20+line-heightの20)。という感じです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS 差し込み画像にをcssで大きさ指定したい 1 2022/11/23 23:14
- JavaScript jQueryでのレスポンシブが綺麗に動かない 3 2022/06/21 11:08
- HTML・CSS 検索窓とcssハックについて 3 2022/04/22 12:21
- HTML・CSS サイトをマルチデバイス対応にする為の準備や、CSSなどのおすすめサンプル集やアドバイスを頂きたいです 1 2022/07/13 22:15
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- JavaScript 画面に表示したらアニメーションを開始したい 3 2023/01/13 15:38
- HTML・CSS CSS上での計算を行うためのルールについて教えてください。 3 2022/08/15 14:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
XHTML+CSS で、ブラウザごとに...
-
画像リンクの下に文字を付けた...
-
ヘッダーの高さが合わない
-
テーブルの線を上に引っ付けたい
-
css
-
IE・FirefoxでのCSS表示違いに...
-
CSSで背景画像を一番下にもって...
-
CSSのfloatの回り込み解除について
-
セル内のリンク文字を中央に配...
-
CSSで擬似的にフレームを作りたい
-
Netscape-Navigatorについて教...
-
CSSでテーブルを作成
-
CSSについて教えて下さい ブロ...
-
このCSSの設定で何故こうなるの...
-
1カラムのリキッドレイアウトに...
-
[CSS] レスポンシブにできない ...
-
左右の高さを揃えたいんですが
-
テーブルタグをCSSにしたい
-
ブロック要素の右下寄せ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
CSSがなぜかfont-sizeだけ効か...
-
form input テキストを上下中央...
-
【CSS】ヘッダーの高さが不明の...
-
画像イメージの上下左右、欲し...
-
css初心者 フレックスボックス...
-
余分な縦スクロールバーが出て...
-
W3Cのソースコードの検証サービ...
-
表示倍率を変えるとレイアウト...
-
safariでの横並びリスト(List...
-
<div>と<div>の間の10px程の...
-
border-style:solidで文字がずれる
-
入力フォームとセレクトボック...
-
div内に外部のurlを表示させたい
-
divの中にspanを右寄せにするに...
-
dl,dt,ddタグでdtに対して、row...
-
divで囲まれたpaddingの指定を...
-
footer を横幅いっぱいに広げる...
-
CSSで指定した背景画像にリンク...
おすすめ情報