
CSSで
A
B C
D
という4つのカラムでレイアウトしたいので下記のようなCSSにしました。
------------------------------------------------
#A{
width:700px;
}
#B{
float:left;
padding-top: 15px;
width: 150px;
height: 100%;
}
#C{
float:right;
text-align: left;
width: 550px;
padding: 15px 50px 30px;
}
#D{
position:relative;
width:100%;
height:50px;
clear:both;
text-align:center;
}
------------------------------------------------
IEでは問題ないのですが、safariやFirefoxでは
A
B
C
D
となってしまい、BとCが並んでくれません。
Cはテキストのみなので画像等のサイズオーバーでカラム落ちしているわけではなさそうです(長いURLなどもありません)
Cのfloat:right;を消すと並んでくれるのですが、そうするとどういう訳かpaddingの指示が無視されてピッタリくっついてしまいます。
IEよりもsafariの方がCSSでは正しいそうなので何か間違っているのだと思うのですが、どなたかご教授ください。
No.1ベストアンサー
- 回答日時:
初めまして。
FireFoxやsafariなどの正規表現に忠実なブラウザでは
──────────────────────────
width(550px)+padding(50px)=実際に表示される横幅
──────────────────────────
となります。
つまり、#Aの横幅に対して#B+#Cの値の方が大きくなってしまっているので、結果として、収まらなかった#Cが下に追いやられてしまっている、という具合です。
対処法としては
──────────────────────────
<div style="横幅を指定">
<div style="余白を指定">内容物</div>
</div>
──────────────────────────
このように相性の悪いプロパティは、各要素に対して一つずつ指定する事で全てのブラウザに対応出来ます。
ありがとうございます。
widthとpaddingが足される物だとは知りませんでした。
無知でお恥ずかしい限りです。
<div style="横幅を指定">
<div style="余白を指定">内容物</div>
</div>
というのは…
一つのカラムに対して2つの指定をしてやるということなのでしょうか?

No.3
- 回答日時:
#2です。
> 一つのカラムに対して2つの指定をしてやるということなのでしょうか?
はい。そういうことです。
「width:550px;」の数値を変更せず「padding:15px 50px 30px;」を生かすために
こういう設定をしています。
[スタイルシートによる崩れない 2カラム 3カラム・レイアウト]
http://desperadoes.biz/style/dan/
上記のサイトがとても参考になりますので、もしよろしければどうぞ。
ありがとうございます。
ようやく意味がわかりました!
脱テーブルにチャレンジしてるのですがまだまだ壁は多そうです(^^;)
またなにかございましたらご教授ください。

No.2
- 回答日時:
No.1さんが書かれているように「padding: 15px 50px 30px;」の設定で崩れています。
http://www.htmq.com/style/padding.shtml
「上に15pxの余白、左右に50pxの余白、下に30pxの余白」と設定してしまうと
550pxだけでは足りなくなってしまうため、プラス「50px×2」を追加しないといけません。
(#Aの部分も700pxでは足りなくなり崩れてしまう原因になります。)
CSS記述例
*{margin:0; padding:0;}
#my_body{/* 画面を小さくしても崩れない設定 */
width:700px;
background-color:#ddd;/* 色はテストのためつけています */
}
#A{
width:100%;/* #my_bodyで700pxの設定をしているのでここでは100%で */
height:50px;/* 高さは任意 */
background-color:#ccb;/* 色はテストのためつけています */
}
#B{/* height:100%;は取っていますがつけてくださっても構いません */
float:left;
width:150px;
padding-top:15px;
}
#C{
float:left;
width:550px;
background-color:#ddd6bb;/* 色はテストのためつけています */
}
#C2{/* #Cで設定されていたpaddingと文字の左寄せをここで設定しています */
padding:15px 50px 30px;
text-align:left;
}
#D{
clear:both;
width:100%;
height:50px;/* 高さは任意 */
text-align:center;
padding:1em 0;/* 文字の位置は任意 */
background-color:#ccb;/* 色はテストのためつけています */
}
HTML記述例
<div id="my_body">
<div id="A"></div>
<div id="B">テキスト</div>
<div id="C">
<div id="C2">長いテキスト分</div>
</div>
<div id="D">テキスト</div>
</div>
で書きましたところ、IE6とFirefoxでは正確に表示されました。
ありがとうございます。
widthとpaddingが足される物だとは知りませんでした。
無知でお恥ずかしい限りです。
せっかく丁寧に教えてくださったのに
当方あまりに知識がないためこんぐらがってます(^^;)
#C
#C2
と2つあるのはのは…
一つのカラムに対して2つの指定をしてやるということなのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS 吹き出し 下記の吹き出しのスタイルシートについて 下記のスタイルシートは左側にアイコンがでる使用にな 1 2022/11/12 17:55
- オープンソース cssで中央寄せ 1 2023/05/19 06:25
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS CSSがなぜかfont-sizeだけ効かない...記述がまちがっているんでしょうか 5 2022/04/09 17:52
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS img と p を縦中央に配置したいのですがうまくいきません。 2 2023/01/12 14:38
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
画像イメージの上下左右、欲し...
-
余分な縦スクロールバーが出て...
-
CSSがなぜかfont-sizeだけ効か...
-
HTMLで一部だけスクロールする...
-
form input テキストを上下中央...
-
widthやheightの数値に単位(px...
-
CSSでボックスのheightが0になる
-
【HTML&CSS】フッター下部の余...
-
divで囲まれたpaddingの指定を...
-
div内に外部のurlを表示させたい
-
css初心者 フレックスボックス...
-
div領域をウインドウサイズに合...
-
CSSでborderの指定を解除する記...
-
CSSで3分割した背景画像を配置...
-
テーブルのセル間に余白が空い...
-
IEとFireFoxでの指定位置のズレ...
-
float を使うと隙間ができる
-
テキストボックスの高さを可変...
-
表示倍率を変えるとレイアウト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
form input テキストを上下中央...
-
widthやheightの数値に単位(px...
-
画像イメージの上下左右、欲し...
-
CSSがなぜかfont-sizeだけ効か...
-
余分な縦スクロールバーが出て...
-
HTMLで文字が重なって表示されます
-
【CSS】ヘッダーの高さが不明の...
-
css初心者 フレックスボックス...
-
スクロールボックスを中央に配...
-
表示倍率を変えるとレイアウト...
-
footer を横幅いっぱいに広げる...
-
CSSでborderの指定を解除する記...
-
CSSで背景画像を一番下にもって...
-
背景が下まで表示されないんです。
-
<div>と<div>の間の10px程の...
-
CSS(0の単位)について
-
CSSでボックスのheightが0になる
-
CSSの角丸での質問です。 今、C...
-
div内に外部のurlを表示させたい
おすすめ情報