質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

3回答

471閲覧

idの優先順位について

kato00

総合スコア71

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2018/04/14 08:19

いつもお世話になってます。

下記検証のコード(添付画像)で分からないところがあります。

青色箇所のコードですが、id="mt50"が反映されません。

セレクタの種類による優先順位として
1、idセレクタやclassセレクタなどの具体的・局所的なセレクタは、タイプセレクタや全称セレクタのような全般的なセレクタより優先される
2、idセレクタはclassセレクタより優先され、タイプセレクタは全称セレクタより優先される(idセレクタ > classセレクタ > タイプセレクタ > 全称セレクタ)
3、要素を特定したidセレクタ・classセレクタは、要素を特定しないidセレクタ・classセレクタより優先される
4、優先順位が同じになった場合は、最後に指定したスタイルが適用される

というルールがあると思いますが、どれに当てはまっているから動かないのかがよく分かりません。

何が違うのでしょうか??

コードの提示が必要な場合は提示いたしますのでおっしゃってください。

宜しくお願いします。

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

#contentsSixtharea img #mt0

前者は後者よりも詳細度が高いからです。
過去スレッドで詳しい回答を書きました。

Re: kato00 さん

投稿2018/04/14 08:35

編集2018/04/14 08:46
think49

総合スコア18162

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

think49

2018/04/14 09:09

To: lucker さん > バーカバーカ 反応するのもどうかと思いましたが、まさにブーメランだったので、お返しします。 https://teratail.com/questions/121787 > lucker 2018/04/14 15:54 > すぐバーカとかいう人は野蛮だとおもいまぁす。
guest

0

優先順位の話は合ってるんですが、今回のような

css

1#aaa img {} 2#bbb {}

のように複合された時の指定も含んでいます。
・idセレクタが多い方が優先され、
idセレクタの数が同じ場合
・クラスセレクタが多い方が優先され、
idセレクタの数もクラスセレクタの数も同じ場合
・タイプセレクタが多い方が優先され

ます。

優先順位が高い方を多く持っている方が優先され、それらが同じ場合初めて
「優先順位が同じ」と言えます。その「優先順位が同じ」状態で

4、優先順位が同じになった場合は、最後に指定したスタイルが適用される

となります。

今回の場合はidセレクタの数が同じ[1]ですがタイプセレクタの数が違っており
優先順位が負けているので#mt50の指定は上書きされています。

投稿2018/04/14 11:35

sousuke

総合スコア3828

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

セレクタの話と、スタイルの適用は全く別の話ぞなもし。
スタイルは!important指定しない限り後に書いた方で上書きされるぞなもし。

投稿2018/04/14 08:25

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

think49

2018/04/14 08:41 編集

> スタイルは!important指定しない限り後に書いた方で上書きされるぞなもし。 後述が優先されるルールは specificity が同じときだけでは…。
退会済みユーザー

退会済みユーザー

2018/04/14 08:38

あーなるほど、何悩んでるのかなんとなくわかった。 多分、挙動としては、#mt50という要素については margin-top: 50px; が適用されるんだ。 でも、#contentsSixhared の imgには margin 0 auto; が適用されるので、こっちがの方が詳細項目の設定になるので、こっちで上書きされるんだ。 こういう書き方するとわけわからんくなる良い例だな。
defghi1977

2018/04/14 08:38

と, 思うて記事を挙げたらどこからともなくCSS警察がやってきてtwitter経由で「あなたはセレクタについて誤解している!」と指摘されまくった記憶があります...
退会済みユーザー

退会済みユーザー

2018/04/14 08:39

>think49 ねー。何言ってるのかわからないかったよ。
退会済みユーザー

退会済みユーザー

2018/04/14 08:40

>defghi1977 だって、こんな破綻する書き方しないもんねー。しらんよねー。
退会済みユーザー

退会済みユーザー

2018/04/14 08:41

つまり、これでしょ? >4、優先順位が同じになった場合は、最後に指定したスタイルが適用される
think49

2018/04/14 08:42 編集

To: lucker さん 私が指摘したのは質問者の文章にではなくて、 > スタイルは!important指定しない限り後に書いた方で上書きされるぞなもし。 こちらが間違っているのでは、と指摘しています。
退会済みユーザー

退会済みユーザー

2018/04/14 08:44

なにいってんのかわがんね。
defghi1977

2018/04/14 08:46

まあスタイル適用の優先順は筆舌し難いところはあります. (アニメーションとか絡むと更に悩ましく)
退会済みユーザー

退会済みユーザー

2018/04/14 08:48

WEB屋さんとかWEBだけさんはCSSをやたらぐっちゃぐっちゃにしたがるので、正直わっけわっからんところある。そもそもの書き方がおかしい。
退会済みユーザー

退会済みユーザー

2018/04/14 08:50

数年前に“セマンティックウェブ”とかほざいて、なんか、片っ端からidとclass付けまくったあたりで完全に破綻してた。
退会済みユーザー

退会済みユーザー

2018/04/14 08:54

>think49 なにいってんのかわがんね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問