[Web] CSS Flex to Table

CSS: Flex
w3schools CSS Flexbox
基本教學可參考這兩篇
Flexbox Froggy
圖解:CSS Flex 屬性一點也不難
簡介:用 flex 表現出 table 的格式

CSS 設定

  1. <style>
  2. .rowFlex {
  3. display: flex;
  4. flex-wrap: nowrap;
  5. justify-content: flex-start;
  6. }
  7.  
  8. .rowFlex .item,
  9. .rowFlex .doubleItem {
  10. /*border: 1px solid #32383e;*/
  11. border-color: #32383e;
  12. border-style: solid;
  13. border-width: 1px 1px 1px 1px;
  14. text-align: center;
  15. }
  16.  
  17. .item {
  18. flex: 1 0 10%;
  19. }
  20.  
  21. .doubleItem {
  22. flex: 2 0 20%;
  23. }
  24.  
  25. .hiddenItem {
  26. flex: 1 0 10%;
  27. }
  28.  
  29. .bold {
  30. font-weight: bold;
  31. }
  32.  
  33. .divTop {
  34. width: 50%;
  35. }
  36.  
  37. </style>

正常 Table


1
2
3
4
  1. <div class='divTop'>
  2. <div class='rowFlex'>
  3. <div class='item bold'>1</div>
  4. <div class='item bold'>2</div>
  5. </div>
  6. <div class='rowFlex'>
  7. <div class='item'>3</div>
  8. <div class='item'>4</div>
  9. </div>
  10. </div>

Row Span Table


1
3
4
  1. <div class='divTop'>
  2. <div class='rowFlex'>
  3. <div class='doubleItem bold'>1</div>
  4. </div>
  5. <div class='rowFlex'>
  6. <div class='item'>3</div>
  7. <div class='item'>4</div>
  8. </div>
  9. </div>

Column Span Table


1
2
4
  1. <div class='divTop'>
  2. <div class='rowFlex'>
  3. <div class='item bold'>1</div>
  4. <div class='item'>
  5. <div class='rowFlex'>
  6. <div class='item'>2</div>
  7. </div>
  8. <div class='rowFlex'>
  9. <div class='item'>4</div>
  10. </div>
  11. </div>
  12. </div>
  13. </div>

Sparse Table


1
4
  1. <div class='divTop'>
  2. <div class='rowFlex'>
  3. <div class='doubleItem bold'>1</div>
  4. </div>
  5. <div class='rowFlex'>
  6. <div class='hiddenItem'></div>
  7. <div class='item'>4</div>
  8. </div>
  9. </div>

參考

圖解:CSS Flex 屬性一點也不難
Flexbox in CSS
Flexbox Froggy
深入解析 CSS Flexbox

留言