teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

校生

2019/03/14 04:14

投稿

miyabi-sun
miyabi-sun

スコア21465

answer CHANGED
@@ -7,7 +7,7 @@
7
7
  元々HTMLはとある研究施設で作られた文書フォーマットです。
8
8
  論文を管理して共有する事が誕生理由です。
9
9
  それを推し進める為にタイトル・パラグラフ・リスト・テーブル・イメージといった記述が整備されて整えられていきました。
10
- HTMLというのはマイクロソフトのWordや、AdobeのPDFと用途は同じ用途として作られたものだったんですね。
10
+ HTMLというのはマイクロソフトのWordや、AdobeのPDFと同じ目的で作られたものだったんですね。
11
11
 
12
12
  その後、インターネットやホームページというカジュアルに紹介するものに使われるようになり、
13
13
  HTMLってなんだっけ???みたいな感じにはなっていますが、
@@ -15,15 +15,16 @@
15
15
 
16
16
  ---
17
17
 
18
- > id属性全てをclass属性に変えると
18
+ > id属性全てをclass属性に変えると……
19
- どのようなデメリットがあるのでしょうか。
20
19
 
21
20
  (Webページは電子フォーマットではありますが)紙ベースのA4用紙に情報が書かれたものだとイメージしてください。
22
21
  IDというのは同じ文書中に1度しか登場出来ません。
23
22
 
24
23
  クラスの出席簿だったら出席番号=IDみたいなものです。
25
- そういった重複することは絶対ありえない類の情報だと考えて下さい。
24
+ 重複することありえない類の情報だと考えて下さい。
25
+
26
+ AとBの情報は粒が小さいから1つの用紙にまとめちゃおう!
26
- 重複しそうな場合はクラス番号、学年、そもそもどの学校か…等の付帯情報を込みでIDを決定させます。
27
+ その結果重複しそうな場合はクラス番号、学年、そもそもどの学校か…等の付帯情報を含めて一意なIDにします。
27
28
  だからこそIDと同名のページ内リンクを張ればそこに自動的にスクロールしてくれるんです。
28
29
 
29
30
  IDで表現しようかな〜、それともクラスで表現しようかな〜
@@ -46,8 +47,13 @@
46
47
 
47
48
  ---
48
49
 
50
+ もし、まだHTMLの設計段階でまだ作られておらず、
49
- もし、いやいやそこまで強い意味でどちらにしようかと考えてなかったよ〜…というのであれば、
51
+ いやいやそこまで強い意味でどちらにしようかと考えてなかったよ〜…というのであれば、
50
52
  基本的にはクラスで統一しても構いません。
51
53
 
54
+ 普段我々がWebページ作る時にかっちりとした論文を作るわけではありませんからね、
55
+ 「この情報はIDで管理してあるべきだ、それが最も相応しいのだ!」というケースも殆どないですから。
56
+ IDを使う場合、ページ内リンクを張りたいから後付でID振るみたいな消極的な動機で良いと思います。
57
+
52
58
  ほぼ全ての要素がクラスで名付けられていれば、CSSでも不自由な記述があっても簡単に上書きすることが出来ます。
53
- 子孫セレクタや子セレクターとセットで使えば、この文脈の箇所のみスタイルを上書き適用するということもやりやすくなります。
59
+ 子孫セレクタや子セレクターとセットで使えば、この文脈の箇所のみスタイルを上書き適用するということもやりやすくなりますからね