sass样式嵌套的学习与基本写法

Sass(Scss)是世专业级CSS扩展语言,兼容CSSSass完全兼容所有版本的CSS,可以无缝地使用任何可用的CSS库。

简单来说,SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护。

嵌套规则: Sass 允许将一套 CSS 样式嵌套进另一套样式中,内层的样式将它外层的选择器作为父选择器

 

1. 一般情况的嵌套

sass的嵌套主要解决的就是需要多层来选择的dom元素,不需要重复选择相同的层级

例:

style.scss文件

.nav{
    height: 50px;
    width: 100%;
    ul {
        list-style: none;
        li {
            float: left;
            width: 20px;
            height: 50px;
        }
    }
}

输出之后的style.css文件

.nav {
  height: 50px;
  width: 100%;
}
.nav ul {
  list-style: none;
}
.nav ul li {
  float: left;
  width: 20px;
  height: 50px;
}

2. 有伪类或者多个选择器选择一个元素的情况

这种情况需要用到&,来表示连接,提示它中间不要加空格。

用 & 代表嵌套规则外层的父选择器

例:
style.scss文件

.nav{
    height: 50px;
    width: 100%;
    ul {
        list-style: none;
        li {
            float: left;
            width: 20px;
            height: 50px;
        }
        a {
            display: block;
            width: 20px;
            height: 50px;
            &:hover {
                color: green;
            }
        }
    }
    &.navbar {
        color: green;
    }
}

编译好的style.css文件

编译后的 CSS 文件中 & 将被替换成嵌套外层的父选择器,如果含有多层嵌套,最外层的父选择器会一层一层向下传递

.nav {
  height: 50px;
  width: 100%;
}
.nav ul {
  list-style: none;
}
.nav ul li {
  float: left;
  width: 20px;
  height: 50px;
}
.nav ul a {
  display: block;
  width: 20px;
  height: 50px;
}
.nav ul a:hover {
  color: green;
}
.nav.navbar {
  color: green;
}

3. 属性的嵌套

重复属性的嵌套

Sass 允许将属性嵌套在命名空间中,比如 font-family, font-size, font-weight 都以 font 作为属性的命名空间
语法:font:{size:...; weight:...;}

例:
style.scss文件

body {
    font: {
        size: 30px;
        weight: 600;
        style: normal;
    }
}

编译之后的style.css文件

body {
  font-size: 30px;
  font-weight: 600;
  font-style: normal;
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值