[CSS] border와 outline의 차이
Lpla
·2020. 10. 4. 21:08
반응형
어떤 요소에 테두리 효과를 주기 위해서 일반적으로 border를 사용한다.
border는 실제로 그만큼의 공간을 차지하게 되어 레이아웃에 영향을 끼친다.
div:hover{
border: 2px solid #e2012d;
}
반면 outline은 레이아웃에 영향을 끼치지 않는다.
div:hover{
outline: 2px solid #e2012d;
outline-offset: -2px;
}
이렇게만 보면 outline이 더 좋아 보인다.
다만 outline은 border-top, border-right 처럼 특정 부분만 효과를 줄 수 없으며, border-radius 같은 효과도 쓸 수 없다.
상황에 따라 잘 선택해서 사용해야 한다.
border를 사용하고도 간단한 눈속임을 쓴다면 레이아웃을 유지한 채 테두리 효과를 줄 수 있다.
div{
border: 2px solid transparent;
border-radius: 15px;
}
div:hover{
border: 2px solid #e2012d;
}
기본적으로 투명한 2px의 테두리 효과가 적용되어 있고 마우스를 올리면 색깔만 바뀌는 것이다.
반응형