ホームページ > 記事 > ウェブフロントエンド > モバイル グリッド システムの Sass バージョンを構築するための 3 分と 13 行のコード_html/css_WEB-ITnose
一般に、グリッド システムはコンテナ、行、列の 3 つの部分に分かれており、コンテナは通常、コンテンツを中央に配置する役割を担います。これは PC 側により適していますが、大規模な場合には実際には必要ありません。携帯端末なので直接切り取り、行と列だけを残します。
コード:
@mixin row() { width: 100%; display: flex;}@mixin col($num, $total: 1) { // 如果$total为默认的1,则表示等分的$num分之一 // 否则计算$num/$total @if $total == 1 { width: 100% / $num; } @else { width: percentage($num / $total); }}
使用方法:
.row{ @include row;}// col的命名规范为col-占的格子数-总的格子数.col-1-2{ @include col(2);}.col-1-3{ @include col(1, 3);}.col-2-3{ @include col(2, 3);}.col-1-4{ @include col(4);}.col-3-4{ @include col(3, 4);}.col-2-5{ @include col(2,5);}
最後に、多用途で制御可能なグリッド システムに拡張します:
@charset "UTF-8";//-----------------------------------------------------// grid system//-----------------------------------------------------$gridFlex: false !default;$gridRowClearfix: false !default; // 如果采用float,子元素清除浮动使用clearfix或overflow$gridClass: false !default;// row@mixin row() { width: 100%; @if $gridFlex { display: flex; } @else if $gridRowClearfix{ @extend %clearfix; } @else { overflow: hidden; }}// col@mixin col($num, $total: 1) { @if not $gridFlex { float: left; } // 如果$total为默认的1,则表示等分的$num分之一 // 否则计算$num/$total @if $total == 1 { width: 100% / $num; } @else { width: percentage($num / $total); }}// 是否开启class@if $gridClass { .row{ @include row; } .col-1-2{ @include col(2); } .col-1-3{ @include col(1, 3); } .col-2-3{ @include col(2, 3); } .col-1-4{ @include col(4); } .col-3-4{ @include col(3, 4); } .col-1-5{ @include col(5); } .col-2-5{ @include col(2, 5); } .col-3-5{ @include col(3, 5); } .col-4-5{ @include col(4, 5); }}