CSSについて質問させてください。
contentsというDIVの中に、con-leftというDIVとcon-rightというDIVを横に並べて表示したい場合に、以下のタグを書きました。
[CSS]
#contents {
width:910px;
padding:20px;
}
#contents #con-left , #contents #con-right {
width:453px;
float:left;
border:solid 1px red;
}
[HTML]
<div id="contents">
<div id="con-left"></div>
<div id="con-right"></div>
</div>
理論上では、con-left及びcon-rightの横幅は453px+ボーダーの2pxで、合計455px、それが二つで910pxで、横に表示されるはず。
しかしIEでは縦に並んで表示されてしまいます。
この解釈の違いがよく分かりません…。
分かる方は教えていただけませんか?
No.4
- 回答日時:
himajin100000さんの回答にもありますが、IE6は互換モードの場合widthにpaddingやborderを含めるので、実質#contents内のスペースは870pxになってしまいます。
なのでfloatの指定がある横幅が453pxのdivが2つ並ぶだけのスペースがなく、#content-rightほうのdivが落ちてしまいます。
一応、ハックを使わないで対応できる参考サイトのリンクを載せておきます。
参考URL:http://adp.daa.jp/archives/000265.html
No.3
- 回答日時:
IEがcssの仕様書どおりに動く意志が無い為です。
ボックスの解釈が他のcssに準拠したブラウザと異なる解釈をするためにはみ出て、落ちる結果になっています。
widthがpadding・borderを含むのか含まないのかで計算結果が違います。
DOCTYPE宣言によって、スイッチが切り替えられますのでブラウザで表示が違う相談の時はDOCTYPE宣言もデータに入れたほうがいいですよ。
http://www.css-designsample.com/others/layout.html
ブラウザで異なった表現になる時は解釈違いによる事が多いです。
解釈ではないけど、バグ(プログラムの欠陥)もあったりします。
バグ辞典
http://cssbug.at.infoseek.co.jp/
それぞれ大量にバグはありますので、その穴埋めをする技術をハックといいます。
これもバグを利用してバグ封じみたいな、技から、いろいろあります。有名なものは名前がついています。スターハックとか、アンダースコアーハックとか。なるべくならハックなど使わない方向で組めるようにがんばってください。
No.1ベストアンサー
- 回答日時:
IE 7標準モードで再現せず。
互換モードで再現。明らかにDOCTYPEスイッチの問題。
http://www.remus.dti.ne.jp/~a-satomi/bunsyorou/D …
!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<title>Q3445896 TestCase 1</title>
<style type="text/css">
#contents {
width:910px;
padding:20px;
}
#contents #con-left , #contents #con-right {
width:453px;
float:left;
border:solid 1px red;
}
</style>
</head>
<body>
<div id="contents">
<div id="con-left"></div>
<div id="con-right"></div>
</div>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- HTML・CSS 吹き出し 下記の吹き出しのスタイルシートについて 下記のスタイルシートは左側にアイコンがでる使用にな 1 2022/11/12 17:55
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS HTML、cssのatomつぅーやつで 課題Ex1ってやつを表示させたいのですが、 私は課題Ex1が 2 2022/12/15 16:56
- JavaScript 画像の表示位置 3 2022/12/23 08:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
CSS、width100%でもできる余白
-
cssで「下よせ」ってどうやって...
-
CSS(0の単位)について
-
ページを拡大縮小でborderが消...
-
<div>と<div>の間の10px程の...
-
floatした画像の下揃えについて
-
CSSの角丸での質問です。 今、C...
-
スクロールボックスを中央に配...
-
定義リスト dl dd dt
-
余分な縦スクロールバーが出て...
-
heaerとfooterに背景画像が難し...
-
Flexslider2のカーセルスライダ...
-
CSSでボックスのheightが0になる
-
【スタイルシート?】同行内で...
-
テーブル内の文字が揃わない
-
【CSSについて】リストをフロー...
-
リストを全体的に右寄せにしたい。
-
CSSで余白とパディングに”0”を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
画像イメージの上下左右、欲し...
-
css初心者 フレックスボックス...
-
表示倍率を変えるとレイアウト...
-
CSSがなぜかfont-sizeだけ効か...
-
CSS、width100%でもできる余白
-
W3Cのソースコードの検証サービ...
-
CSS:animation開始位置の設定
-
CSSで指定した背景画像にリンク...
-
<div>と<div>の間の10px程の...
-
余分な縦スクロールバーが出て...
-
CSSでボックスのheightが0になる
-
【CSS】ヘッダーの高さが不明の...
-
スクロールボックスを中央に配...
-
li 黒丸含んで移動する方法
-
border-style:solidで文字がずれる
-
【HTML&CSS】フッター下部の余...
-
Media Queries 4 で 非推奨とな...
-
初心者html・CSS ウィンドウを...
おすすめ情報