• 締切済み

cellspacingがある理由とは。

どうしてもcellspacingがある理由がわかりません。 「セル間の余白を指定します。」と説明がありますが・・・・。 試しに、cellspacingが有るのと、無いので比較したのですが それならば、「table border=""」で間隔を、広げたり、狭めたりすればよいのでは と思ったりするんですが・・・。

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

みんなの回答

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

cellspacingは、コマとコマの間隔を指定します。 borderは、コマ周囲の枠線(border)の太さを指定します。 cellpaddingは、枠線と内容の余白を指定します。  詳しくは 11.3.3 コマのマージン ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/tables.html#h-11.3.3 )  などを参照。  なお、現在はtableのこれらの属性は指定せず、スタイルシートで指定することが主流です。スタイルシートを使うと、table全体の枠線の形と色、コマ間の上下左右の隙間、枠線の掲示用と色、内容との隙間が、上下左右別々に巾や色が指定できます。  そのため、HTMLでは単純に <table border="1" summary="何たらの表">  <caption>表のタイトル</caption>  <thead><!-- 省略可 -->   <tr>    <th abbr="列1">列1</th>    <th abbr="列1">列1</th>    <th abbr="列1">列1</th>   </tr>  <thead>  <tfoot><!-- 省略可 -->   <tr>    <th abbr="列1">列1</th>    <th abbr="列1">列1</th>    <th abbr="列1">列1</th>   </tr>  </tfoot>  <tbody>   <tr>    <td rowspan="2">データ1</td>    <th colspan="2">データ2</td>   </tr>   <tr>    <td>データ3</td>    <td>データ4</td>   </tr>  </tbody> </table> 程度覚えておけば良いでしょう。  なお、tableはあくまで表ですので、デザイン・配置のために使用するのは誤りです。 「単に文書内容を整形する目的だけで表を用いるべきでない。 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/tables.html#h-11.1 )」 「ページレイアウトの目的で表を用いる。・・・【中略】・・・こうしたテクニックによって、・・・【中略】・・・限られた環境にしか適応しなくなり、・・・【中略】・・・障害を持つ人々にアクセス障壁が設けられてしまう。 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/present/styles.html#h-14.1 )」  など。

noname#158634
noname#158634
回答No.1

borderは枠線。 cellspacingは間隔。 まるで意味が違うしborderをどうしようがcellspacingの代わりにはならないのだから『それならば、「table border=""」で間隔を、広げたり、狭めたりすればよいのでは』なんて発想は全くもって訳が分かりません。 ついでに言うと、HTMLのタグと属性は本来そこにあるものの「意味」を示すものなのだから、仮にその「borderで余白」がもしできたとしてもそれはいけないこと。

関連するQ&A

  • cellspacingの意味とtbodyの必要性

    まず、「tbody」の必要性がわかりません。 以前、学校で習ったときには、「tbody」は入れなくてもよいと言われたのですが、ほんとにそうなのでしょうか? 「cellspacing」なんですが、これは、セル間の余白を指定します。との説明があるのですが、どういう意味なのでしょうか? まだまだ初心者ですので、簡単にご説明いただければと思います。 URLでもかまいませんのでよろしくお願いします。

    • 締切済み
    • CSS
  • borderとcellspacingの違い

    <table border=0 bordercolor="#ff0000"> <tr> <td>aaa</td> <td>bbb</td> </tr> </table> <table border=1 bordercolor="#ff0000"> <tr> <td>aaa</td> <td>bbb</td> </tr> </table> <table cellspacing=0 bordercolor="#ff0000"> <tr> <td>aaa</td> <td>bbb</td> </tr> </table> <table cellspacing=1 bordercolor="#ff0000"> <tr> <td>aaa</td> <td>bbb</td> </tr> </table> <table border=1 cellspacing=1 bordercolor="#ff0000"> <tr> <td>aaa</td> <td>bbb</td> </tr> </table> <table border=1 cellspacing=0 bordercolor="#ff0000"> <tr> <td>aaa</td> <td>bbb</td> </tr> </table> いろいろサンプルを作ってみたのですが、 結局borderとcellspacingは、どう違うのでしょうか?

    • ベストアンサー
    • HTML
  • tableとcellspacingとcellpadding

    動的に生成されたHTMLに以下が記述されています。 <table class="type" border="0" cellspacing="2" cellpadding="1"> これを外部CSSを使って、cellspacing、cellpaddingをともに「0」としたいのですが、 記述方法がわかりません。 よい方法をご存じのかたはおられないでしょうか。

    • ベストアンサー
    • HTML
  • <table>の「cellpadding」と「cellspacing」のタグを、CSS2で記述する場合

    <table>の「cellpadding」と「cellspacing」という、表のセルとセルの間隔を指定できるものがありますが、CSS2ではどのように記述すればいいのでしょうか?

  • tableのcellpadding="0" cellspacing="0"をCSSで

    tableのcellpadding="0" cellspacing="0"をCSSで設定する方法を検索したところ、 border-collapse:collapse; border-spacing:0; というアドバイスが記載されていました。 実際に使ってみたのですが、 どうしてもセル余白とセル間隔が発生してしまいます。 どうしたらよいですか。

    • ベストアンサー
    • HTML
  • imgの下に余白が出来てしまう

    1週間位悩んでいますが、わかりません。 どなたか助けてください。 下のようなHTMLを書いています。 <table border="0" cellspacing="0" cellpadding="0"> <tr><td><img src="img/head.bmp" border="0"></td></tr> </table> で、画像の上下左右に余白が出来ると困るのですが、 下側だけに3~4dot程度の余白が出来てしまいます。 ちなみに、画像のサイズは762x63dotです。 試しに <tr height="90"><th valign="bottom"> <img border="1" ... とやると、画像がテーブルの中で下の方に配置されますが、やっぱり下に3~4dot程度の余白ができます。 また、余白はimgのborderの外側にあります。 どうか、宜しくお願いいたします。

    • ベストアンサー
    • HTML
  • 【HTML】セル同士の間隔を指定した時のセルの幅

    頑張ってHPを作っているhtml初心者です。 例えば、 border="3" cellspacing="10" width="800" と指定したテーブルに左右2つのセルがあったとします。内容は何も書いてありません。 この時片方のセルの幅を width="200" にした場合、もう片方のセルの幅は何pixelになりますか? セル同士の間隔が0の場合は600pixelだと思ってるんですけど、間隔入れたらよく分からなくなってしまいました。

    • ベストアンサー
    • HTML
  • テーブルの位置

    テーブルを上下に2つ表示させたいのですが、うまく表示できません。 <table border="0" cellspacing="0" align="center"> ・・・ </table> <table border="0" cellspacing="0" align="center"> ・・・ </table> としていたときは、ちゃんと上下に2つ表示されていたのですが、 <table border="0" cellspacing="0" align="left"> ・・・ </table> <table border="0" cellspacing="0" align="center"> ・・・ </table> にすると、左右に2つ表示されてしまいます。 どうしてでしょうか?

    • ベストアンサー
    • HTML
  • テーブルを細線で表示させたい

    Dreamweaver8を使用しています。 テーブルを表示させると線が太くでてしまいます。 コードでは次のようになっていました。 <table width="50" border="1" cellpadding="0" cellspacing="0"> ボーダーは1よく低い値を入力できません。 ためしにエクセルのセルを貼り付けると細線で表示されました。 そのときのコードは、 <table cellspacing="0" cellpadding="0" class="excel1"> <tr> <td height="18" class="excel2" width="72" style="height:13.5pt;width:54pt;"> </td> </tr> </table> となっていて非常に複雑です。 テーブルのシンプルな細線はどうやって作成できますか? よろしくお願いします。

  • セルの周りの線だけを表示させるには?

    ホームページビルダーで表を作る際の質問です。 http://item.rakuten.co.jp/hotclothing/wpc61104/ 上記URLの左側のメニューのように、セルの周りだけ線を表示させるにはどのようにしたら良いでしょうか?cellspacing borderなど色々数値を変えてみたのですが、どうしてもセル周りの線だけを表示させる事が出来ません。 <table border="0" width="180" height="103" cellspacing="2" cellpadding="0"> このように打つと点線でセル周りだけ表示できるのですが、この点線部分だけを色を指定して表示させたいのです。 どなたかご存知の方いらっしゃいましたらご教授くださいませ。約8時間ほど悩んでいます・・・・。