• ベストアンサー

html上でのtableのborder指定

htmlにstyleを用いてtableのborderを適用させる方法を教えて下さい。 cssが使えないのでhtmlに指定させたときに、各セルごとだけにボーダーを適用させる方法はありませんか? 各セルの個数がバラバラなので、tableに指定すると、大きい外枠にborderが付いてしまいます。 画像のような形にしたいのですが、教えて下さい。

  • HTML
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • DrFell
  • ベストアンサー率55% (305/551)
回答No.3

style=css=スタイルシートです。質問がなりたちません。 質問もあやふやな部分が多くもう少し、詳しく説明いただかないと、cssをどの意味で使っておられるのかわからないです。 スタイルシートは、 1.別ファイルに書く方法 2.head内に書く方法 3.出てきた文中にかく方法 の3つがあります。どれもスタイルシートで、cssです。3.の方法はスタイルシートとしては、もっとも恩恵を受けない、避けるべき方法ですが、それをご希望とも取れます。 個別に対応するには、今回の場合、 1.tdだけに罫線を引く方法(すべてのtdに罫線を付ける) 2.tdにクラスを付ける方法(tdの中でも区別したtdに罫線を付ける) 3.文中(インライン)のtdに書く方法 があります。 つまり、別ファイルに書いたり、ページに1回だけ書くcssでも、特定のtdにだけ罫線を付けることは可能です。 どのスタイルをとるにしても、 border:1px solid #999; で適用できると思います。 もっともcssの恩恵が少なく、避けるほうがよいが、質問で求めているのは <td style="border:1px solid #999"> かな?と思います。 が >各セルの個数がバラバラなので、tableに指定すると、大きい外枠にborderが付いてしまいます。 これが原因でcssが使えないと思っておられるなら、誤解ですので、もっとよい方法別ファイルのcssに各方法をお勧めします。そして本当に、cssが使えないなら、どの方法も有効になりません。今回どこを誤解されているのかわからず、エスパーしてみました。外していたらスルーください。

ennbosu
質問者

お礼

ありがとうございました。 cssの考え方が間違っていました。 お教えいただいた通り”文中への表記方法”が分かりませんでした。 CSSが使えないというのは外部スタイルシートが適用できないという意味です。 htmlの文中に直接書く方法もcssにあてはまるのですね。 <td style="border:1px solid #999"> でうまくボーダーが表示できました。 ありがとうございました。

その他の回答 (2)

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

「CSSが使えない」とはどういう意味ですか? borderは継承されるプロパティではありませんから、その子孫であるtr,th,tdにはborderは付きません。HTMLのborder属性とは違います。 よって、 CSSで指定するなら、 table{border:solid red 1px;border-collapse:collapse;empty-cells:hide;} table td{border:solid green 1px;} table th{border:solid blue 1px;} とかになります。 <table summary="test">  <tbody>   <tr>    <th abbr="あ行">あ行</th><td>あ</td><td>い</td><td>う</td><td>え</td><td>お</td>   </tr>   <tr>    <th abbr="や行">や行</th><td>や</td><td></td><td>ゆ</td><td></td><td>よ</td>   </tr>  </tbody> </table> だと、 table[summary="test"]{border:solid red 1px;border-collapse:separate;empty-cells:hide;border-spacing:5px;} table[summary="test"] th,table[summary="test"] td{border-style:solid;border-color:black gray gray black;border-width:1px 3px 3px 1px;} {border:solid blue 1px;} とか・・

ennbosu
質問者

お礼

ありがとうございました。 CSSが使えないと言うのは、外部CSSが適用できないという意味です。 自分自身、文中へ直接styleを用いて表記する方法もcssだという事を知りませんでした。 うまく伝えられなかったのに、丁寧にありがとうございました。

noname#158634
noname#158634
回答No.1

CSSが使えないというのはどういう意味だか分かりませんが、tableタグのborder属性によって表示される枠線を任意のセルにだけ適用したいのであれば無理です。

ennbosu
質問者

お礼

ありがとうございました。 書き方が悪く、伝えにくくてすみません。 CSSが使えないというのは外部スタイルシートが適用できないという意味でした。すみません。

関連するQ&A

  • CSSでテーブルボーダーを一発指定出来ません!

    現在テーブルに対してのCSSを設定しているのですが、私の勘違いなのかうまく出来ません・・・。 例えば縦5×横5列の表が有ったとします。 そこにCSSで四方1pxのボーダーを指定します。 でも、これだけだと表の一番外枠部分にしかボーダーが表示されません・・・。(当然なのかもしれませんが) そこで、CSSを使い中のブロック?部分、<td>全てにボーダーを表示させたいのですが、そのようなことは可能なのでしょうか? ようは、表の枠線全てをcssで表示させたいのですが、この様な事は可能でしょうか?? ご存知の方がいましたら、アドバイスいただけますでしょうか? 宜しくお願いいたします。

    • ベストアンサー
    • HTML
  • テーブルのボーダー(枠線)は何で指定したらいいですか?

    テーブルの枠線の指定の仕方について質問です。 HTMLだけで指定するのであれば、 <table border="1"> ~~ </table> といった感じなのでしょうが、CSSも併用している場合、CSSで td{border:solid;] とし、HTMLでは <table> ~~ </table> という風に簡単(?)に書いたほうがいいんでしょうか? なんでも見た目はCSSで定義しろとのことですし、テーブルの枠線ってHTMLとCSSとどっちで定義するのがいいんでしょうか? 分かりにくい質問で申し訳ありません。初心者のため書き足りないところあるかもしれませんが、よろしくお願いします。

    • ベストアンサー
    • HTML
  • CSSでのtableの複雑なborder指定の仕様について

    CSSでのtableの複雑なborder指定の仕様について 現在、以下のようなborder設定を持つtableを作りたいと考えています。 線の太さが違っているのは、border-colorの指定を表しています。 ┏┯┯┳┯┯┳┯┯┓ ┠┼┼╂┼┼╂┼┼┨ ┠┼┼╂┼┼╂┼┼┨ ┣┿┿╋┿┿╋┿┿┫ ┠┼┼╂┼┼╂┼┼┨ ┠┼┼╂┼┼╂┼┼┨ ┗┷┷┻┷┷┻┷┷┛ データ量削減のため、colgroupとtrへのCSS指定だけで、 tdにはCSSを指定しない、という実現方法が理想的です。 ですが、自分で色々と試したものの、どうもうまくいきません。 やむを得ず、tdにCSSクラスを直接指定するにしても、 ある線の色を変えるには、どのtdにどんなCSSを指定すればいいのか、法則が掴めません。 一体どのような仕様になっているのでしょうか。 なお、対応ブラウザはIE6~8のみで構いません。

    • ベストアンサー
    • HTML
  • テーブルでこんなときはどっちの方がいい?

    今、ホームページを作っているのですが、 疑問が出たので、質問させていただきます。 今、テーブルを使ってとても複雑なものを作っているのですが、 縦横10段ぐらいのセルがあって、 とても複雑にセル同士をつないでいます。 テーブルを使ったわけは、 これもまた複雑な外枠にたくさんの画像を使うからです。 そこで、疑問なのですが、 それでしたら、複雑な外枠の画像をCSSの position:relative で位置を指定してしまいたいのですが、 どうでしょうか? ページの重さの面から見て、 どちらの方が軽くなるでしょうか? また、relativeタグで指定したときに デメリットはありますか? ご回答おねがいします。

  • CSSで作ったテーブルのborderが消える。

    こんにちは。 テーブルに、CSSで背景色と、ボーダーをつけています。 セルの中にテーブルを入れ子し、中にテキストボックスやテキストエリアなどフォームを入れているかたちで作っています。 ところが、IEやFirefoxでみると、線が消えてしまう現象が起きるのです。 横の線があまり消えないのですが、とくに縦の線が…ひどいときには中途半端にしかでてこなかったり。 毎回でないわけではなく、でも頻繁にでてきません。 アクセス時に見えなくなり、リロードすると線はでてきます。 なにかこういう現象が置きやすい場合というのがあるのでしょうか? あまりにも多いのでCSSで線をつけるのをやめようかと思いますが、 CSS以外ですとなかなか面倒で… どなたかこういう場合は消えることがある! などありましたらよろしくお願いします。

  • borderに画像は使えるのかどうか。

    cssでボーダーのスタイルを指定する時、 「solid」や「dotted」とか以外に、 画像がリピートするように指定することは可能でしょうか?

  • スタイルシートを使うとボーダー関連設定の挙動が変わる?

    tableタグには、 bordercolordarkと、bordercolorlightがありますが、 スタイルシートには、border-colorしか指定出来ません。 tableタグでbordercolorを指定すると格子状に全体の枠線に反映されるのに対し、 スタイルシートでtableタグにクラス指定でborder-colorを記述しても、外枠しか反映されません。 この変の挙動の決まりがよく分からないのですが、 どなたかお詳しい方はいらっしゃいませんでしょうか? ちなみに、今実現したいことは、 tableに立体感の無い枠線(影なし1色)を付け、各セルを区切る線も同色で書きたいのです。 外枠だけは少し太めにし、一番上の行は見出し行とし、枠線と同色で塗りつぶすので、その塗りつぶしたセルと枠線との間に溝が出来ないようにしたいのです。 また、文字数制限があるので、極力スタイルシートを利用して、同じコードを書かないようにしたいのです。 ややこしくて恐縮ですが、お知恵をお借りしたくお願い致します。

    • ベストアンサー
    • HTML
  • テーブルの線の色が指定できない

    テーブルの線の色が指定できないうえ、最後に宣言したスタイルシートが適用されてしまいます。 理由がわかりません。 <style type="text/css"> table, td, th.bordercolor_white { border: 1px white solid; } table, td, th.bordercolor_red { border: 1px red solid; } </style> <table class="bordercolor_white"> <tr> <td>aaa</td> <td>bbb</td> </tr> </table> このような文だと、 <table class="bordercolor_white">としているのに、 なぜかテーブルの線の色は、赤になってしまいます。 table, td, th.bordercolor_red { border: 1px red solid; } table, td, th.bordercolor_white { border: 1px white solid; } のように、順番を入れ替えると、最後に宣言した白になります。 なので、<table class="bordercolor_white">の部分は無視されるようです。 二つのテーブルの線の色を用意した場合、 任意でテーブルの線の色を付ける方法をご教授ください。

    • 締切済み
    • CSS
  • CSS: テーブル罫線の一括設定

    特定のテーブルで、CSSで内部のセルの罫線の設定を行う場合、 クラスを定義してそれを各 td 要素に一つずつ適用すればできるわけですが、 これを「どこか1か所で適用するだけで全部のセルに自動的に適用される」ようにすることはできるでしょうか。 ページ内の全テーブルに対して適用するのであれば簡単なのですが、 特定のテーブルだけでこのような処理を行う方法がわかりません。 table 要素で罫線関連の設定をしても、外枠にしか適用されませんし・・・ よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • CSSでテーブルセルの大きさ指定したい

    CSS(スタイルシート)を使って セルの大きさを指定したいのですが 自分のもってる本にはHTMLの方法しかのってなく CSSのテーブルの項目にはなぜか書いてません 自分が使っている無料HPサイトではHTMLで 指定しましたが反応ないです CSSでのセルの大きさ指定のやり方教えてください

    • ベストアンサー
    • HTML

専門家に質問してみよう