레이아웃의 다단을 100% 로 맞추기
레이아웃을 구성 시 2단 또는 3단 이상의 다단을 구성할때 상위 Tag
에 대해 가로 100%로 자동 맞춰지는 자바스크립트 입니다.
예를들어 만약 레이아웃을 4단으로 구성한다고 했을 때 3개의 단에 대해서는 px
또는 %
로 고정값을 지정하고 나머지 하나의 단에 대해서만 .pct
클래스를 지정해 주면 `.pct’ 클래스가 자동으로 맞춰 줍니다.
HTML
<div class='multiColumn'>
<div>1단</div>
<div>2단</div>
<div class='pct'>3단</div>
<div>4단</div>
</div>
JAVASCRIPT
$(function () {
contentLayAutoWidth();
});
$(window).resize(function () {
contentLayAutoWidth();
});
/* 레이아웃의 다단 단수를 100%로 채움 */
function contentLayAutoWidth() {
$('.multiColumn > .pct').css("width", function (index) {
var siblingsWidthSum = 0;
var parentPadding = 1;
var siblingsMargin = 10;
var parentWidth = $(this).parent().innerWidth();
$(this).siblings().each(function () {
siblingsWidthSum = siblingsWidthSum + ($(this).outerWidth() + siblingsMargin);
});
index = parentWidth - siblingsWidthSum - parentPadding;
return index;
});
}
CSS
.multiColumn div {
width:20%;
height:200px;
margin:0 2px;
border:1px #ddd solid;
float:left
}
.multiColumn div.pct {
border:1px #fdd solid
}
jsfiddle 로 확인 할 수 있습니다.