
w3.css
확장되는 그리드
CSS와 JavaScript를 사용하여 확장되는 그리드를 만드는 방법을 알아보자.
상자를 클릭하면 “확장”(100% 너비)된다.
박스 1
박스 2
박스 3
확장되는 그리드 만들기
1단계) HTML 추가
<!-- The grid: three columns -->
<div class="row">
<div class="column" onclick="openTab('b1');" style="background:green;">Box 1</div>
<div class="column" onclick="openTab('b2');" style="background:blue;">Box 2</div>
<div class="column" onclick="openTab('b3');" style="background:red;">Box 3</div>
</div>
<!-- The expanding grid (hidden by default) -->
<div id="b1" class="containerTab" style="display:none;background:green">
<!-- If you want the ability to close the container, add a close button -->
<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>
2단계) 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;
}
3단계) JavaScript 추가
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"; }[/code] [ex]예제 보기[/ex]
참고
W3C School - Expanding Grid