• ベストアンサー

CSSのデクレッシェンド(>)とアスタリスク(*)

あるスタイルシートに、以下のような記述があったのですが、 この場合の「>」と「*」はどういう役割りを果たすのでしょうか? #hoge ul li .fuga > a{ color : red; } * html #hoge ul li .fuga a{ color : green; } いろんなサイトを見てみたのですが、理解できませんでした。 ご存じの方、教えてください。 よろしくお願いいたします。

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

  • ベストアンサー
  • naokita
  • ベストアンサー率57% (1008/1745)
回答No.1

同じ部分をブラウザにあわせて分岐させています。 つまり、IE6以下か否か。それぞれのブラウザで色を変えています。 #hoge ul li .fuga > a{ li .fuga の中の a という子供セレクタなので、IE6以下では認識出来無い。 * html #hoge ul li .fuga a{ ↑スターハックでIE6以下しか認識出来無い。 どちらかが一方で可能なので、どちらか一方が蛇足かな。 「子供セレクタ」 「スターハック」 で詳しく検索してみましょう。

boingooingo
質問者

お礼

「子供セレクタ」、「スターハック」で検索して、ばっちり(?)理解できました! ありがとうございます! つまり #hoge ul li .fuga > a{color : red;} * html #hoge ul li .fuga a{color : green;} の両方を記載することにより、 IE6以下のブラウザ環境にも配慮した親切なサイトを作ることができる、ということですよね。

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

その他の回答 (1)

  • mat-21
  • ベストアンサー率56% (91/162)
回答No.2

#hoge ul li .fuga > a{ color : red; } 「#hoge ul li .fuga」直下の「a」だけ。 * html #hoge ul li .fuga a{ color : green; } この指定ですと「IE」と「Safari.1~2」のバグを逆手にとった指定方法。 つまりこの場合、IEとSafari.1~2だけが、* html #hoge ul li .fuga a{ color : green; } となる。 ちなみに、 #hoge ul li .fuga a{ color:red; *color : green; } とするとIEだけ、greenになり、その他のブラウザは、redになる。 らしい。。 たしか,,,,,だったと思う。ごめんなさい、ちと自信がなくなってきた.....。 ウェブデザイナーだけど、ぜんぜん使わないので^_^;

boingooingo
質問者

お礼

回答ありがとうございました。 上記方法試してみましたが、どうもうまくいきませんでした。 スターハックが適用されるのが「Macの場合はIEすべて」になっていたので、Macの場合はそうなるのかもしれないですね。

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

関連するQ&A

  • 【CSS】ul li iPadで見ると境界線が

    以下ページをiPadのsafari及びChromeで見るとhogeとhogeの間に白い線が入ってしまいす。 同じ現象はmac OSX上のsafari,Chromeでも拡大してみると発生します。(拡大しない状態では入らない) <html> <html> <head> <meta http-equiv='Content-Style-Type' content='text/css'> <style> ul{ margin:0; padding:0; } li{ color:#fff; background:#000; } </style> </head> <body> <ul> <li>hoge</li> <li>hoge</li> <li>hoge</li> </ul> </body> </html> 線が入らないように対策できますでしょうか?

    • ベストアンサー
    • CSS
  • CSSの添削をお願いします。リンク色が反映しません

    閲覧ありがとうございます。下記CSSの 「.CLASS li a:link,a:visited{ color:red; text-decoration:none;」 の部分が反映されず、ブラウザの標準設定のままになってしまいます。 本来のstyleの全文はbodyや他のクラスの記述もしているのですが、それらが影響しているわけではないことを確認してあります。 <style> .CLASS ul{ padding:0; } .CLASS li{ border-top: solid pink 1px; list-style-type: none; } .CLASS li a:link,a:visited{ color:red; text-decoration:none; background-color:lightgray; display: block; } .CLASS li a:hover { background-color:gray; } </style> <div class="CLASS"> <ul> <li> <a href=""> 反映されてない…リンク文字色red、デコレーションnone</a> </li> <li> <a href="">反映されてる…リンク背景色lightgray、ホバー背景色gray</a> </li> </ul> </div> 宜しくお願いします

    • 締切済み
    • CSS
  • リストのCSSでのflort時の背景

    ulに幅と背景色を設定しているのですが、リストを横に並べるために、floatさせると希望の表示になりません。リストを横に並べて、かつ、ulで指定している幅と背景色にしたいのですが、どのようにすればよいでしょうか? <html lang="ja"> <head> <style type="text/css"> ul#menu {background-color: red;width: 1024px;} ul#menu li {float: left; width: 100px;} </style> <ul id="menu"> <li><a href="#">メニュー1</a></li> <li><a href="#">メニュー2</a></li> <li><a href="#">メニュー3</a></li> <li><a href="#">メニュー4</a></li> <li><a href="#">メニュー5</a></li> <li><a href="#">メニュー6</a></li> </ul> </body> </html>

    • ベストアンサー
    • HTML
  • CSSのセレクタの指定方法

    基本的なところで恐縮です。 ひさびさに他人が作ったHTML&CSSをいじっていたら混乱してきました。たとえば以下のようはHTMLがあったとします。 -- <ul id="gmemu"> <li>hoge1</li> <li>hoge2</li> </ul> -- このとき、ul、liタグのスタイルを定義したいときのセレクタの指定の仕方としてはどちらが正しいのでしょうか? ■その1(ID名 タグ名) #gmenu ul{ } #gmenu li{ } ■その2(タグ名 ID名) ul#gmenu{ } ul#gmenu li{ } かなり初心者入ってますが、教えていただければ幸いです。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • cssの質問です。

    フッターの文字を白くしたいのですが、なぜか紫になってしまいます。 どうすれば白くなるでしょうか? 回答のほう、よろしくお願いします。 html <div id="footer"> <ul> <li><a href="yahoo.co.jp">会社概要</a></li> <li><a href="yahoo.co.jp">当社掲載記事</a></li> <li><a href="yahoo.co.jp">環境活動</a></li> <li><a href="yahoo.co.jp">採用情報</a></li> <li><a href="yahoo.co.jp">プライバシーポリシー</a></li> <li><a href="yahoo.co.jp">特定商取引に基づく表示</a></li> <li><a href="yahoo.co.jp">すしおけ</a></li> <li><a href="yahoo.co.jp">当社へのリンク</a></li> <li><a href="yahoo.co.jp">リンク</a></li> <li><a href="yahoo.co.jp">サイトマップ</a></li> <li><a href="yahoo.co.jp">ブログ</a></li> </ul> </div> スタイルシート #footer{ width:900px; height:50px; background-color:orange; padding: 20px; color: white; } #footer ul{ list-style-type: none; margin: 0; padding: 0; font-size: 12px; color: white; } #footer li{ float: left; width: 180px; height: 20px; margin-bottom:5px; margin: 0; color: white; } #footer a:link { color: white; } #footer a:visited { color: purple; } #footer a:hover { color: blue; }

    • ベストアンサー
    • CSS
  • ナビゲーションバーの背景画像が表示されません(CSS)

    私は今ホームページを作っておりまして、 先日ウェブデザインについての本を買ったのですがそこに書かれていた スタイルシートの記述例(ナビゲーションバーです)をまねて 自分で記述してみたのですが思うように表示できません。 どなたか教えてください。 ◆問題の部分です◆ スタイルシート div#navi{ width:900px; margin-bottom:7px; padding-bottom:7px;} ul ,li{ margin:0; padding:0; } ul#navbar{ list-style-type:none; width:900px; float:right; } ul#navbar li, ul#navbar li a{ float:left; text-indent:-9999px; display:block; width:100px; height:25px;} ul#navbar li#link a{ background:url(image/menu-kyousitu.png) no-repeat left top; float:right;} 以下同じ様にメニューが続き ul#navber li#sample1{background:url(image/menu-a5.png) no-repeat left top;  float:right;} ↑最後のsampleの部分はリンクを張らないようにしたいのでこのように記述したところ、この部分には背景画像が表示されません。 HTML <div id="navi"> <ul id="navbar"> <li id="link"><a href="**">リンク集</a></li> <li id="sample1">sample</li> </div> 見苦しい分で申し訳ありませんが、どなたかよろしくお願いします。

    • ベストアンサー
    • CSS
  • CSSを使いたいのですが上手くいきません

    テーブル型のメニューを マウスオンで背景の色を変えたいのですが… CSSの解説HPを見たのですが、どこの記述に誤りがあるのか 恥ずかしながら分かりません。 お分かりになる方いらっしゃいましたら、ご教授お願い致します。 <html> <head> <meta Http-equiv="content-type" Content="text/html; charset=Shift_JIS"> <title>テスト</title> <style type="text/css"> <!-- container{ width:100px;} container ul{ margin:0; padding:0; list-style:none; border-top:1px solid #666666; border-left:1px solid #666666; font-size:small; line-height:150%; border-right:1px solid #666666;} container ul li{ margin:0; padding:0; display:inline;} container ul li a{ margin:0; padding:5px 0; width:180px; display:block; text-align:center; color:#000000; text-decoration:none; background:#CCCCCC; border-bottom:1px solid #666666;} container a:hover{ color:#FFFFFF; text-decoration:none; background:#666666;} --> </style> </head> <body> <div id="container"> <ul> <li><A Href="01.html" Title="test">test1</A></li> <li><A Href="02.html" Title="test">test2</A></li> </ul> </div> </body> </html>

  • CSSの優先順位に関して

    CSSで『後で書かれたものより、より厳密な条件に一致するセレクタによる指定が優先される』という規則は確実ですか? 例えば .hoge.fuga{color:#00F} .fuga{color:#F00} という順番でスタイル指定されていたとしても、 class="huge fuga" の要素は確実に赤ではなく青になるんでしょうか?

    • ベストアンサー
    • HTML
  • cssハックを勉強中で、使い方について質問です。

    現在cssハックを勉強中です。 あるサイトで調べるとoperaだけに使う場合 *+html:first-child p { /* for Opera */ line-height : 150%; } このように表示されてました。 IE4-IE6のアンダースコアハックの使い方は分かったのですが 上記のcssハックは今ひとつ使い方が分かりません。 例えば下記のcssがあったとして ul.piyo{ margin:0 0 10px 0; } ul.piyo li{ margin:0; } ul.piyo li.hoge a { width:100px; height:10px; display:block; padding:0; margin:0; background:url(../img/hoge.gif) ; } ul.piyo li.hoge a:hover { background-position:0 -18px; } ...以下、hoge2、hoge3と同じ<li>のcssが続く。 各hoge、hoge2、hoge3の下部分にoperaだけmargin10pxをつけたい場合 *+html:first-child li.hoge { /* for Opera */ margin:0 0 10px 0; } このように表記し、hoge2、hoge3と付け足せばいいのでしょうか? 説明下手で申し訳ありません。 分かりづらいところは補足いたしますのでどうぞご回答よろしくお願いいたします。

    • ベストアンサー
    • CSS
  • 携帯サイトのcssについて

    携帯サイトを作っております。 私の機種はdocomoの903なのですが以下のソースでページをみると リストスタイルが表示されてしまいます。 <ul style="list-style-type: none;"> <li>1</li> <li>2</li> <li>3</li> </ul> ※list-style: none;で試しても結果は同様でした。 <div style="..."></div> のように設定している他の箇所は大丈夫なのでcssの反映には 問題ないと思うのですがどうすればいいでしょうか?

    • ベストアンサー
    • HTML