CSS3: outline-style プロパティ - 輪郭のスタイル

■ 概要

項  目説  明
記述形式 セレクタ {outline-style: }
値 の形式 nonehiddensoliddasheddotteddoublegrooveridgeinsetoutset
初 期 値 none
対応ブラウザー C2+ / e8+ / N?+ / Fx1.5+ / Op7+ / Ch1+ / Sa1.2+
適用可能な要素 すべての要素
継  承 しない

■ 解説

outline-styleプロパティ は,輪郭のスタイルを指定します。

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

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

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

指定する際には,次のようなキーワードが使用可能です。

説  明
none 輪郭をなしにします。 ただし,表のセルなどで隣接要素と指定が競合した場合は,他の要素の指定が優先されます。
hidden 輪郭を非表示にします。 ただし,表のセルなどで隣接要素と指定が競合した場合は,この指定が優先されます。
solid 実線を表示します。
dashed 破線を表示します。
dotted 点線を表示します。
double 2重線を表示します。
groove 溝のように立体的にへこんで見える線を表示します。
ridge 隆起して立体的に飛び出して見える線を表示します。
inset 囲まれた内部が立体的にへこんで見える線を表示します。
outset 囲まれた内部が立体的に飛び出して見える線を表示します。

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

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要素)や,さらに,その隣接要素などです。 (輪郭をもっと太くするとさらによくわかります。) 

■ 備考

【参考ページ】