
こんにちは。ウェブデザイン初心者の質問です。
HTMLでページをデザインしています。form,input要素を使って検索用のフォームを設置したのですが、Firefox等のブラウザでフォントサイズを大きくすると、そのtableのレイアウトが崩れてしまいます。
リンクが張れないようなので、簡略化したスクリプトを書かせてもらうと、
<table align="center" cellpadding="0" cellspacing="0" width="700" height="225">
<tr>
<td colspan="2" width="400" height="200"><img src="image01.jpg" width="400" height="200"></td>
<td rowspan="2" width="300" height="225">
<script language="JavaScript" src="items.js"></script>
</td>
</tr>
<tr>
<td width="200" height="25" align="right" background="image02.jpg">
<form action="http://www.google.com" target="body">
<span><input name="" size="28" maxlength="80" type="text"></span>
</form>
</td>
<td width="200" height="25"><img src="image03.jpg"></td>
</tr>
</table>
右側のtdはフラッシュファイルです。この状態でフォントサイズを拡大すると、左側のtdのグループと右側のフラッシュのtdの間に隙間ができて、その隙間がフォントサイズとともにどんどん広がります。このtableの上下には同じ幅のtableがあり、それらの横幅は変わらないため全体のレイアウトが激しく崩れてしまいます。formを削除するとこのようなことは起こりません。
tableタグを使わずに、cssでのデザインも試みましたが、結局フォームがあるとないとで同じ結果になります。
firefoxではフォントサイズを絶対値で固定することができなくなったと聞いたのですがそのせいでしょうか?
解決策をご存知の方がいらっしゃったらぜひお願いします。
No.1ベストアンサー
- 回答日時:
> firefoxではフォントサイズを絶対値で固定することができなくなったと聞いたのですがそのせいでしょうか?
FirefoxではCSSでfont-sizeにどの様な単位を定義していたとしても、ブラウザ側の文字サイズの変更に合わせ「必ず可変」の状態になります。というか、主なモダン・ブラウザで未だに(px指定で)でfont-sizeが固定されてしまうのはIEぐらいです。
> この状態でフォントサイズを拡大すると、左側のtdのグループと右側のフラッシュのtdの間に隙間ができて、その隙間がフォントサイズとともにどんどん広がります。
<input>タグの"size"による「長さ」は絶対値ではない為、環境によってかなり表示幅の解釈が異なりますし、ブラウザ側の文字サイズをアップしていけば自ずと<input>の幅も広がってしまいます。
> formを削除するとこのようなことは起こりません。
> tableタグを使わずに、cssでのデザインも試みましたが、結局フォームがあるとないとで同じ結果になります。
<input>の長さをCSSで固定値にしてやれば、HTML側でsize="XX"と入っていても、CSSでの定義の方が優先されます。
---------------------------------------------------------------------
【HTML】
---------------------------------------------------------------------
<form action=" http://www.google.com" target="body">
<input class="hogehoge" name="" size="28" maxlength="80" type="text">
</form>
---------------------------------------------------------------------
【CSS】
---------------------------------------------------------------------
input.hogehoge {
width: 200px;
}
---------------------------------------------------------------------
<form>の入る<td>がwidth="200"となっていたので、そこに入る<input>タグに対してhogehogeというclassセレクタを定義し、widthを200pxとしています。
これで問題の<input>タグの部分も長さは固定される筈ですが、いかがでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
センタリングしたページの印刷
-
入れ子にしたテーブルをheight1...
-
スタイルシートでpaddingを使う...
-
<TD div id="new">←こういうの...
-
XHTMLに関する質問 順序が逆に...
-
テーブルタグの横のスペース
-
colspanを使うと正しく表示でき...
-
tableでcolspanを使うと次行以...
-
テーブルとテーブルの間隔について
-
テーブル内のセル間にスペース...
-
html5のテーブル内でdivのタブ...
-
TRタグの余白をcssで設定するには
-
プルダウンの表示位置
-
テーブルタグの中にdivを含めて...
-
テーブルの横に画像を
-
テーブル<TD>内に均等割付で表示
-
(HTML)Tableを任意の位置に置...
-
tableにul,または,olを入れられ...
-
テーブルのセルにアンカー
-
javascriptを使って、指定行以...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルの一部分のセルだけに...
-
html でのテキスト結合について
-
テーブル内の画像の高さ調整に...
-
tableタグとformタグの組み合わせ
-
<img>タグにCSSのclass設定可能?
-
vbscriptで時計を作りたい
-
連続した空白を入れたい時は<pr...
-
表とリスト(ulとtable)の違い...
-
<BODY>~</BODY> の中に <STYLE...
-
cssで、テーブルのtdの中の文字...
-
divで囲んだ文字が消える
-
XHTMLに関する質問 順序が逆に...
-
Tableタグで作成した表の縮小
-
Dreamweaver デザインビューの...
-
同じwidth=200でもセル内の文字...
-
td要素内のdiv要素をセンタリン...
-
リストを3列表示にしたい
-
固定ヘッダーがある時のページ...
-
HTML テーブルの一部を半透明に...
-
添付画像のような画面を作成し...
おすすめ情報