css.divのみでレイアウトする勉強中です。
テーブルのように表示内容によって変化する左右の要素の高さを
揃えるにはどうすればいいのかで悩んでいます。
<html>
<head>
<style type="text/css">
html{height:100%;}
body{height:100%;text-align:center;magin:0;}
.head{width:800;background:#f8ffff;border:1px solid #000;}
.main{height:100%;width:800;}
.left{height:100%;width:20%;float:left;background:#f8f8ff;border:1px solid red;}
.right{height:auto;width:75%;float:right;background:#aaaaaa;padding:5px;}
.center{height:1500;width:200;background:#00ffff;}
.foot{clear: both;background:#444666;color:#fff;}
</style>
<title>test</title>
</head>
<body>
<div class="head">title</div>
<div class="main">
<div class="left">
left
<br>
<font color=red>
※この要素を右と揃えたい</font>
</div>
<div class="right">
right
<div class="center">
この要素の高さが変わる
</div>
</div>
<div class="foot">
foot
</div>
</div>
</body>
</html>
No.4ベストアンサー
- 回答日時:
ANo.2です。
いじってみたら一応それらしいものができたのでご報告・・・
<html>
<head>
<style type="text/css">
*{padding:0;margin:0}
body{text-align:center;}
.head{width:800px;background:#f8ffff;border:1px solid #000;}
.main{width:800px;overflow:hidden;}
.left{width:20%;float:left;background:#f8f8ff;border:1px solid red;padding-bottom: 32768px;
margin-bottom: -32768px;}
.right{width:75%;float:right;background:#aaaaaa;padding:5px;padding-bottom: 32768px;
margin-bottom: -32768px;}
.center{width:200px;background:#00ffff;padding-bottom: 32768px;
margin-bottom: -32768px;}
.foot{width:100%;background:#444666;color:#fff;}
.footer{clear:both;width:800px;position:relative;}
</style>
<title>test</title>
</head>
<body>
<div class="head">title</div>
<div class="main">
<div class="left">
left
<br>
<font color=red>
※この要素を右と揃えたい</font>
</div>
<div class="right">
right
<div class="center">
この要素の高さが変わる</div>
</div>
<div class="footer">
<div class="foot">
foot
</div>
</div>
</div>
</body>
</html>
これで希望通りの動きになると思います。
ありがとうございます。
なるほど。footerはpositionを指定することで対処できるんですね。
とても勉強になりました。これで上手く出来そうです。
ご丁寧にソースでの分かりやすい説明、ありがとうございました!
ちなみにですが・・自分なりに解決策を探しているうちにdisplay:table-cell;という方法にたどり着きました。
こんなにいろいろ手段があるなんて、悩んでいた自分が情けない・・CSSって奥が深いですね。
No.3
- 回答日時:
floatを指定している親要素に対して背景画像を指定することで見かけ高さが揃っているように見せるテクニックが一般的だと思います。
この場合は#mainですね。
ありがとうございます。
親要素に背景画像を入れるという方法は思いつきませんでした。
恥ずかしながらdiv要素の指定にこだわっていて、基本的なことを忘れていたようです。ありがとうございました。
No.2
- 回答日時:
ありがとうございます!
なるほど。
「padding-bottom」と「margin-bottom」を使うとは・・・こんな方法もあるんですね。
しかし、下にfooterを追加すると上手くいかないみたいです。
IEだと上手くいくんですが、Firefoxだとすごいことになってしまいました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS HTML、cssのatomつぅーやつで 課題Ex1ってやつを表示させたいのですが、 私は課題Ex1が 2 2022/12/15 16:56
- HTML・CSS img と p を縦中央に配置したいのですがうまくいきません。 2 2023/01/12 14:38
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
CSSで指定した背景画像にリンク...
-
セル内のリンク文字を中央に配...
-
テーブル内の画像をマウスオー...
-
chromeではbackgroundの画像が...
-
Firefoxでheight:100%がきかない?
-
IE9でa:hoverが効かない
-
CSSと<dl><dd>で間隔をあけて1...
-
<form>タグのプルダウンメニュ...
-
「dt」「dd」の内容を一列で表...
-
ラジオボタンやチェックボック...
-
CSS:hoverでナビボタンの背景画...
-
CSSでテーブルのセルが、a:hove...
-
ホームページ スマホサイズ
-
画像だけを端に寄せる方法
-
カラム高さ揃え+固定フッター
-
画像を中心に配置したい
-
写真と文字の大きさをそろえたい
-
font-sizeが効かない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
画像イメージの上下左右、欲し...
-
CSS、width100%でもできる余白
-
CSSがなぜかfont-sizeだけ効か...
-
css初心者 フレックスボックス...
-
余分な縦スクロールバーが出て...
-
CSS:animation開始位置の設定
-
form input テキストを上下中央...
-
W3Cのソースコードの検証サービ...
-
スクロールボックスを中央に配...
-
CSSでボックスのheightが0になる
-
表示倍率を変えるとレイアウト...
-
【CSS】ヘッダーの高さが不明の...
-
Media Queries 4 で 非推奨とな...
-
div領域をウインドウサイズに合...
-
CSS(0の単位)について
-
divで囲まれたpaddingの指定を...
-
中点「・」の改行について
-
CSSで指定した背景画像にリンク...
おすすめ情報