outline
outline
<p class="solid">1px solid blue outline</p>
<p class="dashed">5px dashed green outline</p>
<p class="dotted">thick dotted outline</p>
<p class="groove">groove outline</p>
<p class="ridge">ridge outline</p>
<p class="inset">inset outline</p>
<p class="outset">outset outline</p>
<p class="double">double outline</p>
/* 공통 스타일 */
p {
    padding: 1em;
    margin: 2.5em 0;
    border: 3px solid red;
    /* 이해를 돕기 위해
       요소 경계(border) 테두리 설정
       (3px 두께의 빨간색 직선) */
}

/* outline(외곽선) */
.solid {
    outline: 10px solid blue;
}
.dashed {
    outline: 5px dashed green;
}
.dotted {
    outline: thick dotted;
}
.groove {
    outline: 15px groove;
}
.ridge {
    outline: 15px ridge;
}
.inset {
    outline: 15px inset;
}
.outset {
    outline: 15px outset;
}
.double {
    outline: 15px double;
}
실제 적용된 모습
selector {
    outline: <outline-width> || <outline-style> || <outline-color>
             /* 너비 || 스타일 || 색상 */
             /* 값의 순서는 중요하지 않습니다. 순서는 영향을 주지 않습니다. */
}
/*
 * outline 속성 값
 * 아래에 나열된 값 중 하나, 둘 또는 셋을 사용하여 지정할 수 있습니다.
 * 값의 순서는 중요하지 않습니다. 순서는 영향을 주지 않습니다.
*/

/* <outline-style> */
outline: none;
outline: solid;
outline: double;

/* <outline-width> | <outline-style>  */
outline: 2px dotted;
outline: 1em inset;
outline: thin inset;

/* <outline-style> | <outline-color> */
outline: dashed red;
outline: rgba(0, 0, 0, 0.5) dashed;

/* <outline-width> | <outline-style> | <outline-color> */
outline: 10px solid #fddd9b;
outline: 10px #fddd9b solid;

/* 전역 값 */
outline: inherit;
outline: initial;
outline: revert;
outline: revert-layer;
outline: unset;
<p class="thin">thin</p>
<p class="medium">medium</p>
<p class="thick">thick</p>
.thin {
    outline: thin solid;
}
.medium {
    outline: medium solid;
}
.thick {
    outline: thick solid;
}
실제 적용된 모습
<p class="auto">auto</p>
.auto {
    outline: auto 10px;
    background-color: #c2d089;
}   
실제 적용된 모습
<p class="dotted">dotted</p>
.dotted {
    outline: dotted 10px;
    background-color: #c2d089;
}   
실제 적용된 모습
<p class="dashed">dashed</p>
.dashed {
    outline: dashed 10px;
    background-color: #c2d089;
}   
실제 적용된 모습
<p class="solid">solid</p>
.solid {
    outline: solid 10px;
    background-color: #c2d089;
}   
실제 적용된 모습
<p class="double">double</p>
.double {
    outline: double 10px;
    background-color: #c2d089;
}   
실제 적용된 모습
<p class="groove">groove</p>
.groove {
    outline: groove 10px;
    background-color: #c2d089;
}   
실제 적용된 모습
<p class="ridge">ridge</p>
.ridge {
    outline: ridge 10px;
    background-color: #c2d089;
}   
실제 적용된 모습
<p class="inset">inset</p>
.inset {
    outline: inset 10px;
    background-color: #c2d089;
}   
실제 적용된 모습
<p class="outset">outset</p>
.outset {
    outline: outset 10px;
    background-color: #c2d089;
}   
실제 적용된 모습
<p>outline(외곽선) 색상의 초깃값</p>
p {
    color: red;
    outline: 7px solid; /* outline(외곽선) 색상은 글자색인 red로 설정된다. */
} 

/* 요소에 마우스를 올려 놓았을 동안에는
   outline(외곽선) 색상은 글자색인 blue로 설정된다. */
p:hover {
    color: blue;
}
실제 적용된 모습 요소에 마우스 커서를 올려 보세요.
요소에 마우스 커서를 올려 놓았을 동안에는 outline(외곽선) 색상이 글자색인 blue로 설정됩니다.
<p>outline은 요소 자체나 주변 레이아웃에 영향을 주지 않습니다.</p>
<div class="box">box</div>
p {
    outline: 40px solid rgba(0, 0, 0, 0.4);
}
.box {
    width: 150px;
    height: 150px;
    border: 5px solid red;
    background-color: gold;
}
실제 적용된 모습
<div class="box"></div>
.box {
    width: 150px;
    height: 150px;
    background-color: gold;
    border-radius: 50%;
    border: 2px solid red;
    outline: 5px solid blue;
    outline-offset: 5px; /*  outline(외곽선)과 경계(border) 사이의 간격(5px)을 조정 */
}
실제 적용된 모습
button:focus {
    outline: none; /* 기본 스타일 제거 */
    box-shadow: 0 0 4px 2px #4CAF50; /* 대체 스타일 */
}
<button>포커스 스타일 버튼</button>
button {
    border: 1px solid #6699ff;
    padding: 0.8em;
    border-radius: 0.4em;
    background-color: #e6eeff;
    color: #003cb3;
}
button:focus { /*  포커스 스타일을 설정 */
    background-color: #ccddff;
    color: #002b80;
    outline: 2px dashed #003cb3;
    outline-offset: 3px;
}
실제 적용된 모습 버튼을 클릭하려고 누르면 포커스됩니다.