IE7以上、FireFox3以上の対応でコーディングをしています。
下記のようなレイアウトでIE7でだけ<div id="main">のカラムの中のテーブルだけがおちてしまします。
レイアウトとしては、全体には幅指定をせず、サイドナビゲーションにのみ幅指定をしています。
と言うのも、mainの中のテーブルの大きさが各ページ違い、かなり大きなサイズのテーブルになるため、大きくなるテーブルはブラウザからわざとはみ出させるためです。
幅の小さなテーブルがあるページはブラウザ内に収まり、幅の大きなテーブルはブラウザからはみ出します。
幅指定をしていないので、navi main 両方にフロートをかけることはせず、naviにのみフロートをかけ、mainには左側にマージンを入れています。
これでFFとIE8では思い通りに表示されています。
IE7だけブラウザ幅を超えるテーブルがあるページのテーブルのみが下におちてしまいます。
---------------------------------------------
<body>
<div id="all">
<div id="header">ヘッダー</div>
<div id="wrap" class="C">
<div id="navi">ナビゲーション</div>
<div id="main">
<table>
<thead>
<th>あかさたな</th>
<th>あかさたな</th>
</thead>
<tbody>
<td>はまやらわ</td>
<td>はまやらわ</td>
</tbody>
</table>
</div>
</div>
</div>
CSS-------------------
#all{
min-width:850px;
}
#wrap{
padding:20px 20px;
margin:0 0;
}
#navi{
float:left;
width:190px;
padding:0;
}
#main{
margin:0 0 0 200px;
}
どうすればIE7でもIE8と同じ表示にできるか、テーブルが落ちてしまわないかわかる方はいらっしゃいませんでしょうか?
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
HTMLの間違いもありますがそれはおいといて・・
floatは、そもそもの目的が画像などの周囲にテキストを回りこませるためのプロパティ値で、このようなブロックの配置に使うのはおかしいです。
たとえばメインコンテントが文章でその中に右や左に文章を流し込まれる画像をいれた文章で、しかも見出しなどでclearするような場合、どのようにデザインしますか??
IEの古いタイプはブロックの内寸のサイズのとり方にバグがありますから、すべてのブラウザに対して微妙な配置はできませんが、このような場合fixedかabsoluteを使います。
[IE5~6]と[IE7~9]で位置が微妙に変わる。
fixed ・・・ナビゲーションがウィンドウ高さよりも常に小さい場合。
absolute・・ナビゲーションがウィンドウ幅よりも高くなる場合
【サンプル】
★タブは全角スペースに置き換えてある。
★#navi{}は二種類。。いずれかをコメントアウトすること
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
<title>サンプル</title>
<meta name="author" content="ORUKA1951">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rev="made" href="mailto:orika1951@hoge.com" title="send a mail" >
<link rel="START" href="../index.html">
<style type="text/css">
html,body{margin:0;padding:0;}
#top{
min-width:850px;
background-color:yellow;
}
#wrap{
padding:20px;
margin:0 0 0 20px;
background-color:green;
position:relative;
}
/*
#navi{
position:absolute;
top:20px;
left:20px;
width:190px;
background-color:skyblue;
}
*/
#navi{
position: fixed; /*ここから */
top:40px;
left:40px; /* ここまで */
width:190px;
background-color:skyblue;
}
#main{
margin:0 0 0 200px;
background-color:white;
}
</style>
</head>
<body>
<div id="top">
<div id="header">ヘッダー</div>
<div id="wrap" class="C">
<div id="navi">ナビゲーション</div>
<div id="main">
<table>
<thead>
<tr>
<th>あかさたな</th>
<th>あかさたな</th>
</tr>
</thead>
<tbody>
<tr>
<td>はまやらわはまやらわはまやらわはまやらわ</td>
<td>はまやらわ</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</html>
No.2
- 回答日時:
カラム落ちとかIE7とか言う問題より、
そのCSSには、全角スペースが入り込んでますね・・・
div#main{ overflow: auto; width: 600px;}
とか
floatじゃなく、positionの方が良いのかも。
-----------------
#navi{ position: relative;}
#navi div{ position: absolute; top: 5px; left: 5px; width:190px;}
#navi ul,#navi p{ margin: 0; padding: 0;}
<div id="navi"><div>
<ul><li><a href="#">1</a></li><li><a href="#">2</a></li></ul>
<p>333333333</p><p>44444444</p>
</div></div>
No.1
- 回答日時:
ふむ、ちゃんと表示されてますか?
#navi{width:190px;}となっていて#main{margin:0 0 0 200px;}となっています。
ちゃんと幅指定してますよね?
しかも入れ子の方が幅広い…marginは当然margin+項目です。
今回幅190pxの箱の中に左側にmargin200px+項目が入っています。
私としては当然下に落ちてもしょうがない気がしますがいかがですか?
ちょっとCSS認識不足で変な事言っているかもしれませんが、
普通に考えるとこうなります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- PHP ランキングを表示する際の画像の大きさを固定することは可能でしょうか? <?php if ( has_ 1 2022/07/21 14:55
- HTML・CSS PCサイズで赤い画像2つと、青い画像2つがそれぞれ横に2つずつ並んでいるのですが、これをスマホサイズ 5 2022/04/11 12:01
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
関連するカテゴリから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 ウィンドウを...
おすすめ情報