w3.css
반응형 이미지 갤러리
CSS를 사용하여 반응형 이미지 갤러리를 만드는 방법을 알아보자.
이미지 갤러리 만들기
1단계) HTML 추가
<div class="responsive"> <div class="gallery"> <a target="_blank" href="img_5terre.jpg"> <img src="img_5terre.jpg" alt="Cinque Terre"> </a> <div class="desc">Add a description of the image here</div> </div> </div> <div class="responsive"> <div class="gallery"> <a target="_blank" href="img_forest.jpg"> <img src="img_forest.jpg" alt="Forest"> </a> <div class="desc">Add a description of the image here</div> </div> </div> <div class="responsive"> <div class="gallery"> <a target="_blank" href="img_lights.jpg"> <img src="img_lights.jpg" alt="Northern Lights"> </a> <div class="desc">Add a description of the image here</div> </div> </div> <div class="responsive"> <div class="gallery"> <a target="_blank" href="img_mountains.jpg"> <img src="img_mountains.jpg" alt="Mountains"> </a> <div class="desc">Add a description of the image here</div> </div> </div> <div class="clearfix"></div>
2단계) CSS 추가
이 예에서는 미디어 쿼리를 사용하여 다양한 화면 크기의 이미지를 다시 정렬한다.
너비가 700px보다 큰 화면의 경우 4개의 이미지가 나란히 표시되고, 700px보다 작은 화면의 경우 2개의 이미지가 나란히 표시된다.
500px보다 작은 화면의 경우 이미지가 수직으로 쌓인다(100%).
div.gallery { border: 1px solid #ccc; } div.gallery:hover { border: 1px solid #777; } div.gallery img { width: 100%; height: auto; } div.desc { padding: 15px; text-align: center; } * { box-sizing: border-box; } .responsive { padding: 0 6px; float: left; width: 24.99999%; } @media only screen and (max-width: 700px) { .responsive { width: 49.99999%; margin: 6px 0; } } @media only screen and (max-width: 500px) { .responsive { width: 100%; } } .clearfix:after { content: ""; display: table; clear: both; }
기본 예시
예제 보기참고
W3C School - How TO - Responsive Image Gallery