viewport 크기가 변해도, 가로:세로 비율이 항상 일정하게 유지되는 box 를 만들어보겠습니다.
JS 필요없이 CSS 로만 구현 가능합니다.
HTML
<div class="box"> <div class="content">1:1 비율</div> </div>
CSS
.box { position: relative; width: 50%; /* 원하는 너비 */ } .box:before { content: ""; display: block; padding-top: 100%; /* 1:1 비율 */ } .content { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
가로:세로 비율을 2:1 로 하고 싶다면, padding-top 을 50% 로, 1:2 로 하고 싶다면, 200% 로 선언하면 됩니다.
눈치채셨겠지만, padding-top = 세로 / 가로 * 100
어느한 크기 이하부터는 정사각형이 깨지기 시작하는데 .. 이유를 알수 있을까요?
감사합니다.
다른 코드 쓰다가 다른 소스에 적용하니 안됐었는데…. 이걸로 해결하네요. 목말랐는데..