看書時某個章節講述手寫類似 bootstrap 的 css 網格系統
主要原理是 100% / 12 * N
12 可以是你需要的 column 數量
特別要注意重點
1.就是要加上百分比 % 符號
2.calc 計算中間要有空白否則會失效
因為太懶了腦洞大開可以直接用 sql 的 cte 進行程式碼產出
使用 cte 搭配 union all 產生 1-12 的數字
1 2 3 4 5 6 7 8 9 10 11
| WITH col (C) as( select C = 1 union all select C + 1 from col where C < 12 ) select '.column-' + CAST( C as nvarchar) + ' { width: calc( 100% / 12 * ' + CAST( C as nvarchar) + '); }' as 'css-calc-column' , '.column-' + CAST( C as nvarchar) + ' { width: ' + CAST ( C / 12.0 * 100 as nvarchar) + '%;}' as 'css-column' from col
|
最終結果如下
寫法1動態計算
1 2 3 4 5 6 7 8 9 10 11 12
| .column-1 { width: calc( 100% / 12 * 1); } .column-2 { width: calc( 100% / 12 * 2); } .column-3 { width: calc( 100% / 12 * 3); } .column-4 { width: calc( 100% / 12 * 4); } .column-5 { width: calc( 100% / 12 * 5); } .column-6 { width: calc( 100% / 12 * 6); } .column-7 { width: calc( 100% / 12 * 7); } .column-8 { width: calc( 100% / 12 * 8); } .column-9 { width: calc( 100% / 12 * 9); } .column-10 { width: calc( 100% / 12 * 10); } .column-11 { width: calc( 100% / 12 * 11); } .column-12 { width: calc( 100% / 12 * 12); }
|
寫法2靜態計算
1 2 3 4 5 6 7 8 9 10 11 12
| .column-1 { width: 8.333300%;} .column-2 { width: 16.666600%;} .column-3 { width: 25.000000%;} .column-4 { width: 33.333300%;} .column-5 { width: 41.666600%;} .column-6 { width: 50.000000%;} .column-7 { width: 58.333300%;} .column-8 { width: 66.666600%;} .column-9 { width: 75.000000%;} .column-10 { width: 83.333300%;} .column-11 { width: 91.666600%;} .column-12 { width: 100.000000%;}
|