百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

Sass 循环语句 sasdo循环

yuyutoo 2024-10-12 00:01 6 浏览 0 评论

本节我们学习 Sass 中的循环语句,Sass 中的循环语句可以使用 @for 指令和 @while 指令来实现。

@for指令

@for 指令可以用于循环生成样式,@for 指令有两种类型,如下所示:

Bash
// 第一种
@for $i from <start> through <end>
    
// 第二种
@for $i from <start> to <end>

其中 $i 表示变量,start 表示起始值,end 表示结束值。其实这两种方式的区别就在于,使用关键字 through 时会包括 end 这个数,而使用关键字 to 则不会包括 end 这个数。

示例:

如下代码,使用 through 关键字实现 @for 循环:

Bash
@for $i from 1 through 3{
    .width#{$i} {
        width: $i * 10px; 
    }
}

编译成 CSS 代码:

.width1 {
  width: 10px;
}

.width2 {
  width: 20px;
}

.width3 {
  width: 30px;
}

上述代码中,循环一共循环了三次,从 $i 的值为 1 开始循环,一直到 3 结束,并且包括了 3。

示例:

然后我们再来看一下 to 关键字的使用:

@for $i from 1 to 3{
    .width#{$i} {
        width: $i * 10px; 
    }
}

编译后的 CSS 代码:

.width1 {
  width: 10px;
}

.width2 {
  width: 20px;
}

through 关键字不同,to 关键字的循环虽然也是从 $i 的值为 1 开始循环,但是不包括 3 ,所以整个循环只循环两遍。

@while指令

@while 指令也可以用于循环样式,后面接 SassScript 表达式,循环会一直到表达式的值为 false 时停止。

示例:

循环遍历12px、14px、16px 的字体样式:

$num: 12;

@while $num < 18 {
    .f-#{$num} { 
        font-size: #{$num}px; 
      }
    $num: $num + 2;
}

编译成 CSS 代码:

.f-12 {
  font-size: 12px;
}

.f-14 {
  font-size: 14px;
}

.f-16 {
  font-size: 16px;
}

变量 $num 的初始值为 12,首先会输出 font-size:12px 样式,然后每次循环都会在原有的基础上加 2,一直到 不满足 $num < 18 这个条件,则循环会停止执行。

@each 指令

@each 指令可以用于遍历一个列表,然后从列表中取出对应的值。

语法:

@each $i in <list>

$i 就是一个变量名,<list> 是一个 SassScript 表达式,返回一个列表值。

示例:

$list: 5 10 15 20 25;

@each $i in $list {
    .p-#{$i}{
        padding: #{$i}px;
    }
}

编译成 CSS 代码:

.p-5 {
  padding: 5px;
}

.p-10 {
  padding: 10px;
}

.p-15 {
  padding: 15px;
}

.p-20 {
  padding: 20px;
}

.p-25 {
  padding: 25px;
}

可以看到上述代码中,我们遍历了定义好的 $list 中的5个值,一直到列表中的值遍历完后,循环才会停止。

相关推荐

掌握这些CSS知识点,Coding如飞(css的基础知识)

...

CSS:绝对定位、相对定位、固定定位

绝对定位position:absolute...

探索CSS position属性(css position relative)

提示:点击上方"蓝色字体"↑可以订阅噢!摘要51RGB官方微信position是CSS中非常重要的一个属性,通过position属性,我们可以让元素相对于其正常位置,父元素或者浏览器窗口进行偏移。...

你要的CSS布局都在这里(css布局的几种方式)

大家好,我是三木。这篇文章,替大家汇总了css的布局方式,在每个布局的结尾附上了我认为比较好的文章链接,不仅仅可以当作学习资料,也可以当作方法的查询手册,以后开发的时候忘记了某个属性就来查查。看完推荐...

CSS 元素分类与水平居中(css内容水平居中)
CSS 元素分类与水平居中(css内容水平居中)

元素分类在讲解CSS布局之前,我们需要提前知道一些知识,在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素、内联元素(又叫行内元素)和内联块状元...

2025-04-08 20:29 yuyutoo

CSS 定位详解(css定位例子)

CSS有两个最重要的基本属性,前端开发必须掌握:display和position。display属性指定网页的布局。两个重要的布局,我已经介绍过了:弹性布局flex[1]和网格布局grid[2]。本...

CSS精准定位布局——position(css定位position的定位有哪些,有那么特点?)

1简介上一篇文章,介绍了魔鬼属性——浮动布局。浮动布局比较灵活,但是不容易控制。而定位布局使用户精准定位页面中的任意元素成为可能。因此在实际开发中,大家应该灵活使用这两种布局方式,这样才可以更好地满...

浅谈position中absolute和relative

CSSposition属性中absolute和relative很容易让人弄混,基本的概念什么着,你去参考W3C,就不啰嗦了--------------------------------------...

Windows Phone新手开发教程(一)(windows开发ios app)

这是本系列的第1部分。在进行开发的过程之前,我将解释WindowsPhone的基础知识。第1部分涵盖了以下三个开发的基本主题:WindowsPhoneSDK的安装WindowsPhone用户界...

.NET界面开发控件DevExpress v15.2.8发布

以下是DevExpress15.2.8新增的一些功能,以及帮助文档描述。DXDiagramforWPFT353654-当界面上至少有一个item可见时,BringItemsIntoView...

「炫丽」从0开始做一个WPF+Blazor对话小程序

...

QT与C#:选择适合界面开发的最佳框架,并且附带精美案例

QT和C#都提供了丰富的界面开发工具和库,允许开发人员创建各种类型的用户界面。以下是QT和C#界面开发方面的一些对比:...

Windows Phone新手开发教程(二)(windows开发iphone应用)

这是本系列的第2部分。在这里我将讲解StackPanel和Grid元素。很多时候开发人员对于在何处放置包含StackPane或Grid元素的控制元件感到困惑。那么我们就来了解一些关于StackPane...

WPF MVVM嵌套绑定黑科技:父-子ListView深度交互终极指南

场景痛点:当ListView遇上"套娃式"数据绑定在复杂的WPF企业级开发中,我们经常会遇到这样的需求:在父级ListView的每一项中嵌套子ListView,且子控件需要访问父级数据上下文。这种"...

在 WPF 项目中使用 WPFDevelopers NuGet 包

...

取消回复欢迎 发表评论: