プロが教える店舗&オフィスのセキュリティ対策術

よろしくおねがいします。
dreamweaverで、テーブル(例えば5×5等)を組み、その一つのセルの中に、フォーム(買い物かごcgiへのボタンです)を設置したところ、作ったフォームの下に余計な余白が出来てしまいます。
1段で行きたいのですが、2段分に縦にセルが広がってしまいました。<br>もなにも入れてないのですが…。
なにか思い当たることのある方、よろしくおねがいします。

A 回答 (3件)

ブラウザの仕様かHTMLの仕様により、フォームの下にmarginが作られますので、


スタイルシートで

form { margin:0px; }

を指定してください。

<table>と<tr>の間や、<tr>と<td>の間に<form>を入れる方法は、
スタイルシートが定義される以前はよく使われていた(よく使われている)書き方と思いますが、
厳密にはHTMLの文法に違反します。


<form><table><tr><td>~</td></tr></table></form>

<table><tr><td><form>~</form></td></tr></table>

のいずれかで記述して、スタイルシートで見栄えを整えることをおすすめします。(<tbody>タグは省略しています)
    • good
    • 1
この回答へのお礼

1行書き足すだけで、解決しました。
大変助かりました。
親切なご回答ありがとうございました。

お礼日時:2006/04/29 00:45

筋としてはformはブロック要素なので改行される


仕様です。
どうしてもというのであればinline属性につけかえ
れば、ご希望のスタイルになります。
(スタイルシート対応のブラウザにかぎる)

<table border>
<tr><td><form><input type=text></form></td></tr>
<tr><td><form style="display:inline"><input type=text></form></td></tr>
</table>
    • good
    • 0
この回答へのお礼

ページの構成上、no2の方の方法が最善策でした。
親切なご回答ありがとうございました。
今後の参考にさせて頂きます。

お礼日時:2006/04/29 00:43

<td>と</td>の中に


<form>
~~
</form>
を入れてないですか?

理由は分からないんですけど、<form>と</form>を
<td>~~~</td>の外に出したらうまくいったことがあります。
だめかもしれませんが試してみてください。
いっそ<form>と</form>の間にテーブルタグを丸ごといれてもいいみたいです。
    • good
    • 0
この回答へのお礼

ページの構成上、no2の方の方法が最善策でした。
親切なご回答ありがとうございました。
今後の参考にさせて頂きます。

お礼日時:2006/04/29 00:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!