• ベストアンサー

CSSの文

下記のCSSの文の場合で「. .」ときた場合後ろの「.」にはどういう意味があるのか、 「. :」ときた場合後ろの「:」にはどういう意味があるのかわかりません どなたか教えてくれる人いませんか? #main .menuArea .contentWrap { } #main .tabList:after { }

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4854/10269)
回答No.2

#main .menuArea .contentWrap { なんたらかんたら } は、 #main { なんたらかんたら } .menuArea { なんたらかんたら } .contentWrap { なんたらかんたら } と同じです。 同じ記述をまとめて指定している。 : に特別な意味は無く、:after で意味を持ちます。「after疑似要素」で調べてください。 .tabList:after { content: "XXX"; } とかすると、.tabList の直後に XXX という文字を表示します。

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

その他の回答 (1)

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

.はクラスセレクタです。 要素セレクタのひとつです。 #main .menuArea .contentWrap { } の意味は *#main *.menuArea *.contentWrap { } とまず解釈されます。*は全称セレクタ 半角スペースがありますから 一意セレクタ(HTMLで言うところのID属性値)にmainをもつすべて(*)のタイプ(HTMLで言うところの要素)の子孫(半角スペース)であるところの、class属性の値のリストにmenuAreaを持つすべてのタイプの子孫の、class属性の値のリストにcontentWrapを持つすべてのタイプと言う意味です。 #main .tabList:after { } は、*#main *.tabList:after { }は、同様にmainという一意セレクタを持つすべての要素の子孫である、class属性の値のリスト中にtableListを持つすべての要素の最後(擬似要素)てす。 [詳細度] #main .menuArea .contentWrap { } = *#main *.menuArea *.contentWrap { } =[0,1,2,0] #main .tabList:after = *#main *.tabList:after { } =[0,1,1,1] ですね。  いずれにしても、対象のHTMLが酷いもののようですから、大変そうです。 ・HTMLが文書構造ではなくプレゼンテーションのために書かれている  『構造とプレゼンテーションの分離( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/intro/intro.html#h-2.4.1 )』が考慮されていない。そのため余計に分からなくなる。将来デザインを変えるのが大変そう。 ・スタイルシートがCSS1の時代の古い書き方  基点となるセレクタを書く癖をつけましょう。*はこのルールによって詳細度0のタイプセレクタ(全称セレクタ)として導入されました。 ★セレクタとカスケード処理はCSSにとって最も大事な肝です。これを最初にしっかり身につけないと、HTMLもCSSも酷いものになります。CSSはカスケーディング スタイルシートの略です。カスケーディングを知らなくてCSSは使えるはずがないですよね。 1) まずセレクタ(選択手法)を覚えましょう。次の順番で学ぶと良い  1-1)基点となるセレクタ   1-1-1)全称セレクタ【詳細度[0,0,0,0]】   1-1-2)タイプセレクタ【詳細度[0,0,0,1]】  1-2)つなげるセレクタ   1-2-1)子孫セレクタ(半角スペース)   1-2-2)子セレクタ(>)   1-2-3)隣接セレクタ(+) 1-3)オプション   1-3-1)属性セレクタ【詳細度[0,0,1,0]】   1-3-2)クラスセレクタ【詳細度[0,0,1,0]】・・属性セレクタのひとつ   1-3-3)擬似クラスセレクタ【詳細度[0,0,1,0]】       リンクの擬似クラスと動的な擬似クラス   1-3-4)擬似要素セレクタ【詳細度[0,0,0,1]】・・タイプセレクタと同じ   1-3-5)一意セレクタ【詳細度[0,1,0,0]】 2)ついで、カスケーディング  2-1)継承されるものされないもの  2-2)出所による優先順位  2-3)詳細度の計算  2-4)出現順番 これらを身につけてから、プロパティを学ぶべきですね。  ⇒REC-CSS2 邦訳( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/cover.html )  5.セレクタ   6.値の割り当て、カスケード処理、継承  CSS2の邦訳です。現行のCSS2.1でいくつか改訂されていますが、当面はこれで良いでしょう。  沢山書かれていますが、すぐ理解できると思います。 >「. .」ときた場合後ろの「.」にはどういう意味があるのか、  いずれも肝は半角スペースです。.は*.が省略されている。  #main .menuArea = *#main *.menuArea  *(全称セレクタが省略されている) すべてのタイプ   #main mainというIDを持つもの    [ ]半角スペース その子孫の      *(すべてのタイプ)       .menuArea(クラスセレクタ) >「. :」ときた場合後ろの「:」にはどういう意味があるのかわかりません  :afterは、擬似要素、content:プロパティと併用する

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

関連するQ&A

  • CSSで定格文作成(署名文)について

    今8ページ構成でHPを作成しています。 ページの最後に問い合わせ先として、郵便番号・住所・TEL・メールアドレスを それぞれのページにCSSで入れています。 以下がソースです。 mainstyle.css p.t1:after { content: " ○○グループ"} p.t2:before { content: "(○○課)TEL(111)111-1111 FAX(111)111-1111"} p.t3:before { content: "(○○課)TEL(111)111-1111 FAX(111)111-1111"} p.t4:after { content: "(市外局番からダイヤルして下さい。)"} p.t5:after { content: "〒777-7777 ○○7丁目7番7号"} main.html <body> <p class="t1">問い合わせ先:</t1> <p class="t2"></t2> <p class="t3"></t3> <p class="t4"></t4> <p class="t5"></t5> </body> これだと一行ごとに空白の改行が入ってしまいます。 空白の改行を入れない方法はありますか。 よろしくお願いします。

  • CSSの*はどういう意味

    CSS下記の*はどういう意味なのでしょうか? *を他に変えてCSSを組むことはできないのでしょうか? * { margin: 0; padding: 0; }

    • ベストアンサー
    • CSS
  • CSSを使って定型文を挿入できますか?

    ページが増えてくると、あとから編集するときに大変になってきますよね。 例えばサイトのタイトルを変えたとき、 1ページずつタイトルを変更しようとすると面倒になります。 なので、<title></title>の間にCSSか何かしらを使って定型文挿入する方法はありませんか? これだとCSSで変えるだけですべてのページで適用できますよね? ところでCSSを使う場合、ページ一つ一つでは文字とし検索に反映されますか? というのも、フレームを使うと、ページの文字としてカウントされない弱点があってヒットが上がらない弱点があったりしますよね。

    • ベストアンサー
    • CSS
  • cssの記述 ¥マークについて

    cssで { margin-left: 0\9; margin-right: 0\9; } .main { width: 700px\9; } のように¥マークがあるのですがこれはどういう意味なのでしょうか? htmlをはじめたばかりなのでどなたか教えてください。お願いいたします。

    • ベストアンサー
    • HTML
  • CSSコーディングの際に…

    CSSコーディングの際に… たとえば <div id="container"> <div id="main"> <div id="menu"> <div id="info"> </div> </div> </div> </div> のようなhtml構造がって たとえば #info に何らかのCSSを適用したい場合に、 #container #main #menu #info { font-weight: bold; } などと書く場合があると思うのですが、 この例でいえば、#info を内包するすべてのタグ構造や、そのid、classネーム(#container #main #menu)を 自動的に抽出してくれるようなツールや方法はないでしょうか。 意味不明でしたら加筆しますのでよろしくお願いします。

  • CSSを利用するにあたって

    ホームページをCSSを利用して作りましたが、 ある人(プロではない一般人)にCSSを利用しない方が良いと言われました。 理由は 『CSSをブラウザに対応していない人(切っている人)や CSSファイルがリンク切れする場合もある。』 と言う事らしいのです。 一般的に多くのプロの方々がCSSで作っていますし 全く心配していなかったのですが、考えたらそうかもw 質問 このような事は、多少なりともある事なのでしょうか? もしそうなら head内とかに内部style.cssとして書いたほうが良いのでしょうか? それだったらCSSの意味が少なくなるような...

    • ベストアンサー
    • HTML
  • cssの今、一番旬なブラウザごとに違うcssをかける方法

    現在4つのブラウザでほぼ同じような動作・見栄えをするサイトを制作しております。 4つのブラウザとは(opera ie6 ie7 firefox)です。 そこで、現在、ie6だけで生じる表示崩れがあり、 そのcssの解決方法も発見したのですが、 それを解決すると今度は逆に、opera,ie7,firefoxでエラーが起きてしまいます。 読み込んでいるのは、一つの外部cssファイル、main.cssです。 現在考えられる解決方法としては、 1.ie6だけにcssを掛けるハック?  この場合、どのようにハックをかければいいのでしょうか。  色々しらべましたが、スターハックなど、現在使って良いハックというのは何になるのでしょうか。 具体的なcssコードは、以下です。 #pull a:hover{ display:block; /*以下ie6だけに指示したい命令 現状コメントアウトしています*/ /*margin-bottom:-20px;*/ } 2.ie6だけ別の外部cssファイルを読み込ませる。  ブラウザ毎に違うcssファイルを読み込ませることってできるのでしょうか。  (javascriptで判別するのでしょうか?) ie6 なら、main_ie6.cssを読み込み、 それ以外のブラウザなら main.cssを読み込ませる 一番ベストな方法を教えていただければと思います。

    • ベストアンサー
    • HTML
  • OpenPNE3.4のCSSのパスについて

    OpenPNE3.4のCSSのパスについて お世話になってます。OpenPNE3.4についてご質問です。 インストールがなんとか終了して、ブラウザからアクセスできるようになったのですが、CSSが適用されず困っています。添付画像の状態です。 PC用ページのログイン前もログイン後も、ブラウザからソースを確認すると下記の記述がありました。 <link rel="stylesheet" type="text/css" media="screen" href="/opSkinBasicPlugin/css/main.css" /> 次に、FireBugの接続タブのCSSを確認すると上記の記述で参照している考えられる main.css の ステータスが 404 NotFound となっています。 ソースにはCSS参照の記述があるので、通常インストール直後にはデフォルトのスタイルが適用された状態になるかと想像できるのですが、どのような問題が考えられますでしょうか? また、パスを通すにはどこを変更すればよいか詳しい方みえませんか…? 以上、お手数おかけいたしますが、よろしくお願いいたします。

  • CSSで微妙にずれる

    CSSで微妙にずれる こんにちは、最近HPを作成するようになった初心者です。 あるフリーサイトのCSSを雛形としてHPを作成したのですが、 (TOPとMENUとMAIN(コンテンツ)とFOOTERの4構成 MENUは左でMAINが右) ブラウザの枠の中にFOOTER部分が表示されると (上下に短いコンテンツ) 微妙に左(多分3PXぐらい)に、ずれて表示されてしまいます。 この様な、場合原因の部位を特定するには、どの様なアプローチを 行えばよろしいのでしょうか? 教えていただけるとありがたいです。 ちなみに、FOOTERのHTMLは <div id="footer"> <address>Copyright &copy; 2010 XXXXX All Rights Reserved.</address> </div> で、 CSSは div#footer { clear:both; margin:0 20px 0 20px; } です

  • frameでのcssの変更する方法

    frameを使ってmain.html、menu.htmlを表示し、menu.htmlからmain.htmlのcss(外部)を変更する方法を教えてください。 frameのnameはmain.html→main、menu.html→menu、main.htmlのcssのidはmain、で指定してあります。 以下サンプルです frame.html <html> <head> </head> <frameset rows="50,*"> <frame src=main.html name="main"> <frame src=menu.html name="menu"> </frameset> </html> main.html <html> <head> <link rel="stylesheet" type="text/css" href="a.css" id="main"> ←(a.cssをb.css変更したい) </head> <body> </body> </html> menu.html <html> <head> </head> <body> </body> <a href="#">変更トリガー</a> </html>