scss预处理器在项目中的常见用法

简介: scss预处理器在项目中的常见用法

循环生成字体水平方向上的对齐样式



@each $var in (left,center,right) {
  .text-#{var} {
    text-align: $var;
  }
}


定义网站色彩的基本样式库



1,定义网站的主色调


$colors: (
        'primary': #db9e3f,
        'info': #4b67af,
        'danger': #791a15,
        'blue-1': #1f3695,
        'blue': #4394e4,
        'white': #fff,
        'white-1': #fcfcfc,
        'white-2': #eceef0,
        'light': #f9f9f9,
        'light-1': #d4d9de,
        'grey': #999,
        'grey-1': #666,
        'dark-1': #343440,
        'dark': #222,
        'black': #000,
);


2.根据主色调生成字体样式和背景


@each $colorKey,$color in $colors {
  .text-#{$colorKey}{
    color:$color;
  }
  .bg-#{$colorKey}{
    background-color:$color
  }
}


生成网站的标准字体大小



1.首先,定义基本字体大小


$base-font-size: 1rem;


2.然后按照一定比列,得到其他的字体大小


$font-sizes: (
  xs:0.7692, //10px
  sm:0.9231,// 12px
  md:1, //13px
  lg: 1.0769, //14px
  xl:1.2308,
);


3.循环生成字体大小


@each $sizeKey, $size in $font-sizes {
  .fs-#{$sizeKey}{
    font-size: $size * $base-font-size;
  }
}


通用flex布局方式



1.flex基本布局


.d-flex {
  display: flex;
}


2.主轴的对齐方式


$flex-jc:(
  start: flex-start,
  end: flex-end,
  center: center,
  between: space-between,
  around: space-around,
);


3.循环生成主轴上的对齐样式


@each $key,$value in $flex-jc {
  .jc-#{$key} {
    justify-content: $value;
  }
}


同理,生成align-items的样式


$flex-ai:(
  start:flex-start,
  end:flex-end,
  center:center,
  stretch:stretch,
);
@each $key,$value in $flex-ai {
  .ai-#{$key} {
    align-items: $value;
  }
}


左边固定,右边自动占满


.flex-1 {
  flex:1;
}
// 精确写法
.flex-grow-1 {
  flex-grow:1;
}


规范网站边距



定义基本边距尺寸,方便以后修改


$spacing-base-size: 1rem;


定义边距的类型


$spacing-types:(
  m:margin,
  p:padding,
);


定义边距的方向


$spacing-directions:(
  t:top,
  r:right,
  b:bottom,
  l:left,
);


定义边距大小,设置0-5六个等级


$spacing-sizes:(
  0:0,
  1:0.25,
  2:0.5,
  3:1,
  4:1.5,
  5:3,
);


准备工作完成,循环生成三类样式,分别是


1.margin-top margin-bottom margin-left margin-right

2.margin,padding样式,及上下左右四个方向都有样式

3.左右,上边的margin和padding值


@each $typeKey, $type in $spacing-types {
  // .m-1 上下左右四个方向都有边距
  @each $sizeKey, $size in $spacing-sizes {
    .#{$typeKey}-#{$sizeKey} {
      #{$type}: $size * $spacing-base-size;
    }
  }
  // .mx-1 , .my-1 x表示水平方向上的边距,y表示竖直方向上的边距
  @each $sizeKey, $size in $spacing-sizes {
    .#{$typeKey}x-#{$sizeKey} {
      #{$type}-left: $size * $spacing-base-size;
      #{$type}-right: $size * $spacing-base-size;
    }
    .#{$typeKey}y-#{$sizeKey} {
      #{$type}-top: $size * $spacing-base-size;
      #{$type}-bottom: $size * $spacing-base-size;
    }
  }
  // .mt-1 具体的某个方向上的边距
  @each $directionKey, $direction in $spacing-directions {
    @each $sizeKey, $size in $spacing-sizes {
      .#{$typeKey}#{$directionKey}-#{$sizeKey} {
        #{$type}-#{$direction}: $size * $spacing-base-size;
      }
    }
  }
}


网站基本样式规范完毕!!!


目录
相关文章
|
29天前
|
存储 前端开发 开发者
深入了解 Sass 和 SCSS:CSS 预处理器的强大功能
Sass(Syntactically Awesome Stylesheets)是一个强大的 CSS 预处理器,为开发者提供了诸多高级特性,如变量、嵌套、混合、继承等,简化了 CSS 的编写和管理。SCSS 是 Sass 3 引入的新语法,完全兼容 CSS3,并增强了 Sass 的动态功能。本文详细介绍了 Sass 和 SCSS 的核心特性及其在实际开发中的应用,如变量定义、嵌套规则、混合、继承、以及常用的操作符与扩展功能。
27 0
|
5月前
|
存储 前端开发 编译器
【CSS预处理语言】less快速入门
【CSS预处理语言】less快速入门
69 1
|
6月前
|
JavaScript 前端开发 Shell
stylus详解与引入的例子
stylus详解与引入的例子
|
6月前
|
前端开发
【专栏:CSS进阶篇】CSS变量与预处理器(Sass/Less)
【4月更文挑战第30天】本文探讨了CSS变量和预处理器Sass的使用,以提升开发效率和代码可维护性。CSS变量通过--*语法定义,可在文档范围内重用,减少冗余,提高可维护性。Sass预处理器引入了变量、嵌套规则、混合和函数等特性,使CSS编写更简洁、可维护。Sass变量使用$符号定义,支持嵌套规则和混合,如定义border-radius混合以减少重复代码。Sass的高级功能使其成为强大工具。
142 0
|
前端开发 JavaScript
使用Vue编写css预处理器的方法
使用Vue编写css预处理器的方法
|
前端开发
详细介绍less(css预处理语言)
详细介绍less(css预处理语言)
105 0
|
前端开发
CSS预处理器Sass和Less的使用指南(下)
CSS预处理器Sass和Less的使用指南(下)
|
资源调度 前端开发 JavaScript
CSS预处理器Sass和Less的使用指南(上)
CSS预处理器Sass和Less的使用指南(上)
206 0
|
前端开发 编译器
Less-CSS预处理语言快速入门
Less-CSS预处理语言快速入门
91 0
|
前端开发
sass的使用方法
sass的使用方法