Sass 嵌套

本文介绍了Sass的嵌套功能,允许CSS选择器嵌套,简化复杂样式管理。讲解了父选择器&的使用,如何在hover或特定class时引用父选择器。此外,还阐述了嵌套属性的概念,便于管理和避免重复输入。最后提到了Sass的占位符选择器%foo,一种特殊选择器类型,用于减少代码重复。
摘要由CSDN通过智能技术生成

嵌套规则

Sass 允许我们将以与html相同的方式嵌套css选择器,将一套 CSS 样式嵌套进另一套样式中,内层的样式将它外层的选择器作为父选择器,比如:

// .scss语法
#main {
  width: 97%;
  p, div {
    font-size: 2em;
    a { 
    	font-weight: bold; 
    }
  }
  pre { 
  	font-size: 3em; 
  }
}

// 编译为.css
#main {
	width: 97%; 
}
#main p, #main div {
    font-size: 2em; 
}
#main p a, #main div a {
	font-weight: bold; 
}
#main pre {
	font-size: 3em; 
}

嵌套功能避免了重复输入父选择器,而且也使得复杂的 CSS 结构更加便于管理。

注意:在Sass中,ul、li和a选择器嵌套是在nav选择器中的,在css中,规则时逐个定义的(不是嵌套的)。

父选择器 &

在嵌套 CSS 规则时,有时候我们需要直接使用到嵌套外层的父选择器,比如,当给某一个元素设定 hover 样式时或者是当 body 元素有个 classname 时,可以用 & 代表嵌套规则外层的父选择器。

嵌套属性

许多CSS属性具有相同的前缀 ,比如 font-familyfont-sizefont-weighttext-aligntext-transformtext-overflow 前三者和后三者分别是以 font 和 text 作为属性的命名空间,为了便于管理这样的属性,同时也为了避免重复输入,Sass 允许将属性嵌套在命名空间中。

// .scss 语法
font: {
  family: Helvetica, sans-serif;
  size: 24px;
  weight: bold;
}
text: {
  align: center;
  transform: lowercase;
  overflow: hidden;
}

// 编译后的普通css
font-family: Helvetica, sans-serif;
font-size: 24px;
font-weight: bold;

text-align: center;
text-transform: lowercase;
text-overflow: hidden;

占位符选择器 %foo

Sass 额外提供了一种特殊类型的选择器:占位符选择器 (placeholder selector),它与常用的 idclass 选择器写法相似,只是 #. 替换成了%,必须通过 @extend 指令调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值