- 締切済み
HTML tableの枠線について
tableの枠線を cellspacingとcellpadding で作成しています。 d3のセルの下と右の線を消す場合には、 どのようにすればいいのでしょうか? <table border="0" cellspacing="1" cellpadding="2" bgcolor="#999999"> <tr> <td bgcolor="#f9f9f9">A</td> <td bgcolor="#FFFFFF">B</td> <td bgcolor="#f9f9f9">c</td> <td bgcolor="#FFFFFF">d</td> <tr> <td bgcolor="#f9f9f9">A2</td> <td bgcolor="#FFFFFF">B2</td> <td bgcolor="#f9f9f9">c2</td> <td bgcolor="#FFFFFF">d3</td> </tr> </table> よろしくお願いします
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ORUKA1951
- ベストアンサー率45% (5062/11036)
それがデザインのためでなく、あくまで表だとして・・ 必読>14.1 スタイルシートの概説 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/present/styles.html#h-14.1 ) Web標準だとtableは <table summary="何とかの表" class="t1" border="1"> _<tbody> __<tr> ___<td> ___<td>A</td> ___<td>B</td> ___<td>c</td> ___<td>d</td> __</tr> __<tr> ___<td>A2</td> ___<td>B2</td> ___<td>c2</td> ___<td>d3</td> __</tr> _</tybody> </table> となります。簡単なスタイルシートでデザインします この場合でしたら、 table.t1{ _border-collapse:separate;/* tableを分離モデルで描画 */ _border-spacing:1px;/* セルの間隔 */ _background-color:#999999;/* 表の背景色 */ } table.t1 td{ /* 詳細度[12] */ _border:solid 2px black; /* セルの外枠 */ _background-color:yellow;/* セルの背景色 */ } table.t1 td+td{ /* 2列目のセル 詳細度[13] */ _background-color:#FFFFFF; _color:red; } table.t1 td+td+td{/* 3列目のセル 詳細度[13] */ _background-color:yellow; _color:black; } table.t1 td+td+td+td{/* 4列目のセル 詳細度[13] */ _background-color:#FFFFFF; _color:red; } table.t1 tr+tr td+td+td+td{ /* 2行目4列目のセル */ _border-width: 2px 0 0 2px; --> ★IE5など古いブラウザを対象に入れるなら、隣接セレクタが使えないのでclass名で指定する。 ★Another HTML-lint gateway ( http://openlab.ring.gr.jp/k16/htmllint/htmllint.html ) ★The W3C Markup Validation Service ( http://validator.w3.org/#validate_by_input ) でチェック済み!! ★タブは_に置換してあるので戻すこと ※IE5以降(わかりやすいかも・・(HTMLは余計なclass名が必要だけどCSSは簡単) <!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.t1{ _border-collapse:separate; _border-spacing:1px; _background-color:#999999; } table.t1 td{ _border:solid 2px black; _background-color:yellow; } table.t1 td.R2,table.t1 td.R4{ _background-color:#FFFFFF; _color:red; } table.t1 tr.L2 td.R4{ _border-width: 2px 0 0 2px; --> _</style> </head> <body> _<h1>サンプル</h1> _<table summary="何とかの表" class="t1" border="1"> __<colgroup span="4" width="50"> __<tbody> ___<tr class="L1"> ____<td class="R1">A</td> ____<td class="R2">B</td> ____<td class="R3">c</td> ____<td class="R4">d</td> ___</tr> ___<tr class="L2"> ____<td class="R1">A2</td> ____<td class="R2">B2</td> ____<td class="R3">c2</td> ____<td class="R4">d3</td> ___</tr> __</tbody> _</table> </body> </html> ※IE7以降(HTMLは簡単だけどCSSはちょっと・・) <!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.t1{ _border-collapse:separate; _border-spacing:1px; _background-color:#999999; } table.t1 td{ _border:solid 2px black; _background-color:yellow; } table.t1 td+td{ _background-color:#FFFFFF; _color:red; } table.t1 td+td+td{ _background-color:yellow; _color:black; } table.t1 td+td+td+td{ _background-color:#FFFFFF; _color:red; } table.t1 tr+tr td+td+td+td{ _border-width: 2px 0 0 2px; --> _</style> </head> <body> _<h1>サンプル</h1> _<table summary="何とかの表" class="t1" border="1"> __<colgroup span="4" width="50"> __<tbody> ___<tr> ____<td>A</td> ____<td>B</td> ____<td>c</td> ____<td>d</td> ___</tr> ___<tr> ____<td>A2</td> ____<td>B2</td> ____<td>c2</td> ____<td>d3</td> ___</tr> __</tbody> _</table> </body> </html>
- 4017B
- ベストアンサー率73% (1341/1821)
HTMLタグのみでは表現出来ませんね。部分的にスタイルシートを設定する方法もありますが、ページ全体を丸ごとCSSで管理した方が簡単だと思います。 ━ ココから ━━━━━━━━━━━━━━━━━━━━━━━━ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Style-Type" content="text/css"> <title>My Website</title> <style type="text/css"><!-- table#my_table, table#my_table tr, table#my_table td { margin: 5px; padding: 0; border: none; border-collapse: collapse; border-spacing: 0; font: inherit text-vertical-align: top; background-color: #fff; } table#my_table td.my_td_01, table#my_table td.my_td_02, table#my_table td.my_td_03 { padding: 2px; border: 1px solid #000; } table#my_table td.my_td_01 { background-color: #eee; } table#my_table td.my_td_02 { background-color: #fff; } table#my_table td.my_td_03 { background-color: #fff; border-right: none; border-bottom: none; } --></style> </head> <body> <div> <table id="my_table"> <tr> <td class="my_td_01">A</td><td class="my_td_02">B</td> <td class="my_td_01">c</td><td class="my_td_02">d</td> </tr> <tr> <td class="my_td_01">A2</td><td class="my_td_02">B2</td> <td class="my_td_01">c2</td><td class="my_td_03">d3</td> </tr> </table> </div> </body> </html> ━ ココまで ━━━━━━━━━━━━━━━━━━━━━━━━ とりあえず、上記のサンプルで右下のセルのみ、枠線無しに出来ます。後はこれを叩き台にして、色々改造していって下さい。
お礼
ありがとうございました!! HTMLだけでは無理なのですね・・・ cssでがんばってみます。
お礼
詳しくご回答頂きありがとうございました。 cssだと複雑なのですね。 ※IE5以降というのがわかりやすかったです! ありがとうございました。