CSSでフォーカス枠を消す方法

CSSでフォーカス枠を消す方法

 結論から言うと、対象要素にoutline:0;もしくはoutline:none;を設定すればフォーカス枠は消えます。


  • 結果

  • HTML

  • CSS

  • 枠あり(outline:1px dotted black;)

  • /* HTMLの例 */
    	
    枠あり(outline:1px dotted black;)

  • /* CSSの例 */
    
    .sample1 {
    	outline:1px dotted black;
    }
    	

  • 結果

  • HTML

  • CSS

  • 枠なし(outline:0;)

  • /* HTMLの例 */
    	
    枠なし(outline:0;)

  • /* CSSの例 */
    
    .sample1 {
    	outline:0;
    }
    	


outlineプロパティ

 ~ 色 ~ 
outline-color値 説明
※色 境界線の色をキーワード(ex.red)、16進数、RGBA等により設定する

 ~ 線種 ~ 
outline-style値 説明
none(初期値) 境界線を表示しない
solid 1本の実線が表示される
double 2本の実線が表示される
dotted 1本の点線が表示される
dashed 1本の破線が表示される
groove 凹立体線が表示される
ridge 凸立体線が表示される
inset 凹ボタンのような線が表示される
outset 凸ボタンのような線が表示される

 ~ 太さ ~ 
outline-width値 説明
※サイズ px、%、em等により設定する

outlineプロパティの利用例

CSS

.sample3 {
 outline: 1px solid black; /* 太さ・線種・色 */
}

  太さ・線種・色の順番については決まりはなく、どれから指定しても問題ありません。



ブラウザがfirefoxの場合注意が必要です

 そもそも規定ではoutlineの初期値はnoneです。このため本来、枠線を描きたいときだけoutlineプロパティを設定すれば良いはずです。しかし、firefoxについてはa(アンカー)、input等クリックや入力要素についてはその要素が選択されている時にデフォルトで枠線がつくようになっています。このため枠線をどの状態でも表示させないためには明示的にoutline:0;を設定する必要があります。Chrome、IE、Edgeではこの問題は発生しません。




 Copyright IT SKILL MAP. All rights reserved.