안녕하세요 flexBox Model 중


flex-direction( 플렉스 - 방향 ) 에 대해서 작성 하려고 합니다. ( 테스트한 전체 코드는 포스팅 하단에 있습니다. )


flex-direction


  • row (default)
  • row-reverse
  • column
  • column-reverse


  • flex-direction 이라 함은 컨테이너 내부의 아이템들이 만들어지는 방향을 뜻 합니다.

     



    안의 초록 박스가 Items (이후에도 계속 해당 방식으로 작성 하려고합니다. )


    겉의 빨간 줄? 로 덮여진 박스가 Container 라고 보시면 됩니다.


    1.  row (default)



    좌 -> 우로 만들어지는 방식이며

    <container>

    <box>

    <box>

    <box>

    <box>

    </container> 상태에서 <box>태그를 하나 더 추가한다면 점선으로 되어있는 쪽에 추가가 될 것입니다.

    - 결과 화면


    2. row-reverse


    row의 리버스 형태로 우 -> 좌로 만들어지는 형태입니다. 아이템을 추가할때 마다 우측에서 붙습니다. 


    - 결과 화면



    3. column


    위 에서 아래로 붙습니다. 새로운 아이템 추가시 위 부터 차례로 붙습니다.


    - 결과 화면



    4. column-reverse





    column 의 리버스 형태로 아래에서 위로 생성 됩니다. 새롭게 생성되는 아이템은 가장 최상단 부터 생성됩니다.

    - 결과 화면 






    확인 코드 (html) 그대로 복붙 하셔서 test.html 로 만들면 됩니다.!




    
    
    <!DOCTYPE html>
    <html>
    <head>
          <meta charset="utf-8">
          <title> CSS3 FlexBox </title>
    <head>
    <style>
    /* padding 및 border를 width 와 height 에 포함한다.  margin X  > box-sizing:border-box */
    *{
          box-sizing:border-box;
          
    }
    html,body{
       display:-webkit-flex;
       display:flex;
    
       flex-wrap:wrap;
       -webkit-flex-wrap:wrap;
       
       width:100%;
       height:100%;
       padding:0;
       margin:0;
    }
    
    header{
       display:flex;
       flex-direction:row;
       width:100%;
       height:80px;
       background-color:#DAD9FF;
       text-align:center;
    }
    
    div#bodyLayout{
       display:flex;
       
       width:100%;
       height:calc(100% - 180px);
    }
    
    nav {
       display:flex;
       width:10%;
       height:100%;
       background-color:#4641D9;
       color:white;
    }
    
    article{
       display:flex;
       flex-direction:column;
       width:90%;
       height:calc(100%);
       background-color:#FFD9EC;
       border : solid 3px black;
       padding: 15px;
       overflow-y:auto;
    }
    
    article .block{
          display:flex;
          flex-direction:row;
          align-items :center;
          border : solid 2px #FF007F;
          padding :2px;
          width:100%;
          min-height:80px;
          
          overflow-x:auto;
          overflow-y:hidden;      
          margin-bottom:3px;
        
          font-size:12px;
          font-weight:700;
     
    }
    article .columnblock{
          display:flex;
          flex-direction:row;
          align-items :center;
          border : solid 2px #FF007F;
          padding :2px;
          width:100%;
          min-height:200px;
          
          overflow-x:auto;
          overflow-y:hidden;
          margin-bottom:3px;
          
          font-size:12px;
          font-weight:700;
    
    
    
    
    }
    article span{
          line-height: 30px; 
          display:inline-block;
          vertical-align:middle;
          background-color:aquamarine;
          text-align:center;
          height:30px;
          width:30px;
          margin:5px;
        
    
    }
    footer{
       width:100%;
       height:100px;
       background-color:orange;
    }
    
    </style>
       <body>
             <header>
                   header 태그입니다.   
                <div style="display:flex;width:250px;height:50px; border : solid 2px #FF007F;
                align-items:center;align-self:center;justify-content:center;margin:0px 50px 0px 0px;
                font-size:10px;font-weight:600;">
                      flex-Container 테스트 
                </div>
                <div style="display:flex;width:250px;height:50px; border : solid 2px #E1FF36;
                align-items:center;align-self:center;justify-content:center;
                font-size:10px;font-weight:600;">
                      flex-Items 테스트 
                </div>
             </header>
             <div id="bodyLayout">
                <nav>
                   <ul>
                      <li>nav Tag</li>
                   </ul>
                </nav>
                
                <article>
                      <div class="block">
                            <div style="display:flex">
                                  <span></span><span></span><span></span><span></span>
                            </div>            
                            display:flex
                      </div>
    
                      <div class="block">
                                 <div style="display:flex;flex-direction:row">
                                   <span>A</span><span>B</span><span>C</span><span>D</span>
                                 </div>         
                            display:flex </br>
                            flex-direction  : row (default)   
                      </div>
                      
                    
                      <div class="block">
                                  <div style="display:flex;flex-direction:row-reverse">
                                   <span>A</span><span>B</span><span>C</span><span>D</span>
                                  </div>       
                                  display:flex</br>
                                  flex-direction  : row-reverse</br>     
                      </div>
    
    
                      <div class="columnblock">
                            <div style="display:flex;flex-direction:column">
                             <span>A</span><span>B</span><span>C</span><span>D</span>
                            </div>       
                            display:flex</br>
                            flex-direction  : column</br>     
                      </div>
    
                      <div class="columnblock">
                            <div style="display:flex;flex-direction:column-reverse">
                             <span>A</span><span>B</span><span>C</span><span>D</span>
                            </div>       
                            display:flex</br>
                            flex-direction  : column-reverse</br>     
                      </div>
    
                </article>
             </div>
          
             <footer>
                      footer 입니다.
             </footer>
          <script>
             window.addEventListener('load',function(){
                    console.warn('onLoad flexBox Test')
             });   
             
             window.addEventListener('unload',function(){
                     alert("unLoad flexBox Test");
             });   
             /*
                load = 페이지를 전부 다 읽어 들인 후 발생
                unload = 페이지로부터 빠져나갈때 빨생  
                
                
             */
       
          </script>
    
       </body>
    </html>
    
    
    


    + Recent posts