• ベストアンサー

スタイルシート/idの入れ子でid?

以下のようなCSSがあったとして、上の「#cHead」はうまくいったのですが、その後の応用がわかりません。たとえば、最後の「#cWeek」などは、反映されず、「#cHead」のテキスト位置とフォントサイズ、太さなどが反映されてしまいます。 html部分では、「#cWeek」はdivで「#cHead」でに囲まれています。 #cHeadの中に別のスタイルシートを設定するにはどうしたらよろしいでしょうか? #cHead {width:outo; text-align: center; font-size: 10pt; font-weight: bold;    background: #FFFFFF url(/img/bg.gif) repeat-x top; border: 1px solid #C4DCFA;} #cWeek {font:#ff0000;} ----------------------------------------------------- 【html部分】 <div id="cHead"> カレンダー <div class="cWeek"> 日月火水木金土 </div> </div>

noname#53914
noname#53914
  • HTML
  • 回答数5
  • ありがとう数1

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

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

下は class をセレクタに使ってるから .class { ... } と指定しないとダメなんじゃないかなぁ?

参考URL:
http://www.w3.org/TR/CSS1#class-as-selector

その他の回答 (4)

  • NTJ
  • ベストアンサー率44% (46/103)
回答No.5

っていうか・・・  id : 一つのHTML内で一箇所のみ許される  class : 多数の項目で使用できる なので・・・ <style> .cHead {   ←id指定からclass指定へ変更 width:auto; ←スペルミス修正 text-align:center; font-size:10pt; font-weight:bold; background:#FFFFFF url(/img/bg.gif) repeat-x top; border: 1px solid #C4DCFA; } .cWeek { color:#ff0000; } </style> <div class="cHead"> カレンダー <div class="cWeek"> 日月火水木金土 </div> </div> このほうが良くないでしょか? id指定 class指定混在させると、結局自分が訳わかんなくなっちゃいますから。 それにclass指定のみなら、カレンダーを複数に増やしたい場合にも、そのまま再利用できますからねぇ。 #・・・世の指南サイトでid指定が幅を利かせてるのは、ど~ゆぅ訳なんだろう・・・?

  • partita
  • ベストアンサー率29% (125/427)
回答No.4

後に書いたものが反映される、というわけではありませんよ。 #cHead .cWeek {font:#ff0000;} と書いたら解決しませんか? 【原理】 #cHeadと.cWeekでは、font属性が競合しています。この場合、ID属性のほうがCLASS属性よりも優先されます。 もしも #cHeadと#cMainのように両方ともID属性であれば後に書かれたものが反映されます。 詳しくは調べてみてね。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

×#cWeek {font:#ff0000;} ○.cWeek {color:#ff0000;} ってこと?

noname#65286
noname#65286
回答No.2

スタイルシートのお約束違反ですね #abc ・・・ id="abc" とした場合適用されます。本来はページの中で1回だけ使用できます。 .def ・・・ class="def" とした場合適用されます。ページの中で複数回使用することができます。 質問の内容では、idで定義したスタイルをclassで適用しているので反映されません

noname#53914
質問者

補足

#cWeek {font:#ff0000;} の部分は私の写し間違いでした。 「.」に変えてもいかなかったので、「#cHead」の囲いの 外側に出してみたら、反映されました。 結局「#cHead」の中では「.cWeek」は反映されなかったのですが…

関連するQ&A

  • スタイルシートのオブジェクト志向的な書き方ってありますか?

    次のような背景画像部分だけが異なる場合、 .MY_TABLE_1 { position: static; height: 15; color: #ffffff; background-color: #ffffff; background-image: url('bg_title_blue.gif'); font-family: MS UI Gothic; font-weight: normal; font-size: 12; text-indent: 10; border-left: thin groove #cccccc; border-right: thin groove #666666; border-top: thin groove #cccccc; border-bottom: thin groove #666666; padding: 0 } .MY_TABLE_2 { position: static; height: 15; color: #ffffff; background-color: #ffffff; background-image: url('bg_title_yellow.gif'); font-family: MS UI Gothic; font-weight: normal; font-size: 12; text-indent: 10; border-left: thin groove #cccccc; border-right: thin groove #666666; border-top: thin groove #cccccc; border-bottom: thin groove #666666; padding: 0 } これをまとめて、 .MY_TABLE_BASE { position: static; height: 15; color: #000000; background-color: #ffffff; font-family: MS UI Gothic; font-weight: normal; font-size: 12; text-indent: 10; border-left: thin groove #cccccc; border-right: thin groove #666666; border-top: thin groove #cccccc; border-bottom: thin groove #666666; padding: 0 } .MY_TABLE_1 { ほにゃらら background-image: url('bg_title_blue.gif'); } .MY_TABLE_2 { ほにゃらら background-image: url('bg_title_yellow.gif'); } というようにまとめて指定する方法はないのでしょうか???

    • ベストアンサー
    • CSS
  • CSS:スタイルシートでテキストリンク

    教えてください!! 外部ファイルのスタイルシート(CSS)を使って、各ページへジャンプするテキストリンクをマウスオーバー時に太字になるように設定しています。 IE6.0では問題なく起動していますが、NS7.1,Firefox1.0では、機能していません。何か対処方法はないでしょうか? ↓私の記述は以下の通りです↓ 【外部ファイルへのリンクの記述】 <link rel="stylesheet" type="text/css" href="../menu.css" title="menu" /> 【外部ファイル内のCSSの記述】 .menu { font-family: "MS Pゴシック", Osaka; font-size: 12px; font-style: normal; line-height: 14px; color: #FFFFFF; text-decoration: none; } .menu a:link { color: #FFFFFF; text-decoration: none; } .menu a:visited { color: #FFFFFF; text-decoration: none; } .menu a:hover { color: #FFFFFF; font-weight: bold; text-decoration: none; } .menu a:active { color: #FFFFFF; font-weight: bold; text-decoration: none; }

  • スタイルシート

    #Area_Login table .tbl { margin-left: auto; margin-right: auto; border: solid 1px #FFFFFF; background-color: #000000; } #Area_Login table .tbl th { text-align: center; font-size: 12pt; background-color: #AFB4DB; height: 15px; } #Area_Login table .tbl td { text-align: center; font-size: 11pt; background-color: #AFB4DB; border: solid 1px #FFFFFF; } <div id="Area_Login"> <table class="tbl"> <tr> <th><th> <tr> <td></td> </tr> </table> </dib> 上記ソースなのですが、テーブルが中央に配置されなくて困っています。 どなたか教えていただけませんか?

    • 締切済み
    • CSS
  • Firefoxでのスタイルシートの記述について

    Firefoxでのスタイルシートの記述について 4つの文字を配置するために (1) font-size:18px; font-weight:bold; color:#000000; margin:127px 72px 0px 40px; (2) font-size:18px; font-weight:bold; color:#000000; margin:64px 72px 0px 40px; (3) font-size:18px; font-weight:bold; color:#000000; margin:101px 72px 0px 40px; (4) font-size:18px; font-weight:bold; color:#000000; margin:65px 72px 0px 40px; と指定しました。IEでは思った位置になったのですが Firefoxでは(2)(3)(4)が下のほうにずれてしまいました。Firefoxに合わせるとIEでの位置が上にずれてしまい頭を悩ませています。 記述の間違いや、アドバイスなどあれば教えてください。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • ブログのTOP画像表示方法(悩んでます)

    どこをどう変えればTOPに画像をつけるコトが出来るのでしょうか?? ホントに悩んでます。 検索してもよくわからなくて・・・ body { font-family: Arial, Helvetica, sans-serif; background-color:#ffffff; background-image:url(http://269g.jp/img/bg/nail_style_1/bg.gif); background-repeat:repeat-y; margin:0px; padding:0px; text-align:center; } #container{ text-align:right; margin:0px auto 0px auto; width:906px; height:596px; background-image:url(http://269g.jp/img/bg/nail_style_1/top.jpg); background-repeat:no-repeat; background-position:center top; background-color:#ffffff; } h1 { text-align:left; margin:0px 0px 0px 0px; padding-top:225px; font-weight:bolder; font-family:sans-serif; font-size:19px; } h1 a{ color:#58B29A; text-decoration: none; font-family:sans-serif; font-weight:bolder; } h2 { padding: 0px; font-weight:bold; font-size:14px; text-align:left; font-family:arial, Helvetica; } h3 { padding: 5px 0px 10px 3px; font-size:14px; font-weight:bolder; font-family:arial, Helvetica; } H3 a{ text-decoration: none; }

  • スタイルシート font-familyについて

    ブログのスタイルシートをいじっているのですが、ブログの記事名、ブログ本文のフォントをComic Sans MSにしたいと思っています。 それでフォント名をComic Sans MSに指定するのですが、反映されません。 また、試しにHGP行書体にすると、きちんと反映されました。 他の「カテゴリー」「コメント」等、サイドメニューの書体はちゃんとComic Sans MSに変わります。 どうすれば、Comic Sans MSになるのでしょうか。 初心者なので、どこが間違っているのかが分かりません。 下は私の作っているスタイルシートです。 div.article_subject { color: #000000; font-size: 22px; font-weight: bold; font-family: Comic Sans MS,"MS Pゴシック",Arial,Helvetica,sans-serif; } よろしくお願いいたします。

    • ベストアンサー
    • CSS
  • スタイルシートでの文字位置の指定

    正方形の中心に文字があるようなデザインにしたくて 次のように記述したのですがうまくいきません。 .text{ height : 160px; width : 160px; color : #FFFFFF; padding: 0px; margin: 0px; background-color: #6C3C1F; font-size: 15pt; text-align: center; vertical-align: middle; font-weight: bold; } 横位置はきちんと中央揃えになりますが、 縦の位置は文字が正方形内で上揃えになってしまいます。 どうすれば希望のデザインにできるか教えてください。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • ホームページビルダーでスタイルシートを使ったのですが?

    今、ホームページビルダーで簡単な2カラム(右メニュー)のテンプレートを作っています。 質問ですが、メニューバー(サイドバー)に色を付けたくて、画像を使う事にしました。 <div class="main">に画像(background.gif)を入れ属性で繰り返す(垂直方向)にチェックをいれたのですが、IEやfirefoxでプレビューでは反映されていないです。 色々いじってみたのですがどうしても解りません。どこが間違っているのか教えていただけないでしょうか? よろしくお願いします。 HTML <body> <div class="box"> <div class="header"> <span class="site_name">ここにサイト名を入れる</span> <h1>ここにh1</h1> <div class="description_1">ここに簡単な説明文</div> </div> <div class="main"> <div class="contents">コンテンツ部分<br /> </div> <div class="menu"> メニュー部分 </div> </div> <div class="footer"> フッター部分 </div> </div> </body> スタイルシート * { margin:0; padding:0; } .box{ width : 750px; margin: 0 auto; border-left-width : 1px; border-left-style : solid; border-left-color : black; border-right-width : 1px; border-right-style : solid; border-right-color : black; border-bottom-width : 1px; border-bottom-style : solid; border-bottom-color : black; } .header { width : 726px; height : 96px; background-color : #b9b9ff; padding-top : 12px; padding-left : 12px; padding-right : 12px; padding-bottom : 12px; border-bottom-width : 2px; border-bottom-style : solid; border-bottom-color : black; } .main { width : 750px; background-image : url(file:///C:/Documents and Settings/※※※/img/background.gif); background-repeat : repeat-y; background-position : 0px 0px; margin-top : 0px; margin-bottom : 0px; margin-left : auto; margin-right : auto; background-color : #ffffff; } .menu { float: left; width : 180px; padding-top : 10px; padding-left : 10px; padding-right : 10px; padding-bottom : 10px; margin-left : auto; margin-right : auto; } .contents { float: left; width : 526px; padding-top : 12px; padding-left : 12px; padding-right : 12px; padding-bottom : 12px; } .footer { clear: both; width : 726px; height : 26px; background-color : #b9b9ff; padding-top : 12px; padding-left : 12px; padding-right : 12px; padding-bottom : 12px; text-align : center; } .menu ul { list-style: none; } .site_name{ font-size : 21px; font-weight : bold; margin-left : 12px; } h1{ font-size : 15px; margin-top : 12px; margin-left : 24px; } .description_1{ font-size : 12px; font-weight : normal; margin-left : 24px; }

  • 外部スタイルシートで色を指定したいけど、画面に反映されません。

     前に、外部スタイルシートが読み込めずに困っている旨の質問をしました。  おかげさまで、「 拡張子を表示しない 」のチェックを外したところ、  読み込めない原因を突き止めることができました。<(_ _)>    今回は、色の指定に関する質問です。  h1、h2及びh3に関し、  フォント(文字)のサイズ、ウェイト、字体は上手く反映されています。  なのに、色だけが反映されません。  スタイルシートには、次のような形でに記述しています。 h1{ font-size: 12px; font-weight: normal; font-color: #ff1493; } h2{ font-size: 28px; font-weight: normal; font-family: serif; font-color: #c0c0c0; } h3{ font-size: 20px; font-weight: bold; font-family: serif; font-color: #c0c0c0; }  html上は<h1>〇〇</h1>と記しています。  次の方法でも試してみましたが、色は黒のままです。 (スタイルシート) h1.deeppink{ font-color: #ff1493; } (html) <h1 class="deeppink">〇〇</h1>  いったい、どこに原因があるのでしょうか?  わかる方がいらっしゃいましたら、ぜひ回答をお願いいたします。m(_ _)m  ちなみに、html上は<div id="□□"></div>を使い、  スタイルシート上は#□□{ width: 752px; … }と記載しています。  心より、的確な回答をお待ちしております。

  • スタイルシートでサイト作り

    現在サイトをスタイルシートを使って作ってます。 まだまだ本&辞書片手に勉強中の初心者です。 幅450px高さ100%中央配置のテーブル内に ヘッダー部分に450px × 130pxの画像 その左下にメニューバー 右にコンテンツ を作りたいと思います。 メニューバーは 幅128px 高さ100%です。 本を見ながらアレンジして作りました。次の通りです。 /* === サイドバー部分のスタイル === */ .side {width:128px; vertical-align:top; padding:0px; background-color:#999999} .side div {font-size:12px; font-weight:bold; letter-spacing:3px; border-bottom:solid 1px white} .side a {color:#333333;  text-decoration:none; display:block; padding-top:5px; padding-bottom:5px; padding-left:13px} .side a:hover {color:ffffff; background-color:#666666} <!--=== サイドバー部分のソース ===--> <td class="side" rowspan="5" valign="top"> <div><a href="link.htm">about</a></div> <div><a href="link.htm">contents</a></div>   <div><a href="link.htm">blog</a></div>   <div><a href="link.htm">bbs</a></div>   <div><a href="link.htm">link</a></div> </td> リンクにふれると色が変わるのが気に入ってます。 この「link」の下にコメントとリンクを入れたいんですが 「拍手」ボタン <form>・・・</form> 「返事はこちら」  というコメント(「こちら」部分がリンク) をセルで囲って、画面下までのばしたいです。 いろいろ試したんですが、新しく作ったセルが横に並んだり <side>の a の影響を受けてしまったりして思ったように出来ません。 どうぞ御指南お願いします。

専門家に質問してみよう