• ベストアンサー

<td>中の文字列に<p>は必要?

テーブルの<td></td>タグ中の文字列は、<p></p>タグで囲むべきでしょうか? <p></p>タグで囲まない場合の例: <body> <table border="4" width="250"> <tr> <td align="left"> ここの文字について質問しています。 </td> </tr> </table> <p></p>タグで囲む場合の例: <body> <table border="4" width="250"> <tr> <td align="left"> <p> ここの文字について質問しています。 </p> </td> </tr> </table> </body> どちらが、良いのでしょう? よろしくお願いします。

  • HTML
  • 回答数2
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.2

Tableってのは本来「表」ですからセルの中身は基本的にはParagraph(段落)とする必要はないでしょう。 ただ、表の一部分であってもそれが段落であるならPとするべきでしょう。 要は何を中身に書くかで決める事で、一概にどちらが良いというのはいえないし、場合よっては混在する事もあるでしょう。 もし、レイアウト目的でテーブルを使うようなら、テーブル関連のタグを取り除いても成立するようにマークアップしておくといいかと思います。

kitty1000
質問者

補足

steel_grayさん ご回答、ありがとうございました。 了解しました。

その他の回答 (1)

  • auty
  • ベストアンサー率58% (284/486)
回答No.1

これだけの場合は、変わらないことがわかると思います。 <p></p>タグは、段落にために使うわけですからその必要性がなければ無用です。 次のようにすると、違いが出てくるので例を示します。 ---------------------------------------------------------- <body> <table border="4" width="350"> <tr> <td align="left"> ここの文字について質問しています。<br/> ここの文字について質問しています。 </td> </tr> </table> <p></p>タグで囲む場合の例: <body> <table border="4" width="350"> <tr> <td align="left"> <p> ここの文字について質問しています。 </p> <p> ここの文字について質問しています。2 </p> </td> </tr> </table> </body> ----------------------------------------------------------

kitty1000
質問者

補足

autyさん ご回答、ありがとうございました。 了解しました。

関連するQ&A

  • テーブルの一つのtdタグだけ、文字を小さく

    テーブルの一つのtdタグだけ、文字を小さくしたい場合は、 この方法でいいのでしょうか? <html> <head> <title></title> <STYLE type="text/css"> <!-- p { font-size: 20%; } '--> </STYLE> </head> <body> <table border=1 cellspacing=1 cellpadding=1> <tr><td>普通</td><td>普通</td></tr> <tr><td>普通</td><td><p>test</p></td></tr> </table> </body> </html>

    • ベストアンサー
    • CSS
  • DreamWeaverで作るテーブル

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title>無題ドキュメント</title> </head> <body> <table width="800" height="394" border="1" align="center"> <tr> <td>  <p>1</p> <table width="200" border="1" align="left"> <tr> <td height="118">2</td> </tr> </table> <table width="600" border="1"> <tr> <td height="121">3</td> </tr> </table> <p> </p></td> </tr> </table> </body> </html> このようにテーブルを作った場合、3のセルの右のラインが1のセルの右ラインに隠れるというか見えなくなります。 そこで3のセルにalign="left"を設定するとIEではラインが見えるのですが、Netscapeでは2と3が縦に並んでしまいます。 なんとか3の右ラインを見えるようにしてNetscapeでも縦に並ばないようにするにはどうすればいいでしょう。 よろしくお願いいたします。

  • cssでテーブルの位置を設定するには?

    <table border="1" align="left">でテーブルの位置を競ってすることはできたのですが スタイルシートで行いたいです。 そもそも他のテーブルはすべて中央に寄せたいため、 table { margin-left: auto; margin-right: auto; } としています。 そのうえで、任意のテーブルのみ左に寄せて表示したいので table.test { align:left; } としたのですが、うまくいきません。 ---------------------------------------------------------- <html> <head> <title>test</title> <STYLE type="text/css"> table { margin-left: auto; margin-right: auto; width: 40%; } table.test { width: 80%; align:left; } </STYLE> </head> <body> <table border="1"> <tr><th>見出</th><th>見出</th></tr> <tr><td>セル</td><td>セル</td></tr> </table> <br><br><br> <table border="1" align="left"> <tr><th>見出</th><th>見出</th></tr> <tr><td>セル</td><td>セル</td></tr> </table> <br><br><br> <table border="1" class="test"> <tr><th>見出</th><th>見出</th></tr> <tr><td>セル</td><td>セル</td></tr> </table> </body> </html> ----------------------------------------------------- このコードだと、 table.test { width: 80%; align:left; } の、 width: 80%; の部分は認識されるようですが、align:left;は無視されます。 スタイルシートでテーブルの位置を設定する方法をご教授ください。

    • 締切済み
    • CSS
  • 一気に「テーブルの2列目のtdタグを右詰にする

    <html> <head> <title>test</title> </head> <body> <table border=1> <tr><th>No</th><th>aaaaaaa</th></tr> <tr><td>1</td><td>bbb</td></tr> <tr><td>2</td><td>ccc</td></tr> </table> </body> </html> このようなテーブルで 右側の2列目のtdタグを右詰にしたいのですが、 一気に「テーブルの2列目のtdタグを右詰にする」と言う方法は有りますか? 今は <html> <head> <title>test</title> <style type="text/css"> td.example1 { text-align: right; } </style> </head> <body> <table border=1> <tr><th>No</th><th>aaaaaaa</th></tr> <tr><td>1</td><td class="example1">bbb</td></tr> <tr><td>2</td><td class="example1">ccc</td></tr> </table> </body> </html> このようにしていますが 一つ一つタグを付けるのは非効率的と思っています。

    • ベストアンサー
    • HTML
  • テーブルが横に長くなってしまう

    の困ってます width=100%を超えたら折り返してほしいのですが・・・ aaa...aaaが短いときにはいいのですが長いとテーブルが横に長くなります 範囲を超えたら自動的に折り返すようにできないのでしょうか? <table width="100%" border="1"> <tr><td align="center">contents</td></tr> aaa...aaa <tr><td align="left"> </td></tr> </table>

    • ベストアンサー
    • HTML
  • 2列に表示させたい

    お世話になります。HTML初心者で教えていただきたいのですが、よろしくお願いします。 以下のタグで、「月別来館者数の推移」まで表示できたら、次の表は3cm程間を空けて右に表示させたいのですが、 タグをどのようにすればいいのでしょうか。 タグを直していただければ助かります。 よろしくお願いします。  <tbody> <tr> <td width="200" valign="Top" class="normal"> <p><span class="textitle"><font size="2"><b> 来館者数</b></font></span><br> <br> <font size="2">平成17年○月分<br> <br> <font size="2">月別来館者数の推移</font></p> </td> </tbody> </table> <font size="2">平成  年  月  日現在</font></tr> <table border="1" bordercolor="black" vspace="5" hspace="30" align="Left"> <tbody> <tr> <td align="Center" width="70"><font size="2">資料1</font></td> <td align="Center" width="70"><font size="2">約   冊</font></td> </tr> <tr> <td align="Center" width="70"><font size="2">資料2</font></td> <td align="Center" width="70"><font size="2">約   題</font></td> </tr> <tr> </tbody> </table>

    • ベストアンサー
    • HTML
  • Mac IEのバグなのでしょうか?

    TMEspionです。 <table border="0" cellpadding="5" cellspacing="5"><tr><td width="100" align="left" bgcolor="#999999"><table width="50" border="0" cellpadding="5" cellspacing="5"><tr><td align="left" bgcolor="#FFFFFF">左</td></tr><tr><td align="center" bgcolor="#FFFFFF">中</td></tr><tr><td align="right" bgcolor="#FFFFFF">右</td></tr></table></td><td width="100" align="center" bgcolor="#999999"><table width="50" border="0" cellpadding="5" cellspacing="5"><tr><td align="left" bgcolor="#FFFFFF">左</td></tr><tr><td align="center" bgcolor="#FFFFFF">中</td></tr><tr><td align="right" bgcolor="#FFFFFF">右</td></tr></table></td><td width="100" align="right" bgcolor="#999999"><table width="50" border="0" cellpadding="5" cellspacing="5"><tr><td align="left" bgcolor="#FFFFFF">左</td></tr><tr><td align="center" bgcolor="#FFFFFF">中</td></tr><tr><td align="right" bgcolor="#FFFFFF">右</td></tr></table></td></tr><tr><td align="left" bgcolor="#999999">左</td><td align="center" bgcolor="#999999">中</td><td align="right" bgcolor="#999999">右</td></tr></table> --------------------------------- 上記のソースの様に、テーブルを縦2段、横2列にセルを作り、上段はテーブルタグ、下段はテキストでそれぞれalign属性をleft、center,rightと設定しています。 ところがInternet Explorer 5.2 for Macで見ると、 上段右のテーブルタグは「align="right"」の効果が出ていません。 この質問を呼んでいる回答者様には、ブラウザでどう表示されるんでしょうか? どう表示されたかという結果とブラウザ名を教えて下さい。

    • ベストアンサー
    • HTML
  • 特定の文字列に囲まれた文字列を複数同時に抽出したい

    ホームページのソースの中から特定の文字列(タグ含む)に囲まれた文字を 複数同時にテキストファイルに抽出したいです。 例えば <table><tr><td width="100">い</tr></table> <table><tr><td width="88">ろ</tr></table> <table><tr><td width="55">は</tr></table> <table><tr><td width="100">にほ</tr></table> <table><tr><td width="55">へと</tr></table> とあった場合、「width="100">」と「</tr>」を指定して、 「い」と「にほ」をテキストファイルに書き出したいです。 何か良いソフトはないでしょうか?

  • ホームページのテーブルをWordに貼り付けると左にづれる?

    以下のコードのHTMLで作られたテーブルをブラウザーに表示→コピー→Wordに貼り付けると、テーブルがWordの文字列開始位置よりも左側にづれてペーストされるのですが、どのようにして回避できるのでしょうか? コード: <table width="550" border="1" cellspacing="0" cellpadding="40"> <tr> <td width="466" colspan="2" align="center"> 表タイトル </td> </tr> <tr align="left" valign="top"> <td width="118"> 表見出し行 </td> <td width="266"> データ </td> </tr> </table> どうやら、テーブルのcellpaddingが関係しているようで、cellpaddingの値を以下のコードのように小さくすると、テーブルをWordに貼り付けたときに文字列開始位置よりも左にずれる割合は小さくなります。 コード: <table width="550" border="1" cellspacing="0" cellpadding="5"> <tr> <td width="536" colspan="2" align="center"> 表タイトル </td> </tr> <tr align="left" valign="top"> <td width="188"> 表見出し行 </td> <td width="336"> データ </td> </tr> </table> ただ、それでも少し左にずれることには変わりませんし、cellpaddingの値が大きなテーブルをWordに貼り付けるときの回避策とはなりません。 どのようにしたら、cellpaddingの値が0ではないホームページのテーブルをブラウザーからコピーしWordに貼り付けたとき、Wordの文字列開始位置より左にずれないようにできるのでしょうか? よろしくお願いします。

  • ヤフオクのテンプレートでバックグラウンドを使いたい

    今、オークション用のテンプレートを作ってるのですが、テーブルの背景に、 <table width="900" height="1000" border="0" cellspacing="0" cellpadding="0" background="http://000.com/000.png"> と言った感じで画像を背景に配置したいと考えていますが、どうやってもうまくいきません。 プレビュー表示の段階で、ソースコードを見てみたのですが、ちゃんと設定されているにもかかわらず、背景画像だけが表示されません。 別の方法で、 <div style="background-image:url(http://www.000.com/000.png);"> でも試して見ましたが、同じ結果でした。 背景画像の上に「商品説明」などの画像を重ねて配置したいので、どうにか上手くできる方法がありましたら是非教えて下さい。 ※上に重ねる画像だけが表示されます。 参考までに今編集中のソースを貼っておきます。 <center> <table width="900" height="1000" border="0" cellspacing="0" cellpadding="0" background="http://000.com/000.png"> <tr> <td align="center" valign="top"><br /> <center> <table width="650" border="0" cellspacing="0" cellpadding="0"> <tr> <td><img src="http://000.com/001.png"></td> </tr> </table> <table width="650" border="0" cellspacing="0" cellpadding="5"> <tr> <td><font color="#a00e15"><p align="left"> 商品説明 </p></font></td> </tr> </table> <br /> <br /> <br /> <table width="650" border="0" cellspacing="0" cellpadding="0"> <tr> <td><img src="http://000.com/002.png"></td> </tr> </table> <table width="650" border="0" cellspacing="0" cellpadding="5"> <tr> <td><font color="#a00e15"><p align="left"> 発送方法 </tr> </table> <br /> <br /> <br /> <table width="650" border="0" cellspacing="0" cellpadding="0"> <tr> <td><img src="http://000.com/003.png"></td> </tr> </table> <table width="650" border="0" cellspacing="0" cellpadding="5"> <tr> <td><font color="#a00e15"><p align="left"> お支払い方法 </p></font></td> </tr> </table> <br /> <br /> <br /> <table width="650" border="0" cellspacing="0" cellpadding="0"> <tr> <td><img src="http://000.com/004.png"></td> </tr> </table> <table width="650" border="0" cellspacing="0" cellpadding="5"> <tr> <td><font color="#a00e15"><p align="left"> 注意事項 </p></font></td> </tr> </table></td> </tr> </table> </center>

専門家に質問してみよう