여러분이 사용하고 계신 브라우저는 HTML5를 지원하지 않기 때문에 몇몇 요소가 제대로 보이도록 JScript를 사용하고 있습니다. 하지만 여러분의 브라우저 설정에서 스크립트 기능이 꺼져있으므로, 현재 페이지를 제대로 확인하시려면 스크립트 기능을 켜주셔야 합니다. How To - 접이식 콘텐츠
How To – 접이식 콘텐츠
1주전 작성
3주전 수정

w3.css

접이식 콘텐츠

접을 수 있는 섹션을 만드는 방법을 알아보자.

접을 수 있는 콘텐츠 만들기

1단계) HTML 추가
<button type="button" class="collapsible">Open Collapsible</button>
<div class="content">
  <p>Lorem ipsum...</p>
</div>
2단계) CSS 추가
/* Style the button that is used to open and close the collapsible content */
.collapsible {
  background-color: #eee;
  color: #444;
  cursor: pointer;
  padding: 18px;
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
  font-size: 15px;
}

/* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */
.active, .collapsible:hover {
  background-color: #ccc;
}

/* Style the collapsible content. Note: hidden by default */
.content {
  padding: 0 18px;
  display: none;
  overflow: hidden;
  background-color: #f1f1f1;
}
3단계) ​​JavaScript 추가
var coll = document.getElementsByClassName("collapsible");
var i;

for (i = 0; i < coll.length; i++) {
  coll[i].addEventListener("click", function() {
    this.classList.toggle("active");
    var content = this.nextElementSibling;
    if (content.style.display === "block") {
      content.style.display = "none";
    } else {
      content.style.display = "block";
    }
  });
}
기본 예시
예제 보기

애니메이션 접이식 (슬라이드 다운)

애니메이션을 접을 수 있게 만들려면 패널 클래스에 max-height: 0, overflow: hidden 및 최대 높이 속성에 대한 전환을 추가한다.

그런 다음 JavaScript를 사용하여 다양한 화면 크기에서 패널의 높이에 따라 계산된 최대 높이를 설정하여 콘텐츠를 아래로 슬라이드한다.

예제
<style>
.content {
  padding: 0 18px;
  background-color: white;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}
</style>

<script>
var coll = document.getElementsByClassName("collapsible");
var i;

for (i = 0; i < coll.length; i++) {
  coll[i].addEventListener("click", function() {
    this.classList.toggle("active");
    var content = this.nextElementSibling;
    if (content.style.maxHeight){
      content.style.maxHeight = null;
    } else {
      content.style.maxHeight = content.scrollHeight + "px";
    }
  });
}
</script>
기본 예시
예제 보기

아이콘 추가

각 버튼에 접을 수 있는 콘텐츠가 열려 있는지 닫혀 있는지를 나타내는 기호를 추가한다.

예제
.collapsible:after {
  content: '\02795'; /* Unicode character for "plus" sign (+) */
  font-size: 13px;
  color: white;
  float: right;
  margin-left: 5px;
}

.active:after {
  content: "\2796"; /* Unicode character for "minus" sign (-) */
}
기본 예시
예제 보기
참고
Mingg`s Diary
밍구
공부 목적 블로그