| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
- #jQuery
- #이미지
- 웹솔루션
- php
- CGIMALL
- #CSS
- happycgi
- javascript
- 해피CGI
- #cgimall
- CSS
- 이미지
- jquery
- #뉴스
- #솔루션
- 솔루션
- #웹솔루션
- 게시판
- 홈페이지
- #쇼핑몰
- #해피CGI
- #업종별
- 해피씨지아이
- #홈페이지제작
- 사이트제작
- #홈페이지
- #happycgi
- #image
- 홈페이지제작
- #동영상
- Today
- Total
웹솔루션개발 26년 노하우! 해피CGI의 모든것
[해피CGI][cgimall] 그리드 재배치 애니메이션CSS 본문
그리드 카드의 위치가 바뀔 때 CSS만으로 부드러운 이동 효과를 구현한 예제입니다.
JavaScript 없이 레이아웃 변화에 따른 애니메이션을 적용할 수 있습니다.
카드 목록, 갤러리, 대시보드 UI의 전환 효과를 만들 때 참고하기 좋습니다.

HTML 구조
<div class="container">
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
<div class="cell">
<div class="content">CONTENT</div>
</div>
</div>
CSS 소스
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
.container {
display: grid;
grid-template-columns: repeat(auto-fill, 6rem);
gap: 1em;
}
.cell {
height: auto;
aspect-ratio: 1;
anchor-scope: --a;
anchor-name: --a;
}
.content {
position: absolute;
position-anchor: --a;
inset: anchor(inside);
width: 6rem;
height: 6rem;
background: white;
border: 1px dotted black;
border-radius: 0.5rem;
place-content: center;
text-align: center;
transition: inset 0.2s ease;
}
body {
padding: 5vh;
}

