- ベストアンサー
ライブビュー時の<th>の幅について
- CS5のDWを使用しており、Magical Formを使ってフォームメールを作成中です。
- 初心者でPHPの知識がありません。
- ライブビューやブラウザープレビュー時に<th>の幅が約43pxになる問題が発生しています。原因を特定できず、他の要素が影響している可能性も考えられます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
tableの各セルの巾は、 【引用】____________ここから 著者が列幅情報を指定していない場合、ユーザエージェントは適切な幅を割り当てるために列のデータ全体が届くのを待たねばならないため、逐次的整形をすることはできない。 ある特定のコマにおいて、内容に対して列幅が狭すぎると判明した場合、ユーザエージェントは表を再整形することを選択してよい。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[11.表 2.表を構成する諸要素 4.列幅の計算 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/tables.html#column-width )]より ブラウザは、可能な限りすべての行においてバランスよくなるように、すべてのデータを受け取ってから列幅を計算します。 そこで、あらかじめ巾を決めておくと良いです。 <table border="0" summary="入力" width="800"> <tbody> <tr> <th class="hissu" width="60">お客様名</th> <td><input type="text" name="name" size="45" value=""><span class"note">※法人の場合は正式な会社名</span></td> </tr> <tr> <th class="hissu">フリガナ</th> <td><input type="text" name="furigana" size="45" value=""></td> </tr> ・・・ ★tableにsummary属性は必須です。 ★くかもりでは、widthの値が数値のときは単位をつけてはなりません。800とかけばpxと判断されます。 ★tbodyは出来るだけ書きましょう。(仕様上はtable直下にtrは入らない。HTMLでは必須) <!ELEMENT TABLE - - (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)> ★<font>は非推奨です。HTML5では廃止 そのうえでスタイルシートで table.form{ border-collapse:collapse; width:80%;/* スタイルシートの指定が優先されます。*/ table.form th,table.form td{ vertical-align:top;/* これらはスタイルシートで指定すべき */ } table.form th.hissu:after{content:"*";color:red;} table.form td span.note{color:red;font-size:0.8em;} とか、class名をいちいちつけなくても良いです。実はこの場合tableにclass名formをつけなくても table[summary="入力"]{}でもよい。 つけるときも、文書の意味がわかるように記述します。 CSSに table.form td span.note{}と書かれていたら、formのtableのセルのnote(注意書き)だとわかる。 ★巾が決まらないのは、巾が指定してないからです。後でスタイルで追記するにしても、早い段階--一行目--で指定しておくと良い。 なお、tableを使わないほうが楽かもしれません。 テーブルタグを使ってフォームを作成してるのですが… - Webデザイン・CSS - 教えて!goo ( http://okwave.jp/qa/q7314941.html#a4 )
その他の回答 (1)
- naokita
- ベストアンサー率57% (1008/1745)
<th valign="top" class="top" style="width: 130px;">お客様名<span class="hissu">*</span></th> セルの幅指定がブラウザ任せだから。 style="width: 130px;" <table id="form1"> <tr> <th class="top">お客様名<span class="hissu">*</span></th> #form1{ width: 800px;} #form1 th{ width: 130px; vertical-align: top;}
お礼
ご回答ありがとうございます! 指定しないとブラウザ任せになってしまうのですね・・・ 今まで特に指定しなくてもうまくいっていたので、知らなかったです>< ありがとうございました!
お礼
ご回答ありがとうございます! ものすごーく詳しく書いて下さって・・・ありがとうございます!;; 大げさかもしれませんが、人の優しさってすごいなぁと思いました。 1つずつ、理解しながら読み進めていきたいと思います! ありがとうございました!