유동적인 레이아웃.... > 자유게시판

자유게시판

유동적인 레이아웃.... 정보

유동적인 레이아웃....

본문

 
 
일단 위에꺼처럼 4단 영역을 기준으로 잡아봤는데 문제가 있네요...
 
실시간으로 각 영역들이 추가 삭제 되어야 하는 방식인데..
 
문제는...
  
 
 
 
각 영역의 넓이가 고정이 아니라 이 동영상처럼 다르다고 가정하면
 
전체넓이와 맞지 않는 경우가 ㅠ.ㅠ
 
각 영역을 클릭해서 넓이를 조정하는 방식도 있긴 하지만 좀 구질구질한것 같아서... ;
 
이런방식이 아니더라도 뭔가 좋은 방법이나 참고할만한 사이트 없을까요?
 
 
추천
0
  • 복사

댓글 11개

어떤 방식인진 몰라도
sec8 의 del 을 누른 순간, 다음 sec 인 곳에 sec8 의 width 를 넘겨 주면 되지 않을까요?

그러나 기초적인면으로 봤을 땐 sec9 의 width 를 늘리지 않은 상태로 sec8 값을 9로 대입하는 건 맞지 않는 것 같네요
문제는 sec9 가 어디 붙어있는지 모른다는거네요 ㅠ.ㅠ
sec8이 사라진다고 꼭 윗쪽으로 붙는다는 가정도 없구요..

일단 동일한 넓이로만 되어있으면 문제는 없을듯 한데..
만들어 놓고 보니 시도 자체가 잘못된것 같기도 하고 ;;
사용자가 레이아웃을 유동적으로 구성한다고 했을때 뭔가 좋은방법이 없을까요?
유동적인건 css 쪽으로 접근하는 게 가장 좋을 것 같은데
현재 하던 방식대로 하자면 sec9 가 next() 로 잡히지 않던가요?
아니면 length 로 접근해서 del 클릭 다음 것을 인식해도 나쁘지 않을 것 같은데...
sec8 을 삭제하면 그 다음에 있는 영역의 넓이를 sec8 넓이로 대체한다는 말씀이시죠?
움.. 약간의 문제만 해결하면 가능할수도 있을것 같기는 한데...
문제가 어떤 영역이 행의 마지막에 있는지를 알아내야 해서...

1. sec8 가 행의 마지막열에 있는 경우 => 다음행의 첫번째 영역넓이를 sec8 넓이로 대체
2. sec8 가 중간에 있는 경우 => 다음행의 첫번째 영역 넓이를 sec8 넓이로 대체

요렇게 하면 될것 같은데.. 각 영역이 어느 행에 있는지 알아내는게 문제네요 ㅠ.ㅠ
하다보면 답이 나올 것 같네요.

일단 생성, 크기 변경 될 때마다 배열로 만들고 [] = 100, 200, 100
del 로 삭제시 배열이 자동으로 한칸씩 땡겨지면 맨 마지막이 비여지는데 그건 생성 시킬 때 배열을 다시 만드니 상관없네요

두 번째인 sec2 삭제 한다고 가정시 sec3 의 사이즈가 sec2 가 되는 것이죠.

예상)
<style>
.secs div{border:1px solid #ccc;}
</style>
<div class="secs">
    <div class="sec1">sec1</div>
    <div class="sec2">sec2</div>
    <div class="sec3">sec3</div>
</div>
<script>
arr_width = [100,200,300];
$(function(){
    div=$('.secs div');
    $('.secs div').click(function(){
        $(this).hide();
        _resize();
    });

    function _resize() {
        $('.secs div:visible').each(function(i){
            $(this).css('width', arr_width[i] + 'px');
        });
    }
    _resize();
});
</script>


문제가 되는 부분이 위 이미지에서 빨간영역이 삭제된다고 했을때 (바로 다음요소가 아닐수도 있다는거죠)
다음행의 첫번째 요소인 sec9 가 딸려올라오게 되는데 그걸 구하는게 문제일듯 해요
각각의 요소들마다 넓이값을 계산해서 구해야 하나 ㅠ.ㅠ
바쁘실텐데 조언해 주셔서 감사합니다 (_ _)
안그래도 요즘 반응형이 필요한 곳이 많아서 전진님 강좌를 정주행 해볼까 하는데 css는 영 쥐약이라 ㅠ.ㅠ
비슷한 방식이 있는지는 모르겠지만 한번 참조해 보겠습니다 ^^
© SIRSOFT
현재 페이지 제일 처음으로