만드는 방법:확장网格

CSS와 JavaScript를 사용하여 확장 가능한网格를 만들어보세요.

확장网格

한 박스를 클릭하여 "확장"합니다(100% 너비):

박스 1
박스 2
박스 3

직접 시도해 보세요

创建扩展网格

第一步 - 添加 HTML:

<!--网格:三列-->
<div class="row">
  <div class="column" onclick="openTab('b1');" style="background:green;">박스 1</div>
  <div class="column" onclick="openTab('b2');" style="background:blue;">박스 2</div>
  <div class="column" onclick="openTab('b3');" style="background:red;">박스 3</div>
</div>
<!--扩展网格(默认隐藏)-->
<div id="b1" class="containerTab" style="display:none;background:green;">
  <!--如果你想要关闭容器的功能,请添加一个关闭按钮-->
  <span onclick="this.parentElement.style.display='none'" class="closebtn">x</span>
  <h2>Box 1</h2>
  <p>Lorem ipsum..</p>
</div>
<div id="b2" class="containerTab" style="display:none;background:blue">
  <span onclick="this.parentElement.style.display='none'" class="closebtn">x</span>
  <h2>Box 2</h2>
  <p>Lorem ipsum..</p>
</div>
<div id="b3" class="containerTab" style="display:none;background:red">
  <span onclick="this.parentElement.style.display='none'" class="closebtn">x</span>
  <h2>Box 3</h2>
  <p>Lorem ipsum..</p>
</div>

두 번째 단계 - CSS 추가:

세 개의 열을 생성:

/* 그리드: 세 개의 동일한 너비의 열, 서로浮动 */
.column {
  float: left;
  width: 33.33%;
  padding: 50px;
  text-align: center;
  font-size: 25px;
  cursor: pointer;
  color: white;
}
.containerTab {
  padding: 20px;
  color: white;
}
/* 열 뒤의浮动 제거 */
.row:after {
  content: "";
  display: table;
  clear: both;
}
/* 이미지 내의 닫기 버튼 */
.closebtn {
  float: right;
  color: white;
  font-size: 35px;
  cursor: pointer;
}

세 번째 단계 - JavaScript 추가:

// 모든 class="containerTab" 요소를 숨기지만 클릭 가능한 그리드 열과 일치하는 요소를 제외하고
function openTab(tabName) {
  var i, x;
  x = document.getElementsByClassName("containerTab");
  for (i = 0; i < x.length; i++) {
    x[i].style.display = "none";
  }
  document.getElementById(tabName).style.display = "block";
}

직접 시도해 보세요