これまでで一番「情けなかったとき」はいつですか?

初歩的な質問ですが、テーブルタグに、線をつける際に、枠だけついたり、下記のように記述しても、
真ん中のtr もしくは th や td の上下か左右がかぶってしまい、局所的に2本になってしまいます。(他に比べて太くなります。)

.book_form tbody tr .mailform, .book_form tbody tr .mailtext {
border: 1px solid #666;
}

すべてのラインを1本にして、きれいに見せるにはどのようにしたいいでしょうか。

ちなみに、<table class="book_form" border="1" bordercolor="#666"cellspacing="0" cellpadding="3">
こちらでもうまく表示されません。

CSSでの記述があるものだと助かります。

構成は、
<table>
<tbody>
<tr></tr>
<th></th>
<td></td>
</tbody>
</table>
です。

A 回答 (3件)

こんにちは。



table.book_form { border-collapse: collapse; }
を追加してみてください。
    • good
    • 0
この回答へのお礼

なおりました。default.cssに加えておきます。ありがとうございました。

お礼日時:2012/05/22 23:47

tableの枠線の指定のデフォルトはセル間にスペースをとります。

分離ボーダーモデル
詳しい資料は
17. 表について ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )
 17.6 ボーダー(Borders) ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )

すべての、tableに対して分離ボーダーモデルを使用しない場合、
table{border-collapse:collapse;border:1px gray solid;}
table td,table th{border:1px gray solid;}
と指定しておくと楽です。

なお、HTMLは、
<table summary="なんたらの表" border="1" >
で良いです。
 1) HTML4.01strict/ウェブ標準ではbordercolor,cellspacing,cellpaddingは非推奨
 2) ウェブ標準でHTMLを作成・起動させないとブラウザ間の差の吸収で悩まされます。
 3) summary属性はHTML4.01では必須です。
   ・・・summaryが書かれていて、かつ一意でしたら要素セレクタで表が特定できます。

★Another HTML-lint gateway ( http://openlab.ring.gr.jp/k16/htmllint/htmllint. … )
★W3C CSS 検証サービス ( http://jigsaw.w3.org/css-validator/#validate_by_ … )
 ウェブ標準(HTML4.01strict+CSS2.1)です。

※タブは、_に置換してあるので戻すこと。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
_<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
_<title>サンプル</title>
_<meta name="author" content="ORUKA1951">
_<meta http-equiv="Content-Style-Type" content="text/css">
_<link rev="made" href="mailto:oruka1951@hoge.com" title="send a mail" >
_<link rel="START" href="../index.html">
_<style type="text/css">
<!--
/* table共通指定 */
table{
_border-collapse:collapse; /* 結合ボーダーモデル */
_border:1px gray solid; /* 外枠の設定 */
}
table td,
table th{/* 見出しセルと値セル */
_border:1px gray solid; /* 枠 */
_padding:0.25em 0.5em; /* スキマ */
}
/* 個別指定 */
table[summary="表のサンプル"]{/* summary属性の値が・・である表 */
border-width:3px; /* 外枠の太さ */
width:40em; /* 幅40文字 */
margin:0 auto;/* 中央配置 */
}
table[summary~="表のサンプル"] th{width:12em;}/* 見出しセルの幅 */
table[summary~="表のサンプル"] td{width:26.5em;}/* 値セルの幅 */
-->
_</style>
</head>
<body>
_<h1>サンプル</h1>
_<table summary="表のサンプル" border="1">
__<tbody>
___<tr>
____<th abbr="項目">項目</th><th abbr="入力">入力</th>
___</tr>
___<tr>
____<th abbr="名">氏名(全角漢字)(W)</th>
____<td><input type="text" name="name" value="" tabindex="1" size="10" accesskey="W"></td>
___</tr>
___<tr>
____<th abbr="読">ふりがな(ひらがな)(Y)</th>
____<td><input type="text" name="yomi" size="30" tabindex="2" value="" accesskey="Y"></td>
___</tr>
__</tbody>
_</table>
</body>
</html>
    • good
    • 0
この回答へのお礼

お詳しい回答ありがとうございました。

お礼日時:2012/05/22 23:48

CSSに table { border-collapse: collapse; } を追加したら二重にならなくなると思います。

    • good
    • 0
この回答へのお礼

なおりました。default.cssに加えておきます。ありがとうございました。

お礼日時:2012/05/22 23:47

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


おすすめ情報