sass 语法综合案例

收录了一些日常使用sass的案例集合,不定期更新

一般写业务,基础 sass的 语法足够了, 偶尔遇到有意思的,就记录并学习一下

scss 复制代码
@use 'sass:math';

@for $i from 0 to 9 {
	// $i从0开始
	.box:has(.item:nth-child(#{$i + 1}):hover) {
		$r: math.floor(calc(math.div($i, 3) + 1)); // 取值1-3
		$c: $i % 3 + 1; // 取值1-3

		// 初始化状态, 下面只需要根据当前鼠标 hover到哪一行,哪一列, 将对应的 行的占比 改为 2fr, 列改为2fr
		$arr: 1fr 1fr 1fr;
		// 动态修改 @arr 的值, 比如 $r = 1, 则@arr: 1fr 2fr 1fr;   将索引下标为1的值,改为2fr
		$rows: set-nth($arr, $r, 2fr);
		$columns: set-nth($arr, $c, 2fr);

		grid-template-rows: $rows;
		grid-template-columns: $columns;
	}
}
  • 除法的使用
  • 控制一个数在一定的范围
  • 取模 %
  • 动态修改一组值
  • 循环

最终编译为:

css 复制代码
.box:has(.item:nth-child(1):hover) {
  grid-template-rows: 2fr 1fr 1fr;
  grid-template-columns: 2fr 1fr 1fr;
}

.box:has(.item:nth-child(2):hover) {
  grid-template-rows: 2fr 1fr 1fr;
  grid-template-columns: 1fr 2fr 1fr;
}

.box:has(.item:nth-child(3):hover) {
  grid-template-rows: 2fr 1fr 1fr;
  grid-template-columns: 1fr 1fr 2fr;
}

.box:has(.item:nth-child(4):hover) {
  grid-template-rows: 1fr 2fr 1fr;
  grid-template-columns: 2fr 1fr 1fr;
}

.box:has(.item:nth-child(5):hover) {
  grid-template-rows: 1fr 2fr 1fr;
  grid-template-columns: 1fr 2fr 1fr;
}

.box:has(.item:nth-child(6):hover) {
  grid-template-rows: 1fr 2fr 1fr;
  grid-template-columns: 1fr 1fr 2fr;
}

.box:has(.item:nth-child(7):hover) {
  grid-template-rows: 1fr 1fr 2fr;
  grid-template-columns: 2fr 1fr 1fr;
}

.box:has(.item:nth-child(8):hover) {
  grid-template-rows: 1fr 1fr 2fr;
  grid-template-columns: 1fr 2fr 1fr;
}

.box:has(.item:nth-child(9):hover) {
  grid-template-rows: 1fr 1fr 2fr;
  grid-template-columns: 1fr 1fr 2fr;
}
相关推荐
Hacker_Z&Q4 小时前
CSS 笔记2 (属性)
前端·css·笔记
CappuccinoRose7 小时前
CSS前端布局总指南
前端·css·学习·布局·flex布局·grid布局·float布局
强子感冒了10 小时前
CSS基础学习:CSS选择器与优先级规则
前端·css·学习
layman05281 天前
webpack5 css-loader:从基础到原理
前端·css·webpack
半桔1 天前
【前端小站】CSS 样式美学:从基础语法到界面精筑的实战宝典
前端·css·html
_OP_CHEN1 天前
【前端开发之CSS】(一)初识 CSS:网页化妆术的终极指南,新手也能轻松拿捏页面美化!
前端·css·html·网页开发·样式表·界面美化
啊哈一半醒1 天前
CSS 主流布局
前端·css·css布局·标准流 浮动 定位·flex grid 响应式布局
PHP武器库1 天前
ULUI:不止于按钮和菜单,一个专注于“业务组件”的纯 CSS 框架
前端·css
~小仙女~1 天前
为什么垂直居中比水平居中难?
css·垂直居中
RFCEO1 天前
前端编程 课程十三、:CSS核心基础1:CSS选择器
前端·css·css基础选择器详细教程·css类选择器使用方法·css类选择器命名规范·css后代选择器·精准选中嵌套元素