CSS3: outline-width プロパティ - 輪郭の太さ

■ 概要

項  目説  明
記述形式 セレクタ {outline-width: 上の値 右の値 下の値 左の値 }
値 の形式
  1. 値を4つ指定: 上の値 右の値 下の値 左の値
  2. 値を3つ指定: 上の値 右の値 下の値  (左の値右の値
  3. 値を2つ指定: 上の値 右の値  (下の値上の値左の値右の値
  4. 値を1つ指定: 上の値  (右の値下の値左の値 は同じ値)
 各部の値: 長さ | thin | medium | thick
初 期 値 none
対応ブラウザー C2+ / e8+ / N?+ / Fx1.5+ / Op7+ / Ch1+ / Sa1.2+
適用可能な要素 すべての要素
継  承 しない

■ 解説

outline-widthプロパティ は,輪郭の太さを指定します。

outlineプロパティ で指定する輪郭は,border プロパティ で指定する境界とは,次のような点で異なります。

  1. 隣接要素との間に新たにスペースを確保しません。 つまり,境界外の隣接要素内などに表示されます。
  2. 形は長方形に限定されません。

なお,値は半角ブランクを挟んで4つまで指定できます。

  1. 指定する値の個数にかかわらず,値の順序は,最初から, 上の値右の値下の値左の値 と決まっています。 (上から時計回り
  2. 値を3つ指定した場合は,省略された 左の値右の値 と同じになります。 
  3. 値を2つ指定した場合は,さらに,省略された 下の値上の値 と同じになります。
  4. 値を1つだけしか指定しない場合は,それが 上下左右すべての値になります。

数値による値の指定は,次のような単位を付けて可能です。

単位説  明
px
px とは画面の1画素(ピクセル) のサイズを1とする単位です。 実際に表示されるサイズは 72dpi や 96dpi といったモニタの解像度により変化します。
em
em とは現在使用中の標準フォントの高さを1とする単位です。 
ex
ex とは現在使用中の標準フォントの小文字の「x」の高さを1とする単位です。
親要素の widthプロパティ の値を基準にして割合を%値で指定します。

ただし,実際には,輪郭の太さにそれほど大きな値を指定することは少ないので,"px" を使う場合がほとんどです。

また,"thin""medium""thick" のキーワードによる指定内容は,次の通りです。

説  明
thin 細い輪郭線を表示します。
medium 中くらいの標準的な太さの輪郭線を表示します。 (初期値)
thick 太い輪郭線を表示します。
備  考 outline-styleプロパティ の値が none である場合は,outline-widthプロパティ の値は,指定にかかわらず常に 0 になります。

輪郭が表示される場所に別の要素の内容や境界線が表示されている場合は, 輪郭で上書きされますのでレイアウトや輪郭のスタイルに注意が必要です。

■ 使用例( outline-width プロパティの利用)

HTMLソース
CSS
<head> ~ </head>
<style type="text/css" media="screen, handheld, print, tv" >
<!--
   input.sample:focus { 
      outline-width: 3px;
      outline-style: solid;
      outline-color: #ddff88;
   }
-->
</style>
<script type="text/javascript">
   window.onload = function() {
      document.getElementById('ans1').focus();
   }
</script>
HTML
<body> ~ </body>
<div>問1:<input type="text" class="sample" id="ans1"></div><br>
<div>問2:<input type="text" class="sample" id="ans2"></div><br>
<div>問3:<input type="text" class="sample" id="ans3"></div>

ブラウザー 表示例
問1:

問2:

問3:

上の例では,フォーカスのある input要素 に対して輪郭が表示されます。

輪郭の表示される場所は, input要素 の境界外の親要素(div要素)や,さらに,その隣接要素などです。 (輪郭をもっと太くするとさらによくわかります。) 

■ 備考

【参考ページ】