スタイル情報を記述する

style

< style スタイル 属性="属性値">~< /style >

style要素は文書にCSSによるスタイル情報を記述します。

カテゴリー メタデータコンテンツ。scoped属性が指定されている場合はフローコンテンツ
コンテンツモデル スタイルシートの記述
使用できる文脈 scoped属性が指定されていない場合
・メタデータコンテンツが期待される場所
・head要素の子要素となるnoscript要素のなかに記述可
scoped属性が指定されている場合
・フローコンテンツが期待される場所。ただし、要素間ホワイトスペースを除くあらゆるフローコンテンツよりも前(つまり親要素内で最初)かつ、コンテンツモデルがトランスペアレントコンテンツとなる要素の子要素ではない場所
カテゴリーとコンテンツモデル

使用できる属性

media メディア

スタイルシートを適用する対象となるメディアタイプを指定します。media属性の値は、妥当なメディアクエリである必要があります。

scoped スコープド

特定の範囲内にのみスタイルを適用します。scoped属性が指定されたstyle要素で指定されたスタイルは、その親要素内のみに適用されます。scoped属性は論理属性です。

なお、2015年1月現在では、Firefoxのみ対応しています。

type タイプ

スタイルシートのMIMEタイプを指定します。省略した場合は"text/css"となります。

グローバル属性

すべての要素で使用できる属性です。
グローバル属性とイベントハンドラ属性

サンプルコード

以下の例では、media="screen"を指定することでパソコンやスマートフォンなどのブラウザーのみをスタイルの適用対象としています。プリンターで文書を印刷するときには、指定したスタイルは適用されません。また、media 属性を指定しない場合はallとなり、すべてのメディア、デバイスを対象としたことになります。

<style media="screen">
  body {color: black; background: white;}
  em {font-style: normal; color: red;}
</style>

使用例特定の領域にのみスタイルを適用する

<style scoped="scoped">

以下の例では、body 要素内のdiv要素にのみ、独自のスタイルが適用されています。通常は、事前(例ではhead 要素内)に指定したCSSが適用されますが、scoped属性を指定したstyle 要素でスタイルを指定すると、特定の領域にのみスタイルを適用できます。なお、scoped属性を指定したstyle要素内で@ 規則を使った場合は、そのスタイルも指定した範囲のみに適用されるので注意しましょう。

    <head>
      <title>scoped属性のサンプル</title>
      <style>
        div {
        border: 2px solid blue;
        margin: 10px;
        }
      </style>
    </head>
    
    <body>
      <div>
        <p>元々指定されているスタイルが適用される</p>
          <style scoped="scoped">
            div {
            border: 2px solid red;
            background: #CCC;
            }
          </style>
        <p>scoped 属性で指定したスタイルが適用される</p>
      </div>
    </body>

Firefox

関連記事