• ベストアンサー

擬似クラスセレクタについて教えてください。

以下の擬似クラスセレクタですが、本をみてもネットで探しても いまいちその違いがわかりません。 :first-childと:first-of-typeの違い お手透きの際にでも、ご説明いただけると幸いです。

  • CSS
  • 回答数1
  • ありがとう数1

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

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

率直に first(最初の)child(子供) first(最初の)of(の)type(タイプ) <div class="section">  <p>文章(1)<em>強調(1)</em>です。</p>  <p>文章(2)<em>強調(2)</em>です。</p> </div> <div class="section">  <h2>見出し(1)</h2>  <p>文章(3)<em>強調(3)</em>です。</p>  <div class="aside">   <p>文章(4)<em>強調(4)</em>です。</p>   <p>文章(5)<em>強調(5)</em>です。</p>  </div>  <p>文章(6)<em>強調(6)</em>です。</p> </div> div p:first-child em{color:red;}  これで、赤くなるのは、「強調(1)」と「<em>強調(4)」ですね。それ以外のpは、first-childじゃない。 div p:first-of-type em{color:red;}  これだと「強調(1)」「<em>強調(3)」「強調(4)」が赤くなります。その差は、最初の子供か、最初の男の子かということ。

player0499
質問者

お礼

ものすごく丁寧で分かりやすく、すぐ理解できました! ありがとうございます!

関連するQ&A

  • IE6-8で疑似クラスを使いたい

    いつもお世話になっています。 やりたいことは、以下のサイトのアコーディオンメニューです。 http://weboook.blog22.fc2.com/blog-entry-347.html 上記サイトをIE8でみると、問題なく表示されるのですが、 自分が作成したHTMLをIE8で確認すると、Webフォントで 指定した矢印が表示されません。(その他ブラウザはOK) Webフォントそのものは、メニュー以外の場所で表示される ことを確認したのですが、メニュー内では表示できませんでした。 このことから、原因は疑似クラスのafterが効いていないと推測 しています。 上記サイトで疑似クラスを使うためにjQueryを読み込ませている のだと認識していたのですが、違うのでしょうか。 IE6-8で疑似クラスを使用させるためのjs(selectivizr)をダウンロード してきてみたのですが、それでもうまくいきません。 WEBサーバーになにか仕込まないといけないなどあるのでしょうか。 どのようにすれば疑似クラスを使用できるかご教示お願いいたします。 ----------------------------------------------------------- HTML(ヘッダーへの指定部分) ----------------------------------------------------------- <head> <title>タイトル</title> <meta http-equiv="Content-Type" content="text/html;charset=Shift_JIS"> <link rel="stylesheet" href="../css/common.css" type="text/css" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript" src="[JS library]"></script> <!--[if (gte IE 6)&(lte IE 8)]> <script type="text/javascript" src="../js/selectivizr.js"></script> <noscript><link rel="stylesheet" href="[fallback css]" /></noscript> <![endif]--> <script type="text/javascript"> $(function() { $("#accordion li ul").hide(); $("#active").show(); $("#accordion > li > a").click(function(){ var click = $("+ul",this); click.slideDown(); $("#accordion ul").not(click).slideUp(); $(".arrow").removeClass("rotate"); $("> .arrow",this).addClass("rotate"); return false; }); }); </script> </head>

    • ベストアンサー
    • CSS
  • cssハックについて

    現在Safariに対してcssハックを適用させようとしているのですが、 そのハックがなぜか他ブラウザにまで影響してしまいます… (Firefox、Operaなど。IEは大丈夫です) なぜ他ブラウザにまで影響してしまうのかが判らないので、 教えて頂けると嬉しいです。 宜しくお願いします。 htmlに対するcss読み込みの記述--------- <link rel="stylesheet" type="text/css" href="css/importtop.css" /> importtop.css内の記述--------- /* For Specific Browsers */ @import "safari.css"; safari.css内の記述--------------- /* Safari4 */ body:first-of-type #content { height: 635px; } body:first-of-type #container { height: 635px; } body:first-of-type #sidebar { height: 635px; } body:first-of-type #content { height: 635px; } body:first-of-type .sbar { height: 635px; } /* Safari3 */ html:not(:only-child:only-child) #container { height: 635px; } html:not(:only-child:only-child) #content { height: 635px; } html:not(:only-child:only-child) #sidebar { height: 635px; } html:not(:only-child:only-child) .sbar { height: 635px; }

    • 締切済み
    • CSS
  • ドリームウィーバーを使ったセレクタ追加の方法について・・・

    ドリームウィーバーを使ってホームページを作成しています。 http://monodesign.atoria.jp/archives/2006/08/12-231839.php にあるフロートインウインドウを設置したいのですが、「スタイルシート(styles-site.css)に以下のセレクタを追加します。」 というところでつまづいています・・・ ●ドリームのcss新規作成を開くとセレクタタイプが3つでてきてどれにすればいいのかわかりません。 ●定義場所もstyle.cssか新規スタイルにすべきなのか迷っています。 ●名前をstyles-site.cssにしても、「クラス名はオプションのピリオドの後に始めてください。」という表示がでてきてはじかれてしまいます。 色々と調べたのですがわかりませんでした。 お分かりになる方是非ともお力を貸して下さい。 よろしくお願い致します。

  • 国内線のファーストクラスはCAの接客が違いますか?

    以前、同じ質問をしたのですが、あまり適切な回答が得られなかったので、もう一度質問致します。 飛行機の国内線で、JALだとファーストクラス、ANAだとプレミアムクラスに乗ると、 CAのサービスは普通席(エコノミークラス)と比べてどのくらい違うでしょうか。 食事や飲み物等については、ネットで調べて分かるのですが、CAのサービス度などは、良く分かりません。 CAのサービスは、普通席(エコノミークラス)と違うでしょうか? 以前質問したとき、美月あきこ著『ファーストクラスに乗る人のシンプルな習慣』という本を紹介してくれた回答者がいましたが、この本は『国際線』のファーストクラスの話なので、『国内線』のサービスについては、何の参考にもなりません。

  • クラスの勉強中です。

    オブジェクト指向に興味がありクラスの勉強をしています。 現状はぐぐってネット上の情報を参考にしているのですが簡単な説明をしているサイトしか みつからず応用というかいまいち理解を深める事ができません。 今後活用していきたいと思っており詳しく勉強したいのですが近くの本屋に行ってPHPの書籍を 手にとってみてもクラスについての説明はないものが多く仮にあってもあっさりとしたもので いまいち購入に疑問を覚えます。 元々javaの要素なようでjavaの参考書を見たのですが余計混乱しそうでできればPHPの書籍で クラスの説明について極力詳しく書いてある本が欲しいのですがそのような本はご存じないでしょうか?

    • 締切済み
    • PHP
  • ラインセレクター兼パッシブプリアンプの自作について

    現在、市販品(オーディオショップオリジナル)の 4入力1出力のパッシブプリアンプと 1入力4出力&1入力3出力のラインセレクタを組み合わせて オーディオI/F → プリ → 1入力4出力セレクタ → (うち3出力は)アンプ内蔵スピーカ/(残り1出力は)1入力3出力セレクタ → 2つのスピーカ、計5つのアンプ内蔵モニタスピーカに出力してます。 プリとセレクタはRCAです。 当然のことながら、パッシブプリアンプとセレクタを1つに纏めたかったのですが、1入力5出力パッシブプリアンプがなかったために このような接続になってしまいました。 この際、初めての自作プリ&セレクタを作ろうと思ってます。 (プリアンプもセレクタもそれぞれ1~2万したけど、 パーツを調べると同じパーツで自作した方がはるかに安く作れる事を知ったのもあって) 予定は 3入力 5出力 セレクタ兼パッシブプリアンプ(1つのボリューム調整のみあれば良い)です。 入出力共にRCAで構いません。 入力を増やしてPC/CDP/おまけというように3入力の予定です。 純粋なセレクタなら、いろいろ調べると簡単そうな配線ですので 作れそうなのですが、プリアンプは難しそうです・・・ (配線・回路知識がないので・・・) ということで上記の3入力5出力セレクタ&パッシブプリアンプを自作する場合、 必要なパーツはRCAコネクタx8セット(計16個)/内部線材/ロータリースイッチ/ロータリーアッテネータ 以外に何が必要でしょうか? 信号増幅用の基盤を組まないといけないでしょうか? また、ロータリーSWも、何回路何接点のものがよいのか、 アッテネータはどういうものがよいのかも教えてほしいです。 また、こういった物の自作の場合、BOXタイプのアルミシャーシ筐体よりも 全面後面はパネルシャーシ、上下に筐体というやり方がベストでしょうか? 他の方法として、現在のセレクタx2/パッシブプリアンプの パーツを流用すれば、 更に大きいアルミシャーシを用意して 不足分のRCAコネクタと、3入力5出力に適したロータリーSWのみを用意して配線するだけでもいいのではないかな?と思ってます。 (もしかして入力数増えるとアッテネータも変更が必要なのかなぁ・・) 入力切替スイッチも必要になってくるのでしょうか・・・ 現在使ってるパッシブプリアンプ/セレクタは電源なしタイプで A/B/C/Dそれぞれの切り替えで同時出力はないタイプです。 必要なパーツ(作業工具類は除く)を教えていただければ幸いです。 このタイプの制作が困難ならば 純粋に1入力5出力のラインセレクタだけを作って パッシブプリアンプの後に噛ませようと思ってます。

  • 自作オーディオセレクタの、ロータリーSWの選択

    オーディオセレクタを作りたいと考えている初心者です。 各プレーヤーから出力されたラインを、1入力しかないアンプにつなげたいので、セレクタを作ってみたいです。高音質を極めるというよりも、自作の楽しみが主眼です。 現在三つのプレーヤーからの入力の予定があり、さらにもう一つ増えそうです。4回路(LR x2)で4接点のロータリースイッチを使いたいのですが、汎用品では4回路で4接点は少ないです。 そこで 1.三回路でグランド(=マイナス?)のラインをLR共用させるのは間違いでしょうか。三回路4接点は汎用品でよくみかけるようです。 2.三回路でグランド共用ができると、スイッチ切り替えのポップ音を抑えることにつながらないでしょうか。 3.オーディオセレクタの場合、ノンショートタイプのロータリースイッチが正解でしょうか。その理由は主に何でしょうか。 4.ショートタイプとノンショートタイプでは、ポップ音の抑制には、違いが出ますでしょうか。 5.オーディオセレクタに使うべきロータリースイッチには、どのようなものが適正があり、何をポイントに選択するべきでしょうか。電流の容量、抵抗の大きさなどは、選択条件に関係があるでしょうか。 6.手軽に作りたいと考えていますが、1000円ほどでおススメのロータリースイッチがあったらおしえてください。 初心者の曖昧な質問を、多数載せてしまったことをお許し下さい。どうか先輩諸氏からのアドバイスをいただければ幸いです。

  • HPでリンクの時の下線を表示しない方法を教えてください。

    Dreamweaver4を使っています。 リンクの時の下線を表示しない方法を教えてください。 1ページだけ、使いたいのです。 タイルシートのCSSセレクタと擬似クラスの使用を使って出来ると本に書いてありましたが、やり方がわかりません。 a:hoverでリンクの色を変えるところはわかったのですが、リンクの下線の設定のあるところはわかりませんでした。 htmlの知識も乏しいのですが、ソースのunderlineのところをさわったりしても、出来ませんでした。 宜しくお願いします。

  • Subプロシージャとクラスの違い

    こんにちは。 VB初心者で、本やネットで勉強しています。 現在VB入門編レベルの本を読んでいるのですが、Subプロシージャとクラスの違いがよくわかりません。 どちらも関数のような感じ?何がどう違ってどう便利なの?って悩んでます。 勉強し始めたばかりで、あまり専門的な用語は分からないので、出来ましたら 初心者でも分かるようにご回答いただけると嬉しいです。 よろしくお願いします。

  • wonderflで作ったクラスを、flaで呼び出す

    3Dオブジェクトが回るクラス http://wonderfl.net/c/cOMF を、同階層に置いたflaファイルで走らせて、swfファイルを作りたいのですが、 何か根本的に間違っているようで、どうしてもうまくいきません。 以下の手順だと思うのですが、、 1) 外部クラスをimportする 2) そのクラスを使って変数を作る?(型は?) 3) 作った変数をaddChildする? flaの1フレーム目: A) MovieClipで import PV3D_01; import flash.display.MovieClip; var showUp:MovieClip = new PV3D_01(); addChild(showUp); 上記を走らせると、以下のエラーが出ます。 1067: Implicit coercion of a value of type PV3D_01 to an unrelated type flash.display:MovieClip. B)Spriteを使ってみると import PV3D_01; import flash.display.Sprite; var showUp:Sprite = new PV3D_01(); addChild(showUp); こんなエラーが出ます。 INFO: Papervision3D 2.0.0 (March 12th, 2009) TypeError: Error #1009: Cannot access a property or method of a null object reference. at PV3D_01() at PV3D_01_kudou_fla::MainTimeline/frame1() おわかりの方、どうか!よろしくお願いします。

    • ベストアンサー
    • Flash

専門家に質問してみよう