いつもお世話になります。
以下のソースのように、テーブルのtdの中にinputタグのtextを、widthを100%にして配置しています。
IE7でこれを表示すると、はみ出るというか突き抜けるというか、、、
という状態になっています。
これがIE8以上からだと、box-sizingを使用すればうまくいくのですが、IE7以下ではこのCSSは使えません。
IE7において、tdの中にうまく収めるためには、どのようにすればよいのでしょうか。
---------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body>
<table border="1">
<tr>
<th>テキスト</th>
<td style="width: 100px;">
<input type="text" style="width: 100%;" />
</td>
</tr>
</table>
</body>
</html>
---------------------------------------------
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
まず、HTMLをIEが標準モードで起動するように変更しましょう。
⇒DOCTYPEスイッチ( https://www.google.co.jp/search?q=DOCTYPE%E3%82% … )
互換モードだと、IEはboxサイズがborder辺の内側になってしまいます。
input要素は、行内要素です。
⇒7.5.3 ブロックレベル要素と行内要素( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
この区別はとても重要です。行内要素にwidthは指定しても意味がありません。
「(widthプロパティ)は、ブロック要素と置換要素の内容領域の幅を指定する。( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )」
<table border="1" summary="form">
<thead>
<tr>
</tr>
</thead>
<tbody>
<tr>
<th abbr="name">お名前</th>
<td class="name text">
<input type="text" value="" tabindex="2" size="20">
</td>
・・・
table[summary="form"] td{display:relative;}
table[summary="form"] td.name input{display:block;width:auto;margin:0;}
ポイント
1)行内要素inputをblockにします。これで、直近のstatic以外の親コンテナブロックのサイズを参照できます。
2)親コンテナブロックのtdをstaticからrelativeに変更します。
携帯電話やスタイルシートを利用できないブラウザのため(後方互換)に、input要素にサイズを指定しておきましょう。
table要素のsummaryは必須属性です。それを利用してセレクタを書くと簡単です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
html でのテキスト結合について
-
tableタグとformタグの組み合わせ
-
テーブルの一部分のセルだけに...
-
td要素内のdiv要素をセンタリン...
-
Tableタグ内のspan styleが適応...
-
リストの記号を括弧付きの文字...
-
formのinputなどの幅100%指定
-
入れ子にしたテーブルをheight1...
-
Firefoxを使ってるのですがズー...
-
同じクラス名はつけないほうが...
-
td width="180" と固定してるの...
-
vbscriptで時計を作りたい
-
Tableタグで作成した表の縮小
-
縦書きのテーブル
-
cssで、テーブルのtdの中の文字...
-
ブラウザによってテーブルのセ...
-
XHTMLに関する質問 順序が逆に...
-
添付のような形で10×10ピクセル...
-
自身のHPにYouTube動画を貼り付...
-
表とリスト(ulとtable)の違い...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
html でのテキスト結合について
-
tableタグとformタグの組み合わせ
-
特殊文字の検索方法
-
テーブルの一部分のセルだけに...
-
同じクラス名はつけないほうが...
-
Tableタグで作成した表の縮小
-
td要素内のdiv要素をセンタリン...
-
Tableタグ内のspan styleが適応...
-
テーブル内のテーブルの高さを...
-
formのinputなどの幅100%指定
-
divで囲んだ文字が消える
-
cssで、テーブルのtdの中の文字...
-
vbscriptで時計を作りたい
-
HTMLのテーブルでそれぞれの大...
-
td width="180" と固定してるの...
-
同じwidth=200でもセル内の文字...
-
ブラウザによってテーブルのセ...
-
TDタグ内での均等割付の仕方
-
表とリスト(ulとtable)の違い...
-
<img>タグにCSSのclass設定可能?
おすすめ情報