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;
      }
    }
  }
}


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


目录
相关文章
|
分布式计算 Java Shell
Spark Shell入门教程(上)
Spark Shell入门教程(上)
1166 0
Spark Shell入门教程(上)
|
应用服务中间件 Linux PHP
nginx怎么部署php项目,如何php项目部署到nginx
php项目部署到nginx的方法:首先安装“Nginx”和“php-fpm”;然后将项目复制到“nginx/html”文件下;接着修改配置文件;最后重新载入Nginx并启动“php-fpm”即可。
|
前端开发 JavaScript Android开发
React-Native优质开源项目
React-Native优质开源项目
|
9月前
|
搜索推荐 数据挖掘 大数据
利用CRM系统实现老客户自动化运营与维护策略
在数字化时代,CRM系统成为企业洞察老客户需求、自动化运营和维护的核心工具。通过数据驱动的客户反馈收集、个性化服务与分层管理、自动化营销、客户关怀及忠诚度计划,企业能提升客户满意度与留存率,促进业务增长。CRM系统助力精准分析客户行为,优化营销策略,确保企业长期发展。
|
10月前
|
Java 网络安全 Nacos
Nacos作为流行的微服务注册与配置中心,其稳定性与易用性广受好评
Nacos作为流行的微服务注册与配置中心,其稳定性与易用性广受好评。然而,“客户端不发送心跳检测”是使用中常见的问题之一。本文详细探讨了该问题的原因及解决方法,包括检查客户端配置、网络连接、日志、版本兼容性、心跳检测策略、服务实例注册状态、重启应用及环境变量等步骤,旨在帮助开发者快速定位并解决问题,确保服务正常运行。
168 5
|
存储 前端开发 JavaScript
太爽了!这12个前端库,帮我在工作中赢得了不少摸鱼时间!!
太爽了!这12个前端库,帮我在工作中赢得了不少摸鱼时间!!
|
安全 物联网 大数据
量子加密:保障信息安全的新前沿
【9月更文挑战第15天】量子加密技术作为保障信息安全的新前沿,正以其独特的优势和潜力引领着信息安全领域的发展。随着技术的不断进步和应用的不断拓展,我们有理由相信量子加密技术将为全球信息安全事业带来革命性的变革。让我们共同期待这一时代的到来!
354 11
|
机器学习/深度学习 人工智能 算法
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
昆虫识别系统,使用Python作为主要开发语言。通过TensorFlow搭建ResNet50卷积神经网络算法(CNN)模型。通过对10种常见的昆虫图片数据集('蜜蜂', '甲虫', '蝴蝶', '蝉', '蜻蜓', '蚱蜢', '蛾', '蝎子', '蜗牛', '蜘蛛')进行训练,得到一个识别精度较高的H5格式模型文件,然后使用Django搭建Web网页端可视化操作界面,实现用户上传一张昆虫图片识别其名称。
638 7
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
|
运维 监控 容灾
实现Java应用的高可用与自动化运维
实现Java应用的高可用与自动化运维
|
存储 安全 Linux
Linux新手必备:关机重启、终端操作与快捷键大全
本文专为Linux新手打造,提供全面实用的指南,涵盖关机与重启命令(如`shutdown -h now`立即关机、`reboot`重启)、终端操作技巧(如使用`clear`清屏及Ctrl+L快捷键)、命令历史管理(利用`history`查看过往命令)及高效快捷键(如Ctrl+C复制、Ctrl+V粘贴),助您迅速掌握核心技能,成为Linux操作高手。
681 0