• ベストアンサー

CSSでID等が何もないtableブログパーツを編集したい

こんにちは。 ブログのパーツをCSSを使って編集したいのですが、 編集したいパーツのTABLEには、IDなどが設定がされていません。 css初心者のため、まだ手探り状態です。 ページの形は、以下のように配置されています。 1.編集できるパーツ(HTML・CSS入力可) 2.編集できないテーブル 3.編集できるパーツ(HTML・CSS入力可) 編集したいのは2.のテーブルでしてHTMLは、 <table width="100%"> <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr> </table> みたいな感じです。 このテーブルのセルに、padding、borderなどを設定したいのです。 CSSの中に、 td { vertical-align: top; } とすることで上揃えのみは影響なくできましたが、 borderは、その他のセルにも大きな影響を与えてしまうためできません。 他に考えたのですが、divを使って、divに囲まれたテーブルなどを cssで編集するようなことはできませんでしょうか? 1のパーツの最後に <div ####(IDみたいな?)>と開始を入れて、 2のパーツの冒頭で</div>と することで、divで囲まれたテーブルにするような方法は可能ですので、 cssにあらかじめこのdivの情報を入れておけば、 このdiv内のテーブルのレイアウトが変更できるのではないかと考えたのですが・・・・。これって無理な話なのでしょうか? 色々やってみたのですが、cssを勉強し始めて1週間では分かりませんでした。 他にこういうことをすれば編集できる可能性があるなどの情報があれば 教えてください。よろしくお願いします。

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

  • ベストアンサー
  • abril
  • ベストアンサー率69% (388/560)
回答No.2

> 1のパーツの最後に <div ####(IDみたいな?)>と開始を入れて、2のパーツの冒頭で</div>とすることで、divで囲まれたテーブルにするような方法は可能ですので、 こういうマークアップをはき出す事が可能だというのであれば、 > cssにあらかじめこのdivの情報を入れておけば、このdiv内のテーブルのレイアウトが変更できるのではないかと考えたのですが 理論上、上記のお考えで間違ってはいません。 <div id="hoge"> <table width="100%"> <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr> </table> </div> というマークアップであれば、CSS側に div#hoge table { border: 1px solid #000; padding: 5px; } という様に指定すれば、その他のtableに予め与えられているスタイルに影響する事なく、idセレクタで個別のdivを親要素に持つtable毎に自在なスタイルに編集する事は可能な筈です。 なので、 > 色々やってみたのですが、cssを勉強し始めて1週間では分かりませんでした。 とおっしゃっている、という事は「この方法」は実際には試しておられないのですね?とりあえずトライしてみては?

sgmsgm
質問者

お礼

ありがとうございました! Dreamweaverで編集していましたが、CSSが編集画面で反映されず悩んでいたところ、プレビューしたら反映されていました。 しかしながら、実際にやってみると、実はもうひとつ挫折がありました。 1.の編集できるパーツのHTMLが、ページ上のテーブルの中にあったのです。 <td class="****">編集可能なHTML</td></tr></table> いくらやっても出来ないので、それが原因かと思いまして、 HTMLに以下のように書いていったんTableを閉じました。 </td></tr></table> それから、 <div id="hoge"><table><tr><td> として閉じたtableを復活させてあげると、何とか繋がりました。 しかし結局は、編集可能なHTMLのあとに、こうしたtableのタグがあったり、結局それらにもボーダーが付いてしまうことに。 しかしながら、必要最低限のレイアウトを整えるところまでは何とか成功できました。 今の段階ではこれで満足とし、その編集不可のtabelに、 cssのIDなんかが付くことを期待します。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

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

<div id="sample1"> テーブル </div> <div id="sample2"> テーブル </div> って構成だと、 #sample1 table { ~ } #sample2 table { ~ } あるいは #sample1 td { ~ } みたいな書き方で id="sample1"の子孫のtableとid="sample2"の子孫のtable id="sample1"の子孫のtd、 に対して作用するスタイルを書く事ができます。(子孫セレクタ) 「セレクタ」について知っているとidやclassを無用に付けなくて済む事がありますので一度調べておくといいかも。 http://hp.vector.co.jp/authors/VA022006/css/selector.html

sgmsgm
質問者

お礼

ありがとうございます!大変助かりました!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • tableの外枠をCSSで表示させない方法

    HTMLで作ったテーブルの外枠の縦線をCSSで表示させないようにしたいのですが可能でしょうか? HTMLはさわらずにできる限りCSSでやりたいと思い、いろいろ試してみましたがうまくいきませんでした。 線種はsolidを使いたいです。 よろしくお願いいたします。 <html> <head> <title>css table</title> <style type="text/css"> <!-- table.sample { width:550px; height:auto; border:solid 1px; border-collapse:collapse; border-left:none; border-right:none; } .sample th { width:100px; border:solid 1px; } .sample tr { border:solid 1px; } .sample td { border:solid 1px; } --> </style> </head> <body> <table class="sample" frame="hsides"> <tr> <th scope="row">&nbsp;</th> <td>&nbsp;</td> <td></td> <td></td> </tr> <tr> <th scope="row">&nbsp;</th> <td>&nbsp;</td> <td></td> <td></td> </tr> <tr> <th scope="row">&nbsp;</th> <td>&nbsp;</td> <td></td> <td></td> </tr> <tr> <th scope="row">&nbsp;</th> <td>&nbsp;</td> <td></td> <td></td> </tr> <tr> <th scope="row">&nbsp;</th> <td>&nbsp;</td> <td></td> <td></td> </tr> </table> </body> </html>

    • ベストアンサー
    • CSS
  • CSSでテーブルを表示させるには

    CSSでテーブルを表示させたいのですが、やり方が分かりません。教えてください。 現在は、HTMLで以下のように記述しています。 -------------------------------------------------------- <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td bgcolor="#000000">テキスト</td> </tr> </table> -------------------------------------------------------- 具体的には、クラスを指定して、<div class="table">テキスト</div> と記述したときにテーブルを表示させたいです。 回答よろしくお願いします。

    • ベストアンサー
    • CSS
  • FireFox2.0でCSSを使ってテーブルそのものをセンタリングしたい

    IE6だと #wrapper { text-align: center; } <div id="wrapper"> <TABLE border="1"> <tr><td>テキスト</td></tr> </table> </div> とやればテーブルそのものがセンタリングされるのですが、 FireFox2.0だと左に寄ったままです。 CSSを使わずに<center>で囲めばセンタリングされますが、 そうではなくてCSSを使ってやるやり方はないでしょうか?

    • ベストアンサー
    • HTML
  • CSSの設定方法について

    CSSは外部ファイルにし、十数枚あるHTMLに「div id=contents内にあるTableは全て共通のレイアウト」 となるよう下記のCSSを設定しました。 --------CSS----------------------------------------- #contents{margin-left: 70px;} #contents table{width: 650px; border: solid 1px #B1B2B2; border-collapse: collapse; margin: 15px 0px;} #contents tr, td ,th{padding: 4px; border: solid 1px #B1B2B2; border-collapse: collapse;} --------HTML----------------------------------------- <div id="contents">  <table>   <tr>    <th>項目</th>   </tr>   <tr>    <td>項目1</td>   </tr>  </table> </div> ------------------------------------------------------- しかし、どうしても違うレイアウトにしたいTableが出てきた為、下記CSSを追加、 HTMLは<div id="contents">の部分を<div id="login">に変更したのですが 追加CSSが反映されず、id=contentsの設定が残ったままになってしまいます。 色々いじってみたのですが、どこが間違っているのやら皆目見当がつきません。 --------追加CSS----------------------------------------- #login{text-align: center; } #login table{width: 450px; border: solid 2px #666666; border-collapse: collapse;} #login tr, td ,th{border: solid 1px #666666; border-collapse: collapse;} --------HTML----------------------------------------- <div id="login">  <table>   <tr>    <th>項目</th>   </tr>   <tr>    <td>項目1</td>   </tr>  </table> </div> 拙い文章で恐縮ですが、ご助言いただけると大変助かります。 説明不足や意味不明箇所は補足させていただきますので、どうぞよろしくお願い致します。

    • ベストアンサー
    • HTML
  • CSS で横に並べるには

    CSS 初心者です。 □□ 上記のように横に表示させたいのですがうまくいきません。 <div>で方法ないものでしょうか? つまり <CENTER> <TABLE BORDER="1"> <TR> <TD>●</TD> <TD>■</TD> </TR> </TABLE> </CENTER> のような感じです。 ●には普通にHTMLページを ■にはフレームペーを入れたいと思っています。 cssでなくてもかまいません。フレームでも可です。 ただテーブルを中央寄せ(センタリング)にしたいんです。 よろしくお願いします。  

  • シンプルなコードなのにテーブルにCSSが適用されない・・・

    今回思い悩んで質問させて頂く事となりました。 すごい単純に書いてるつもりなのですが テーブルに着色 (青) (赤) が適用されません。 当方、本一冊の独学でやっているので大ポカと思うので ご指摘頂ければと思います。 以下コードです。 ------------------------------------------------ <title>無題ドキュメント</title> <style type="text/css"> <!-- #blue tr {background-color:blue;} #blue td {background-color:blue;} #red tr {background-color:red;} #red td {background-color:red;} --> </style> </head> <body> <table width="200" border="1"> <div id="blue"> <tr><td>&nbsp;</td></tr> </div> <div id="red"> <tr><td>&nbsp;</td></tr> </div> </table> </body> Dreamweaver上では着色されるのですが・・・ どなたかご教授お願い致します。

    • ベストアンサー
    • HTML
  • CSSファイルにするには2

    HTMLファイルを文章構造にし、この<table border= "1">をCSSファイルでHTMLファイルに出力するためにはどうしたら良いでしょうか?お願いします。条件は、HTMLファイルに<div class="t3"> という形にし、CSSファイルにはt3{}という形にしたいことです。枠にしたいのは次のとおりであます。 <table border= "1"> <tr><td> &nbsp;&nbsp;&nbsp;&nbsp;answer1,answer2:string<b  writeln( 'Are you interested in ancient ruins?') <br> end. </td></tr> </table>

  • CSSで高さ100%のレイアウト

    テーブルを使用せずCSSでのレイアウトなのですが フッター位置をブラウザの一番下にマージン無しで指定したいのですが出来ません。 テーブルでは <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td valign="top">内容</td> </tr> <tr> <td valign="bottom">フッター</td> </tr> </table> というように指定していたのですが CSSでのレイアウトはHTMLを <div id="container"> <div class="content">内容</div> <div id="footer">フッター</div> </div> .CSS では #container { height: 100%; } は無効なのでしょうか? 他のやり方でもフッターをブラウザの一番下にマージン無しでレイアウトできる方法があったら教えて下さい。

    • ベストアンサー
    • CSS
  • 外部CSSを使ったテーブルが作りたいのですが・・・。

    以前こちらで質問させて頂いて、「スタイル作りはCSSで」、と教えて頂き、CSSの勉強を始めました。 早速壁に当たっていまして、お知恵を拝借したいです。 外部CSSファイルに、ul.gaibu{color:ff0000}と記すと、 HTMLファイルに<ul class="gaibu">ここは赤で表示</ul> となる事は出来たのですが、 テーブルの場合、 外部CSSファイルにdiv#table{設定値}を記し、 HTMLに<div id=table>とすると、外部CSSの設定値が反映されましたが、 <tr>や<td>の内容をどう設定して、HTMLにどう記載すれば反映するかが分かりません。 因みに外部CSSに tr.table1 {border:1px #333333 solid; line-height:25px; padding-left:10px; paddting-right:10px; text-align:left; vertical-align:middle} と記載し、HTMLの方に <tr><td class="table1">表1</td><tr>としましたが、 CSSの内容は反映されていません。 宜しくお願い致します。

  • CSSのテーブルの件で

    はじめまして よろしくお願いいたします。 CSSでテーブルを作っているのですが うまくいきません 作りたいのは下記のようなテーブルです ┌───────┐ │ A  │ B   │ └───────┘ 点線ではなく普通の線で構いません 大きなテーブルの幅が500pxとして Aを200px Bを300px にしたいのです テーブルのIDは「table2」にしています <外部CSSの部分> #table2{border:1px solid #000000; width:500px; } #table2 th{border:1px solid #000000; width:200px; } #table2 td{border:1px solid #000000; width:300px; } <htmlの部分> <table id="table2"> <tr> <td></td> </tr> </table> 色々やってみたのですが うまく行きません 詳しい方教えて頂けないでしょうか? どうぞよろしくお願いいたします。

    • ベストアンサー
    • HTML