• ベストアンサー

CSSファイルの#とか:とか.とかについて

ホームページの作成について勉強しているのですが、 外部CSSファイルを見ると、 例えば、 a.noborder:visited {   とか img#logo1 {   とか a:hover img.hoverimg { いろいろ書き方があり、え?これはどういう意味なんだろうか、と悩み中です。 どれが正しいというわけではないんだろうと思いますが、 CSSを書く際に、どれが一番適していますか?

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

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

>どれが正しいというわけではないんだろうと思いますが、CSSを書く際に、どれが一番適していますか?  ひとつひとつ、皆、意味が違うのですよ。 a.noborder:visited {  A要素のうちでclass属性の値リストの中にnoborderを持つものに、:hoverしたときの擬似クラス 詳細度は[0 0 2 1] img#logo1 {  logoというidを持つIMG要素 詳細度は [0 1 0 1] a:hover img.hoverimg {  :hover擬似クラスをもつA要素の子孫のIMG要素のうち、classリストの値にhoverimgを持つもの 詳細度は[0 0 2 2]です。 ★HTMLではなく、スタイルシート(カスケーディングスタイルシート)のセレクタの意味が分からないのだろうと思います。  このセレクタやカスケーディングは、名前の通りCSSの命と言うべき重要な部分です。  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  他のcolor:redとかのプロパティを触り始めるより先に、完璧に理解しておく必要があります。それが理解できていると、スタイルシートだけでなく、HTML自体も極めて簡単にかけるようになります。(セレクタやカスケーディングを知らない人のHTMLは悲惨なものになります。)  私は『検索しろ』とは言いません。ネット上からちゃんとした知識を得るのはとても困難です。藁の山から一本の針を探すより難しいでしょう。  そんなことより、まず仕様書が公開されているので、それを一通り読みましょう。 とりあえず、最低限以下は読んではじめること。初めはとっつきにくいですが、どこに何が書かれているか程度で良いです。あとは必要な時に必要なところを読めばよい。  ⇒HTML 4.01 Specification (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/cover.html#toc )  ⇒REC-CSS2 邦訳( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/cover.html#toc )  ※CSSは現時点で、標準はCSS2.1ですが良い邦訳を知りません。  ⇒Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification( http://www.w3.org/TR/CSS2/ )  ちなみに、セレクタについては  ⇒セレクタ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/selector.html )

orange-house
質問者

お礼

はい、ORUKA1951様の仰られる通り、 私が今まで勉強したのは、 HTMLの本を斜め読みして分かった気になって、いろいろなホームページのソースを取り込んでは、これはこうなっているんだなぁ、という構造を見て・・・自分なりには実践的な勉強方法だと思ってたのですが、基礎がまったくできていないが為に、こけるのが早かった・・・という所です。 カスケーディングどころか「セレクタ」という語句も知らずにCSSを見てHTML見て、ふむふむ、とやってたのですが、CSSのファイルをいろいろ見ているうちに、「あれ、これ何でいろんな書き方があるんだろうなぁ、まぁ、いいや」と進めてしまい完全につまずきました。 やはり、基礎を知らずにやると、もろいですね。 当方、まったく英語が分からないですが、 教えて頂いた仕様書、目を通させて頂こうと思います。 ・・・英語のものは飛ばさせて頂きますが・・・(笑) 大変勉強になりました。 回答、ありがとうございました。

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

その他の回答 (2)

回答No.2

CSSだけ見てるから悩むのです。 >ホームページの作成について勉強している のでしょ。じゃあ、なぜ検索しないの? 「css # . 違い」とかで。 ご自身がサイトを作ろうとしているのでしょ? そのサイトをどうやって見つけてもらうの? 検索でしょ! なぜ自分は検索しようとしないの? 下記サイトの「セレクタ」を最初に、その他を後でじっくりと読みなさい。 http://www.tohoho-web.com/css/basic.htm#Class

orange-house
質問者

お礼

いえ、検索はして、いくつかページは見てみたのですが、 それらしい事が書かれておらず、こちらで質問させて頂きました。 確かに、「誰かに聞けばいいや」という考えは安易ですが、 一応、検索する事という事はしていたので、そこだけは主張させて下さい。 私の探し方の悪さもあります・・・教えて頂いたURL先は、何度も参考にさせて頂いているページではありますが、見る所が違ってました。 教えて頂いた所にしっかり載ってますね。熟読致します。 この度は、申し訳ありませんでした。 回答、ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • t_ohta
  • ベストアンサー率38% (5097/13327)
回答No.1

どれが一番適しているという事はありません。 それぞれに意味があり異なる目的のモノですから、適材適所で使い分ける必要があります。

orange-house
質問者

お礼

考え違いをしていたみたいです。 回答、ありがとうございました。

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

関連するQ&A

  • CSSでのリンク指定について

    a:link img.sample { boder: 1px solid #CCCCCC} a:visited img.sample { boder: 1px solid #CCCCCC} a:hover img.sample { boder: 1px solid #333333} a:active img.sample { boder: 1px solid #333333} という記述はCSSの仕様としてあっていますでしょうか。 a img.sample:link { boder: 1px solid #CCCCCC} a img.sample:visited { boder: 1px solid #CCCCCC} a img.sample:hover { boder: 1px solid #333333} a img.sample:active { boder: 1px solid #333333} のように書くとIE6で思うように表示されなかったので。。

    • ベストアンサー
    • HTML
  • フレームページとCSSについて。

    ホームページ作成での質問です。 1、フレームページで、横スクロールを無くす方法。 2、CSSで指定したlinkの色(link、visited、hover共に)が変わらない。 どなたか宜しくお願いします。

  • a.menu:visited {~~}

    こんばんは。css勉強中、 a.menu:visited a.menu:hover というものが出てきたのですが、 これはどういう意味で、なんというタイプの言語でしょうか? html、cssではないですよね。

    • ベストアンサー
    • CGI
  • CSS外部ファイルを作りましたが、加筆する際にファイル**.cssファイルが開けません

    CSS素人です。 外部ファイルからCSSを使おうと思い、ファイルを作成したいのですが、メモ帳に書き、保存する際に.cssという拡張子でファイル保存しました。 外部ファイルを書き加えようとしたところ、うまく開けませんでした。 『ファイル**.cssファイルを開くアプリケーションを指定してくださいとなってしまいます。』 なにが悪いんでしょうか。 ファイルを書く場合、直接いきなりスタイルシートを書き込んでいいのでしょうか。 よろしくお願い致します。

    • ベストアンサー
    • HTML
  • CSS * の意味

    こんにちは。 CSS(外部CSSファイル)で、例えば img.title *{ vertical-align :middle; }というのがありますが、 * とはどんな意味があるのでしょうか? 教えてください。お願いします。

    • ベストアンサー
    • HTML
  • 外部CSSの読み込みがうまくできない

    <head>~ <link href="basic.css" rel="stylesheet" type="text/css"> ~</head> ↓basic.css body{font-size:80%;color:#4a4a4a;} a:link{color:#004a95;text-decoration:none;} a:visited{color:#950095;text-decoration:none;} a:hover{color:#ff80c0;text-decoration:none;} という感じで外部CSSを読み込んでいるのですが、 ブラウザのoperaやfirefoxだとbody{font-size:80%;color:#4a4a4a;}の所だけ反映されません。 IEだとその部分も反映されます。 cssファイルに修正箇所があるのでしょうか? それとも外部cssを読み込むhtmlファイルの方に追加して記述しなければいけないタグがあるのでしょうか?

    • ベストアンサー
    • CSS
  • cssの外部ファイルでのリンクの装飾

    学校の課題で今HPを作っています。 外部ファイルでリンクの装飾をしようとしているのですが、 検索してもHEAD内に組み込むタイプのタグしか出てきませんでした。 <Style Type="text/css"> <!-- A:link { text-decoration:none; color:#000080; } A:visited { text-decoration:none; color:#000080; } A:active { text-decoration:underline; color:#000080; } A:hover { text-decoration:underline; color:#1e78ff; } //--> </Style> ↑このようなものを外部ファイルの場合はどう書けばいいのでしょうか? つまり↑の内容(リンクの装飾)を↓のような形式に書き換えたいということです。 #title{ font-size:24px; font-weight:bolder; font-family:Arial; } わかりづらくて申し訳ありませんが、どなたか詳しい方いましたらよろしくお願いします★

    • ベストアンサー
    • HTML
  • 外部cssについて教えて下さい。

    外部cssでside a{ }とside a:hover{ }の設定をしてサイドボタンを作成しました。background-imageの設定を両方あててます。 css #side a{ background-image: ・・・ #side a:hover { background-image:・・・ htmlの方でバナーを作成し、サイドボタンの下にバナーを表示し、とあるサイトへのリンクをさせたくて作っていたのですが・・・ html <div id="side"> <ul><li id 1.2.3.4.5> サイド設定 </li></ul> </br><a href="http://"><img src="バナー"></a> </div> ここで問題が・・・・ a の設定をサイドボタンで使ってるために<a href>のバナーまでサイドボタンの枠やイメージになってしまい困っています。 対象法や良い案があればご指導お願いします。

  • CSSについて

    カーソルがルンク先文字にふれた時に色が変わり、 リンクしたあとリンク済みになるCSS( スタイルシート)はこれでいいでしょうか? リンク済みの色が変わりません。 <!-- <style type="text/css"> --><!--A:HOVER{position : relative;top:2px; left:2px;} </style> --> <style type="text/css"> <!--A:link {color:#000055; text-decoration:none; } A:visited {color:#000055; text-decoration:none; } A:hover {color:#ff3300; text-decoration:underline; }--></style>

    • ベストアンサー
    • HTML
  • Aタグの色・装飾を 一部のページだけ変えたい

    外部CSSファイルでa:link, a:visited, a:hover, a:focus, a:active の background-color, color, text-decoration 設定しています。 一部のページのみ、これらを変更するにはどうしたら良いでしょうか?よろしくお願いします。

    • ベストアンサー
    • HTML

専門家に質問してみよう