1
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

スタイル(CSS)の適用される優先順位を知る

Last updated at Posted at 2017-07-05

何回調べても忘れてハマる自分がすごいと思います。

  • 環境
    • OS : macOS Sierra version10.12.5 64bit
    • Chrome : Version 59.0.3071.115 (Official Build) (64-bit)

何も指定しなければユーザーエージェントの指定が適用される

Screen Shot 2017-07-05 at 21.03.26.png

sample.html
<html>
<head>
    <title>sample</title>
</head>
<body>
    <input type="text" value="文字色は何色?">
</body>
</html>

製作者の指定が優先

Screen Shot 2017-07-05 at 21.07.48.png

sample.html
<html>
<head>
    <title>sample</title>
    <link rel="stylesheet" type="text/css" href="./css/style.css">
</head>
<body>
    <input type="text" value="文字色は何色?">
</body>
</html>
style.css
@charset "UTF-8";
/* SASSから出力しています */
input[type="text"] {
  color: blue;
}

/*# sourceMappingURL=style.css.map */

あとから読み込まれた指定が優先

Screen Shot 2017-07-05 at 20.35.06.png

sample.html
<html>
<head>
    <title>sample</title>
    <link rel="stylesheet" type="text/css" href="./css/style.css">
</head>
<body>
    <input type="text" value="文字色は何色?">
</body>
</html>

:loudspeaker:CSSはファイルの上から下の順で読み込まれます。

style.css
@charset "UTF-8";
/* SASSから出力しています */
input[type="text"] {
  color: blue;
}

input[type="text"] {
  color: purple;
}

/*# sourceMappingURL=style.css.map */

タグに近い指定が優先

Screen Shot 2017-07-05 at 20.38.37.png

sample.html
<html>
<head>
    <title>sample</title>
    <link rel="stylesheet" type="text/css" href="./css/style.css">
    <style type="text/css">
        input[type="text"] {
            color: red;
        }
    </style>
</head>
<body>
    <input type="text" value="文字色は何色?" style="color: green;">
</body>
</html>

※. style.cssは上と同じ

具体的な指定が優先

Screen Shot 2017-07-05 at 20.51.36.png

sample.html
<html>
<head>
    <title>sample</title>
    <link rel="stylesheet" type="text/css" href="./css/style.css">
    <style type="text/css">
        input[type="text"] {
            color: red;
        }
    </style>
</head>
<body>
    <input type="text" value="文字色は何色?" id="moji" class="iro">
</body>
</html>
style.css
@charset "UTF-8";
/* SASSから出力しています */
#moji {
  color: orange;
}

input[type="text"].iro {
  color: pink;
}

.iro {
  color: green;
}

input[type="text"] {
  color: blue;
}

input[type="text"] {
  color: purple;
}

/*# sourceMappingURL=style.css.map */

けど、selectタグの選択状態での指定をするとよくわからない状態になる

Screen Shot 2017-07-06 at 0.20.33.png

どなたか、選択状態での「color」と「background-color」の指定方法を教えて下さい・・・・。

sample.html
<html>
<head>
    <title>sample</title>
    <link rel="stylesheet" type="text/css" href="./css/style.css">
    <style type="text/css">
        input[type="text"] {
            color: red;
        }
    </style>
</head>
<body>
    <p>セレクトボックスの場合
        <select multiple size="2">
            <option value="on">選択している</option>
            <option value="off">選択していない</option>
        </select>
    </p>
</body>
</html>
style.css
@charset "UTF-8";
/* SASSから出力しています */
#moji {
  color: orange;
}

input[type="text"].iro {
  color: pink;
}

.iro {
  color: green;
}

input[type="text"] {
  color: blue;
}

input[type="text"] {
  color: purple;
}

select option:checked {
  color: pink;
  background-color: red;
  font-weight: bold;
}

/*# sourceMappingURL=style.css.map */
1
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?