- ベストアンサー
要素に固有の値を定義する属性とは?
- 本日ウェブデザイン技能検定を受けた結果、要素に固有の値を定義する属性について疑問が生じた。特に、<p>タグの属性に関してどれが適切なのか迷っている。
- 質問内容は、ウェブデザイン技能検定の問題であり、要素に固有の値を定義する属性についての正解を求めている。
- idとclassの違いについて調べたが、1つか複数かの違いが主に説明されていた。そのため、どちらが正しいか判断できず質問に至った。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
#2 です。 固有名詞とは「人の名前」のようなものです。 私の名前は "think49" ですが、"think49" という名前の人物はこの世に一人しかいません。 ですので、id="think49" になります。 一方、"japanese" は固有ではないですね。日本人は私の他にもたくさんいます。 ですので、class="japanese" になります。 id と class は様々なレトリックで説明されますが、概ね、以下のように覚えておけば問題ないと思います。 ・id属性値 … 一意な識別子。ユニークな識別子。唯一の識別子。固有の名詞。 ・class属性値 … 分類名。種類。属性。 あと、仕様書を読んでおきましょう。 仕様書にはよく使われる表現がありますので、既知の内容でも読んでおくと為になります。 文言も仕様書に合わせておけば間違いありません。 7.5.2 要素識別子: id属性とclass属性 - HTML 4.01 (ja) http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/struct/global.html#h-7.5.2 5.9 ID 選択子 - CSS Level 2 (ja) http://www.y-adagio.com/public/standards/tr_css2/selector.html#id-selectors > idとclassの違いについて調べてみても、大抵「1つだけか複数かの違い」のように書かれていて そう説明されている解説は信用しないでください。 厳密には逆で固有名詞を指定するから一回しか使えないのです。 "think49" という名前の人物はこの世に一人しかいないので、id="think49" を指定しなければなりません。 もし、id="think49" を複数指定しなければならないとしたら名前の付け方が誤っている可能性が高いといえます。 "think49" ではなく、他にもっと適切な名前があるはずです。
その他の回答 (4)
- metametamu
- ベストアンサー率51% (153/295)
はっきり言って問題の作り方が微妙です。 答えは1ですが、普段の使い方では4の方が多いです。 最近idとclassの使い分けについて、classはタグ名のようなもの、idは一つ一つの名前という感じで考えています。 <div id="AKA" class="kiji"> <p id="AO">ああああ</p> </div> <div id="KIIRO" class="kiji"> <p id="MIDORI">いいいい</p> </div> こんなマークアップをしている時、kiji要素というものがあればそのままdivの代わりに使いたいんです。本当は。 <kiji id="AKA"> <p id="AO">ああああ</p> </kiji> <kiji id="KIIRO"> <p id="MIDORI">いいいい</p> </kiji> こんな要素ありませんが、わかりやすく書いてみました。 ちなみにHTML5ではここで言うkiji要素みたいな役割のarticle要素というものがあります。 idは完全に固有な名前なので好きにつければいいですが、本来はもっと一般的に使われているようなものを利用したほうがいいでしょうね。ユーザースタイルが使いやすくなります。(HEADER,CONTENT,WRAPPER,NAVIGATION,FOOTER)
お礼
遅くなりましたが、回答有り難うございました。 本来なら一人一人にきちんとお礼を言うべきなのですが、 こちらで総括的に述べさせて頂きます。(すいません…) どうやら問題としては、問題文自体が曖昧だったようですね。 ちなみに私は一応1(id)と回答しました。その時はほぼ勘でしたが… それとは別にidとclassについて詳しい補足解説までして頂けてとても参考になりました。 idは一つ一つの名前で、classは分類名タグ名みたいなものという説明に納得です。 今までの「1つだけか複数か」という曖昧な認識がスッキリしました。 改めて、皆様有り難うございました。
- sekibunx
- ベストアンサー率61% (8/13)
#1さんと#2さんで回答が分かれていますので,私も回答しておきます. 今回の問題では「固有の」値を定義するので1.<p id="lead">文章</p>が正解でしょうね. #2さんも書かれていますがidとclassは使用する回数で使い分けるわけではありません. idとclassを両方使ってもいいわけですし. #2さんの説明を流用すれば以下のようになります. <p id="sekibunx" class="japanese"></p> <p id="think49" class="japanese"></p> sekibunxとthink49はそれぞれ固有ですからidに指定します. 一方どちらも日本人というくくりですからjapaneseはclassに指定します. また,classは複数指定してもいいです. <p id="sekibunx" class="japanese male"></p> ただcssの指定で使用する場合,idでもclassでも適当で何とかなります. >実際のブラウザはidとclassを区別していないようです。 とはそのことです. javascriptのgetElementByIDなんかで意図しない挙動が起きますので,javascriptを使用する場合は厳密に使い分けてください.
お礼
遅くなりましたが、回答有り難うございました。 最新の回答にて総括的なお礼・感想を述べさせていただいております。 本来ならきちんと一人一人お礼をすべきなのですが申し訳ありません。
- think49
- ベストアンサー率59% (285/482)
固有名詞は唯一のものですよね? <p id="lead">文章</p> が正しいと思います。
お礼
遅くなりましたが、回答有り難うございました。 最新の回答にて総括的なお礼・感想を述べさせていただいております。 本来ならきちんと一人一人お礼をすべきなのですが申し訳ありません。
- rukuku
- ベストアンサー率42% (401/933)
こんばんは >どちらが正しいのでしょうか? 仕事で、ホームページの作成も担当していますが、私の回答は 「分かりません」です。 「試験の回答」としては多分「class」だと思います。 (pタグは「多分」何回か使うと思いますので。 でも「多分」です。実際には1回しか使わないつもりかもしれません。 じゃぁどっちなの?と聞かれても、「このページを作っている人にきいて」 としか答えられません。) 本来の使い分けは、magnolia_2010さんが調べられた結果のように 1回だけ→id 2回以上→class です。 ただし、実際のブラウザはidとclassを区別していないようです。 私の場合は、1回でも2回以上でもclassを使っています。 いちおうidには「1回だけ」とされていますがclassには「1回だけのときには使ってはいけない」とはなっていないからです。 1回だけ使うつもりで、idにしたけれど、もう1回使いたくなったらclassに変更しなければならないというのは面倒です。idのまま使っても問題はないと思いますが、余計なことを気にしなくて済むよう、1回でも2回以上でもclassを使っています。 >このような問いで出されたらどちらが正しいのでしょうか? 試験がバカな問題を出しているだけです。この設問だけでは回答のしようがありません。また、実践に役立つ知識とも思えません。 試験の合格・不合格には関係あると思いますが、実際に使う上では気にする必要はありません。無事合格されたときには、こんな無用な迷いは捨ててください。
お礼
遅くなりましたが、回答有り難うございました。 最新の回答にて総括的なお礼・感想を述べさせていただいております。 本来ならきちんと一人一人お礼をすべきなのですが申し訳ありません。
お礼
遅くなりましたが、回答有り難うございました。 最新の回答にて総括的なお礼・感想を述べさせていただいております。 本来ならきちんと一人一人お礼をすべきなのですが申し訳ありません。