종종 이 더 보기 / 접기를 위해 자바스크립트(특히 jQuery)를 이용하는 케이스가 꽤 많습니다.
하지만 화려한 효과 없이 이를 구현하는 건 HTML과 CSS만으로 충분합니다.
HTML
아마 대부분 깊이 살펴보지 않았을 HTML 태그 중 details
태그를 이용해 이를 구현할 수 있습니다.
details
태그 내부에 summary
태그를 추가하면 summary
태그만 표시되고, summary
를 클릭해야 details
내부의 나머지 내용이 표시됩니다.
이때 details
태그에 open
이란 속성이 토글됩니다.
CSS
summary 태그에 표시되는 삼각형은 summary::-webkit-details-marker 혹은 summary::marker로 수정하실 수 있습니다.
반드시 두 개에 대한 스타일은 아래와 같이 따로 작성해주셔야 합니다.
details
내부의 요소가 표시될 땐 animation을 추가했습니다.
opacity와 transform을 직접 추가하고 transition을 추가해도, display: block과 display: none을 토글하는 것처럼 transition이 작동하지 않으니, 반드시 animation을 추가하셔야 합니다.
ⓒ 2020. Marshall K All rights reserved