速通sass基础语法

速通Sass语法:

sass的特点:

由于css的缺陷:无法自定义变量,不可引用,嵌套等。sass/scss/less等css预处理器产生。以sass为例,引入了变量、嵌套、运算、混入(Mixin)、继承、颜色处理、函数等诸多功能。方便css的开发维护。

变量

使用变量

sass 复制代码
div {
  color: $blue;
}

插值使用变量#{$var}

sass 复制代码
$side: left;
$my-radius: 5px;
.rounded {
  border-#{$side}-radius: $my-radius;
}
其中 border-#{$side}-radius: $my-radius; 渲染结果为:border-left-radius: 5px;

运算

sass 复制代码
$var: 100px;
body {
  margin: (14px/2);
  top: 50px + 100px;
  right: $var * 10%;
}

嵌套

sass 复制代码
body{
	h3{
	  top:10px;
	}
}

注释

sass 复制代码
/* 块注释 */
// 行注释

混入(Mixin)

sass 复制代码
@mixin bordered {
  border-top: dotted 1px black;
  border-bottom: solid 2px black;
}
#menu a {
  color: #111;
  @include bordered;
}
.post a {
  color: red;
  @include bordered;
}

函数

sass 复制代码
@function double($n) {
  @return $n * 2;
}
#sidebar {
  width: double(5px);
}

判断逻辑

if-else

sass 复制代码
$color: red;
p {
  color: $color;
  @if $color == red {
    background-color: #000;
  } @else {
    background-color: #fff;
  }
}
for/while/each
sass 复制代码
@for $i from 1 to 10 {
  .border-#{$i} {
    border: #{$i}px solid blue;
  }
}
$i: 6;
@while $i > 0 {
  .item-#{$i} { width: 2em * $i; }
  $i: $i - 2;
}

@each $member in a, b, c, d {
  .#{$member} {
    background-image: url("/image/#{$member}.jpg");
  }
}
其中.#{$member} 是#{$member}字符串插值写法。

继承

sass 复制代码
.class1 {
  border: 1px solid #ddd;
}

.class-sub {
  @extend .class1;
  font-size: 120%;
}
相关推荐
Maimai1080817 分钟前
React 多步骤表单工程化落地:从 Zod Schema、React Hook Form 到 Zustand 持久化
前端·javascript·react.js·前端框架·状态模式
程序员码歌18 分钟前
我是怎么部署开源 AI 编程助手 OpenCode,并在两个真实场景使用起来的
前端·人工智能·后端
Maimai1080820 分钟前
React Query + Zustand 正确结合方式:不要把接口数据复制进 Store
前端·javascript·react.js·前端框架·web3·状态模式
天才熊猫君22 分钟前
层叠上下文 z-index 的简单理解
前端
i220818 Faiz Ul23 分钟前
智慧养老平台|基于SprinBoot+vue的智慧养老平台系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·毕设·智慧养老平台
AI砖家23 分钟前
每日一个skill:web-artifacts-builder,构建复杂 Claude.ai HTML Artifact 的生产力工具包
java·前端·人工智能·python
icc_tips26 分钟前
Flutter runAppAsync() 详解:干净的异步应用启动
前端·flutter
转转技术团队27 分钟前
AI新名词比我头发掉得还快
前端
Lkstar28 分钟前
Pinia 进阶:Setup Store、插件系统与状态持久化,一篇全搞懂
前端·vue.js
yzin28 分钟前
cjs 和 esm 的差异总结&最佳实践
前端·javascript