189 8069 5689

使用Flex实现5种常用布局

Sticky Footer

成都创新互联公司长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为雁峰企业提供专业的做网站、成都网站设计雁峰网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

经典的上-中-下布局。

当页面内容高度小于可视区域高度时,footer 吸附在底部;当页面内容高度大于可视区域高度时,footer 被撑开排在 content 下方

demo link

 

 
 
 
 
  1.   
  2.   
  3.   
    HEADER
      
  4.   
  5.   
    CONTENT
      
  6.   
  7.   
    FOOTER
      
  8.   
  9.  

 

 
 
 
 
  1. body { 
  2.  
  3.   min-height: 100vh; 
  4.  
  5.   display: flex; 
  6.  
  7.   flex-direction: column; 
  8.  
  9.  
  10. article { 
  11.  
  12.   flex: auto; 
  13.  

Fixed-Width Sidebar

在上-中-下布局的基础上,加了左侧定宽 sidebar。

demo link

 

 
 
 
 
  1.  
  2.  
  3.   
    HEADER
     
  4.  
  5.    
  6.  
  7.      
  8.  
  9.     
    CONTENT
     
  10.  
  11.   
 
  •  
  •   
    FOOTER
     
  •  
  •  
  •  
     
     
     
    1. body { 
    2.  
    3.   min-height: 100vh; 
    4.  
    5.   display: flex; 
    6.  
    7.   flex-direction: column; 
    8.  
    9.  
    10. .content { 
    11.  
    12.   flex: auto; 
    13.  
    14.   display: flex; 
    15.  
    16.  
    17. .content article { 
    18.  
    19.   flex: auto; 
    20.  

    Sidebar

    左边是定宽 sidebar,右边是上-中-下布局。

    demo link

     

     
     
     
     
    1.  
    2.  
    3.    
    4.  
    5.    
    6.  
    7.     
      HEADER
       
    8.  
    9.     
      CONTENT
       
    10.  
    11.     
      FOOTER
       
    12.  
    13.   
     
  •  
  •  
  •  

     
     
     
     
    1. body { 
    2.  
    3.   min-height: 100vh; 
    4.  
    5.   display: flex; 
    6.  
    7.  
    8. aside { 
    9.  
    10.   flex: none; 
    11.  
    12.  
    13. .content { 
    14.  
    15.   flex: auto; 
    16.  
    17.   display: flex; 
    18.  
    19.   flex-direction: column; 
    20.  
    21.  
    22. .content article { 
    23.  
    24.   flex: auto; 
    25.  

    Sticky Header

    还是上-中-下布局,区别是 header 固定在顶部,不会随着页面滚动。

    demo link

     

     
     
     
     
    1.  
    2.  
    3.   
      HEADER
       
    4.  
    5.   
      CONTENT
       
    6.  
    7.   
      FOOTER
       
    8.  

     

     
     
     
     
    1. body { 
    2.  
    3.   min-height: 100vh; 
    4.  
    5.   display: flex; 
    6.  
    7.   flex-direction: column; 
    8.  
    9.   padding-top: 60px; 
    10.  
    11.  
    12. header { 
    13.  
    14.   height: 60px; 
    15.  
    16.   position: fixed; 
    17.  
    18.   top: 0; 
    19.  
    20.   left: 0; 
    21.  
    22.   right: 0; 
    23.  
    24.   padding: 0; 
    25.  
    26.  
    27. article { 
    28.  
    29.   flex: auto; 
    30.  
    31.   height: 1000px; 
    32.  

    Sticky Sidebar

    左侧 sidebar 固定在左侧且与视窗同高,当内容超出视窗高度时,在 sidebar 内部出现滚动条。左右两侧滚动条互相独立。

    demo link

     
     
     
     
    1.  
    2.  
    3.   
    4.  
    5.     ASIDE 
    6.  
    7.     

      item

       
    8.  
    9.     

      item

       
    10.  
    11.      
    12.  
    13.     

      item

       
    14.  
    15.    
    16.  
    17.    
    18.  
    19.     
      HEADER
       
    20.  
    21.     
      CONTENT
       
    22.  
    23.     
      FOOTER
       
    24.  
    25.   
     
  •  
  •  
  •  

     
     
     
     
    1. body { 
    2.  
    3.   height: 100vh; 
    4.  
    5.   display: flex; 
    6.  
    7.  
    8. aside { 
    9.  
    10.   flex: none; 
    11.  
    12.   width: 200px; 
    13.  
    14.   overflow-y: auto; 
    15.  
    16.   display: block; 
    17.  
    18.  
    19. .content { 
    20.  
    21.   flex: auto; 
    22.  
    23.   display: flex; 
    24.  
    25.   flex-direction: column; 
    26.  
    27.   overflow-y: auto; 
    28.  
    29.  
    30. .content article { 
    31.  
    32.   flex: auto; 
    33.  
    34. }  

    分享题目:使用Flex实现5种常用布局
    当前网址:http://www.cdxtjz.cn/article/djgjdss.html

    其他资讯