- ベストアンサー
テーブルの中のフォームについて
よろしくおねがいします。 dreamweaverで、テーブル(例えば5×5等)を組み、その一つのセルの中に、フォーム(買い物かごcgiへのボタンです)を設置したところ、作ったフォームの下に余計な余白が出来てしまいます。 1段で行きたいのですが、2段分に縦にセルが広がってしまいました。<br>もなにも入れてないのですが…。 なにか思い当たることのある方、よろしくおねがいします。
- みんなの回答 (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>タグは省略しています)
その他の回答 (2)
- yambejp
- ベストアンサー率51% (3827/7415)
筋としては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>
お礼
ページの構成上、no2の方の方法が最善策でした。 親切なご回答ありがとうございました。 今後の参考にさせて頂きます。
<td>と</td>の中に <form> ~~ </form> を入れてないですか? 理由は分からないんですけど、<form>と</form>を <td>~~~</td>の外に出したらうまくいったことがあります。 だめかもしれませんが試してみてください。 いっそ<form>と</form>の間にテーブルタグを丸ごといれてもいいみたいです。
お礼
ページの構成上、no2の方の方法が最善策でした。 親切なご回答ありがとうございました。 今後の参考にさせて頂きます。
お礼
1行書き足すだけで、解決しました。 大変助かりました。 親切なご回答ありがとうございました。