오늘 한 것
IR 기법
- IR 기법은 배경을 이미지로 처리하고 그에 맞는 text를 삽입하는 것이다.
- 가시적으로는 이미지로 보이지만 스크린리더 등을 활용할 시 숨겨둔 삽입 text로 알 수 있어 접근성을 높인다.
padding을 이용한 IR 기법
- 대표적인 IR 기법은 padding과 overflow: hidden을 이용한 기법이다.
1 | .btn-prev, |
1 | <div class="btn-event"> |
aria-label 속성을 이용
- 다만 굳이 padding과 overflow를 통해 text를 밀어내는 것 보다
aria-label
속성이 훨씬 효과적인 듯하다.
1 | .btn-event { |
1 | <div class="btn-event"> |
위처럼
aria-label
값에 padding trick을 사용할 때 쓰는 text를 넣어주면 간단하게 해결된다. 굳이 배경처리를 위해 text를 숨길 노력이 필요없다.aria-label
은 스크린리더 등이 값을 읽어주기 때문에 접근성 또한 떨어지지 않는다.위의 두가지 방법 모두 이미지와 같이 동일하게 출력된다.
다른 예재를 통한 IR 기법
1 | <article class="slogan"> |
- padding과 overflow 사용
1 | .slogan-heading { |
- 가상요소를 활용한 기법
1 | /*text처리된 요소 뒤에 가상요소로 배경을 넣어준다.*/ |
<h2>
내부<span>
두개를 만들고<span>
하나에 text, 하나에는 배경 이미지를 만들어position: absolute
로 겹쳐 배경만 표시하는 방법도 있다.
counter-reset 속성
1 | .favorite-list li { |
- 위와 같이 counter-reset 속성을 이용하면 아래처럼 요소 앞에 가상요소 선택자를 통해 정렬된 숫자를 표기할 수 있다.
- 그게 아니라면 아래 코드를 목록 수 만큼 반복해야한다.
1 | .favorite-list li:nth-child(1) { |
기타
- 아래의 이미지 한장으로 네이버 메인의 모든 배경 이미지 처리가 가능함.
- 좌표값만을 통해 한장의 이미지로 각각 다른 배경을 연출한다.
- 클라이언트 입장에서도 적은 데이터 사용이 가능하여 비용을 절감한다.