CSS: Flex
w3schools CSS Flexbox
- 基本教學可參考這兩篇
- Flexbox Froggy
- 圖解:CSS Flex 屬性一點也不難
簡介:用 flex 表現出 table 的格式
CSS 設定
<style>
.rowFlex {
display: flex;
flex-wrap: nowrap;
justify-content: flex-start;
}
.rowFlex .item,
.rowFlex .doubleItem {
/*border: 1px solid #32383e;*/
border-color: #32383e;
border-style: solid;
border-width: 1px 1px 1px 1px;
text-align: center;
}
.item {
flex: 1 0 10%;
}
.doubleItem {
flex: 2 0 20%;
}
.hiddenItem {
flex: 1 0 10%;
}
.bold {
font-weight: bold;
}
.divTop {
width: 50%;
}
</style>
正常 Table
<div class='divTop'>
<div class='rowFlex'>
<div class='item bold'>1</div>
<div class='item bold'>2</div>
</div>
<div class='rowFlex'>
<div class='item'>3</div>
<div class='item'>4</div>
</div>
</div>
Row Span Table
<div class='divTop'>
<div class='rowFlex'>
<div class='doubleItem bold'>1</div>
</div>
<div class='rowFlex'>
<div class='item'>3</div>
<div class='item'>4</div>
</div>
</div>
Column Span Table
<div class='divTop'>
<div class='rowFlex'>
<div class='item bold'>1</div>
<div class='item'>
<div class='rowFlex'>
<div class='item'>2</div>
</div>
<div class='rowFlex'>
<div class='item'>4</div>
</div>
</div>
</div>
</div>
Sparse Table
<div class='divTop'>
<div class='rowFlex'>
<div class='doubleItem bold'>1</div>
</div>
<div class='rowFlex'>
<div class='hiddenItem'></div>
<div class='item'>4</div>
</div>
</div>
參考
圖解:CSS Flex 屬性一點也不難
Flexbox in CSS
Flexbox Froggy
深入解析 CSS Flexbox
Column Span 範例用巢狀 rowFlex 模擬跨列,這個做法適合展示視覺配置;如果內容是真正的資料表,仍建議保留 table 的標題與儲存格關係。若拿來排影片編輯器的素材卡片,flex 就很合適,例如把 background removal before video compositing 準備好的素材與原始影片並列。此時除了比例,也應測試影片縮圖載入前後的尺寸,避免對齊只在固定文字範例裡成立。
回覆刪除