ContainerLayout.vue 778 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <template>
  2. <div class="container">
  3. <div class="header">
  4. header
  5. </div>
  6. <div class="content">
  7. <div class="main">
  8. main
  9. </div>
  10. <div class="aside">
  11. aside
  12. </div>
  13. </div>
  14. <div class="footer">
  15. footer
  16. </div>
  17. </div>
  18. </template>
  19. <style>
  20. .container{
  21. display:flex;
  22. /* 垂直*/
  23. flex-direction: column;
  24. width:100%;
  25. /*视口被均分为100单位的vh 占据整个窗口 扣掉顶部topNav的距离后,计算得到container的高度*/
  26. height:calc(100vh - 100px);
  27. }
  28. .header{
  29. /*放大缩小比例为0 */
  30. height: 400px;
  31. flex:0 0 100px;
  32. }
  33. .footer{
  34. height: 100px;
  35. flex:0 0 100px;
  36. }
  37. .content{
  38. display: flex;
  39. flex:1;
  40. }
  41. .aside{
  42. flex:0 0 80px;
  43. }
  44. .main{
  45. overflow:scroll;
  46. flex:1;
  47. }
  48. </style>