プロが教える店舗&オフィスのセキュリティ対策術

id属性が存在する理由がわかりません。


class属性ではいけないのでしょうか?
どんな特徴があるのでしょうか?

htmlとcssの初心者です。

ぜひ、ご回答をお願いします。

A 回答 (2件)

まず、仕様書を読破すること・・始めは難しいけど、少なくとも必要な情報がどこにあるかぐらいはつかんでおきましょう。


HTML 4.01 Specification (ja) ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
【引用】____________ここから
HTMLにおいて、id属性は、次の各々の役割を果たす。
 ・スタイルシートの選択子。
 ・ハイパーテキストリンクの目標アンカー。
 ・スクリプトから特定要素を参照するための手段。
 ・宣言されたOBJECT要素の名称。
 ・ユーザエージェントによる処理一般に用いる。
  (例えば、HTMLページからデータベースへデータを移植する際にフィールド名を識別するとか、HTML文書を他のフォーマットに変換するなど。)

 一方のclass属性は、ある要素について1つ以上のクラス名を割り当て、この要素が当該クラス/クラス群に属することが示され得る。 1つのクラス名は、複数の要素インスタンスの間で共有され得る。 HTMLにおいて、class属性は、次の各々の役割を果たす。
 ・著者が要素集合にたいしてスタイル情報を割り当てたいと考えた際の、スタイルシート選択子。
 ・ユーザエージェントによる処理一般。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[The global structure of an HTML document (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )]より

【引用】____________ここから
DIV要素とSPAN要素は、id属性及び class属性と併用することで、文書に構造を付加するための一般機構を提供する。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[The global structure of an HTML document (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )]より

 HTMLは、その文書を、それを構成する要素(element)に分解して、それぞれの要素をタグを使ってマークアップするものです。言い換えれば文書構造を示す道具です。--メタ言語--
 たとえば、<h1>ここは見出し</h1><p>ここは段落</p>というふうに、その中で、その文書内の特定の要素に印を付けたいときは、idを使いますし、一個以上の要素に目印を付けたいときはclassをつけます。
 私の友達は、<span class="male yamada" id="YAMADTARO">山田太郎</span>、<span class="female yamada" id="YAMADAHANAKO">山田花子、<span class="male tanaka" ID="TANAJIRO">田中次郎</span>
 とか・・

 もちろん目的がなければ使いませんが・・

スタイルシートでは、そのスタイルをどの要素に適用させるか指定しなければなりませんが、それにはセレクタ(識別子)を使いますが、ほとんどはタイプセレクタ(要素のこと)で済みますが、それだけでは指定しにくいときにclass(クラスセレクタ)名やid(一意セレクタ)を併用します。
 クラスセレクタは詳細度がc=1,一意セレクタは詳細度がb=1なので、それをうまく使ってしていします。

#YAMADATARO{font-weight:bold;}/* 詳細度[0100] */
div.section span.male{color:green;}/* 詳細度[0022] */
div.section span.female{color:red;}/* 詳細度[0022] */

 私は、IDでは詳細度が高くなりすぎるので、スタイルのターゲットとしてはまず使いませんし、スタイルシートのためだけにIDをふることはありません。

 なお、HTML,CSSは、頭文字なので大文字で書くべきです。--英文では結構厳しい--
    • good
    • 0

はいぱーりんく

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!