focus-visible()

포커스 비저블(:focus-visible) 상태 믹스인

용도

:focus-visible 가상 클래스를 사용해 키보드 포커스와 마우스 포커스 상태를 다르게 처리할 때 사용합니다.

사용법

focus-visible() 믹스인을 호출합니다. 색상과 테두리 두께 값를 옵션으로 전달할 수 있습니다.

focus-visible($color:color, $thickness:number)

.focusVisible {
  @include focus-visible();
}

매개변수(parameter)

유형(type)

필수(required)

기본 값(default)

$color

color

get-color(state-focus)

$thickness

number

3px

위 예시 코드는 아래의 CSS로 컴파일 되어 출력됩니다.

.focusVisible:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(24, 112, 212, 0.7);
}

.focusVisible:focus:not(:focus-visible) {
  outline: none;
  box-shadow: none;
}

.focusVisible:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(24, 112, 212, 0.7);
}

포커스 비저블 상태의 색과 두께를 설정

색상과 테두리 두께 값을 믹스인 호출 과정에 전달합니다.

위 예시 코드는 아래의 CSS로 컴파일 되어 출력됩니다.

로직

focus-visible() 믹스인은 다음의 로직에 의해 작성되었습니다.

  1. 전달 받은 값이 없을 경우, 기본 값(색상, 테두리 두께)을 사용

  2. 전달 받은 값이 있을 경우 색상, 테두리 두께 값을 설정하여 코드 출력

참고

믹스인에 사용된 Sass의 빌트인 모듈은 다음과 같습니다.

Last updated

Was this helpful?