자바스크립트로 동적으로 CSS Grid 레이아웃 변경하기
우선, HTML 파일에 CSS Grid를 설정해야 합니다. 다음은 예시입니다:
<!DOCTYPE html>
<html>
<head>
<style>
.grid-container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr;
gap: 10px;
}
.grid-item {
background-color: #ccc;
padding: 20px;
}
</style>
</head>
<body>
<div class="grid-container">
<div class="grid-item">1</div>
<div class="grid-item">2</div>
<div class="grid-item">3</div>
<div class="grid-item">4</div>
</div>
<script src="script.js"></script>
</body>
</html>
이제 스크립트 파일을 생성하고, 자바스크립트를 사용하여 CSS Grid 레이아웃을 변경해보겠습니다. 다음은 예시입니다:
// script.js 파일
// 필요한 DOM 요소들을 선택합니다.
const gridContainer = document.querySelector('.grid-container');
const gridItems = gridContainer.querySelectorAll('.grid-item');
// CSS Grid 레이아웃을 동적으로 변경합니다.
function changeGridLayout() {
// 새로운 grid-template-columns 값을 설정합니다.
const newColumns = '1fr 1fr';
gridContainer.style.gridTemplateColumns = newColumns;
// grid-item 요소의 배경색을 랜덤하게 변경합니다.
gridItems.forEach(item => {
const randomColor = '#' + Math.floor(Math.random() * 16777215).toString(16);
item.style.backgroundColor = randomColor;
});
}
// changeGridLayout 함수를 호출하여 레이아웃을 변경합니다.
changeGridLayout();
위의 예시 코드를 참고하여, 자바스크립트로 CSS Grid 레이아웃을 동적으로 변경할 수 있습니다. 자신의 프로젝트에 적용해보세요!