본문 바로가기

레이아웃의 다단을 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 로 확인 할 수 있습니다.

JOS39 블로그

여행과 맛집 그리고 일상에 대해 나만 몰랐던 이야기들..