IceBallard

雑記ブログ。Webデザインやフリーソフトなどの記事が多め。

classとidの違い

テンプレート作成にあたり、勉強していて未だによく分からないのがclassとidの違いです。(他にも分からないのはありますが、今一番気になってる事)
色々調べるも、あまり理解出来ませんでした。なんてバカw
もっと勉強しないと、カッコイイテンプレは作れないだろうなあ…。

で、情報を集めてみて分かった「classとidの違い」について、まとめてみます。

自分でも理解できていないので、間違いがあるかもしれませんが、興味ある方は続きからどうぞ。

まずは、class属性の話から。
class属性の規定には、
「ある要素に1つのクラス名を割り当てるか、または複数のクラス名を設定する。幾つの要素に対してでも、同じクラス名あるいはクラス名群が割り当てできる。複数のクラス名については、空白文字によって区切らねばならない。」
というのがあるんだそうです。
これだとよく分からないので、端的に言い換えてみます。

まず、部屋の中に シロ という犬が一匹居るとします。
ここで「シロ!」と呼ぶと、何の問題も無くシロが来ます。
しかし、この部屋の中にもう一匹の犬を連れてきて、名前をシロにしてみます。
先ほどと同じように「シロ!」と呼んだ場合、どちらのシロも来てしまいます。

class属性の仕様はこんな感じみたいです。
一匹の場合は呼んでも問題ありませんが、たくさんシロが居た場合、問題がありますね><


次に、id属性の話。
id属性の規定には、
「要素に名前を割り当てる。この名前は文書中で一意でなければならない。」
というのがあるんだそうです。
つまり、「文書中にただ一つしかない」と既に決められているのです。
これを先ほどのclass属性の話に言い換えると、

まず、部屋の中に シロ という犬が一匹居るとします。
ここで「シロ!」と呼ぶと、何の問題も無くシロが来ます。
しかし、この部屋の中にもう一匹の犬を連れてきて、名前をシロにしてみます。
先ほどと同じように「シロ!」と呼んだ場合、どちらのシロも来てしまいます。


となるわけです。どういう事かと言うと、
「どうやって片方のシロを呼ぶか?」
ではなく、
「片方しかこの部屋に居ちゃダメ」
と既にルールされているので、問題はそもそも起きない事になります。

たぶんですが、自分で名前(シロ)を管理出来るCSS(?)においては、id属性を使う必要はあまり無いみたいです。(自分の考えでシロを増やさなければいい。別の名前をつければいい。って事だから)

では、何故id属性があるかと言うと、
id属性は「スタイルを設定できる」という他にも用途があり、その場合に適しているらしいんです。
この辺りがまだよく分からないので、なんとも言えないんですが;


さて、よく分からないまま書いてしまいましたが、いかがでしたでしょうか?
理解が深まるように、もっと勉強しなきゃですね。頑張ります><

コメントの投稿

FC2ブログ