SCSS其实就是SASS新语法, 增强了对CSS3语法的支持

1.变量(Variables)

/*声明变明*/
$color: #333;
$bgcolor:#f36; /*引用变量*/
body { body color: $color;}

2.嵌套(Nesting)

// 选择器的嵌套

// 传统css写法
section { margin: 10px; }
section nav { height: 25px; }
section nav a { color: #0982c1; }
section nav a:hover { text-decoration: underline; } // scss写法
section{
margin: 10px;
nav{
height: 25px;
a{
color: #0982c1;
&:hover{ text-decoration: underline;}
}
}
}

// 属性嵌套

// 传统css写法
li { font-style: italic; font-family: serif; font-weight: bold; font-size:1.2em; } // scss写法
li{
font:{
style: italic;
family: serif;
weight: bold;
size:1.2em;
}
}

3.Mixins ==> Mixins是SASS中最强大的特性之一, 简单点来说,Mixins可以将一部分样式抽出,作为单独定义的模块,被很多选择器重复使用, 每个都写在选择器里

// 格式
@mixin name($参数名:参数值){
/*样式规则*/
} // 简单的实例
@mixin error($borderWidth:2px){
border: $borderWidth solid #f00;
color: #f00;
} // @include调用mixin
/*直接调用error Mixins*/
.generic-error {
@include error();
} /*调用error Mixins,并将$borderWidth参数重定义为3px*/
.login-error {
@include error(3px);
} 老的语法中还支持另一种调用Mixins的方法。就是使用+
.generic-error
+error()
.login-error
+error(3px)

3.选择器继承(Selector Inheritance) ==> SASS可以从一个选择器继承另一个选择器下的所有样式。共用属性

%block {
margin: 10px 5px;
padding: 2px;
}
p {
@extend %block;
border: 1px solid #eee;
}
h1{
@extend %block;
color:red;
}
// 编译出来的CSS
p{
border: 1px solid #eee;
}
h1{
color:red;
}
p, h1{
margin: 10px 5px;
padding: 2px;
}

scss语法的更多相关文章

  1. scss语法介绍

    这里既然是对语法的介绍,那么至于如何安装和编译scss我就不多少了,主要是因为本人在群里认识的小伙伴有的不会用scss,所以就借着放假的机会来对scss语法做个总结,博主在开发过程中用scss蛮多,所 ...

  2. sublime text 中 .vue文件中的scss语法无法高亮bug怎么解决

    如题,在vuejs的单文件组件中,.vue 结尾的文件里面使用scss的时候,无法高亮.因为 sublime默认是不带sass语法高亮的,安装 sublime SCSS语法高亮包即可. 方法如下:   ...

  3. scss语法格式(常用版记录)

    这篇文章是我自己在学习Scss时的笔记~   更多学习可以参照官网(链接:https://www.sass.hk/docs/) 一,Scss语法格式 1.嵌套规则   2.父选择器&(伪类嵌套 ...

  4. 在vue项目中使用scss,以及vscode适配scss语法(解决使用scss语法编辑器报错)

    项目搭建好之后 安装sass 依赖包 npm install --save-dev sass-loader //sass-loader依赖于node-sass npm install --save-d ...

  5. angular使用sass的scss语法

    一.现象 为了简写样式 二.解决 1.安装sass ,利用npm 安装(npm工具如果没有,请先自行安装好) (1).npm install node-sass --save-dev (2).npm ...

  6. scss - 语法

    1.在一个样式导入另一个样式(@import "example.css") 2.scss单行注释不会显示出来 3.强大的变量(定义后,全局可使用) 4.全局默认变量(加!defau ...

  7. SCSS语法格式及编译调试

    一.SASS编译 Sass 的编译有多种方法: 命令编译 GUI工具编译 自动化编译 1.1 命令编译 1)单文件编译 sass <要编译的Sass文件路径>/style.scss:< ...

  8. scss/less语法以及在vue项目中的使用(转载)

    1.scss与less都是css的预处理器,首先我们的明白为什么要用scss与less,因为css只是一种标记语言,其中并没有函数变量之类的,所以当写复杂的样式时必然存在局限性,不灵活,而scss与l ...

  9. CSS预处理框架:less,scss

    CSS预处理器:less和sass:CSS 预处理器是一种语言用来为 CSS 增加一些编程的的特性,无需考虑浏览器的兼容性问题,例如你可以在 CSS 中使用 变量.简单的程序逻辑.函数等等在编程语言中 ...

随机推荐

  1. elasticsearch安装与使用(4)-- 安装中文分词插件elasticsearch 的 jdbc

    前言 elasticsearch(下面简称ES)使用jdbc连接mysql比go-mysql-elasticsearch的elasticsearch-river-jdbc能够很好的支持增量数据更新的问 ...

  2. 轻量级ORM框架Dapper应用一:Dapper安装

    一.Dapper简介 Dapper是一款轻量级ORM框架,为解决网站访问流量极高而产生的性能问题而构造,主要通过执行TSQL表达式而实现数据库的CQRS. 如果你在项目中遇到性能访问问题,选择Dapp ...

  3. eclipse-设置默认编码格式为UTF-8

    需要设置的几处地方为: Window->Preferences->General ->Content Type->Text->JSP 最下面设置为UTF-8 Window ...

  4. Java-jdbc增删改查操作

    java jdbc增删改查操作: package com.gordon.jdbc; import java.sql.Connection; import java.sql.DriverManager; ...

  5. 用jQuery屏蔽掉按回车键时提交表单

    <script type="text/javascript"> $(function() { $("input").keypress(functio ...

  6. AJAX乱码解决新方法

    用过AJAX的朋友肯定知道javascript是使用UTF-8国际编码,即每个汉字用3个字节来存储,但是这就造成了用AJAX来send数据的时候出现乱码.     有一种解决办法就是使用encodeU ...

  7. Step download timeout (120 sec)

    Step download timeout (120 sec)  --------- Troubleshooting-----------------------------------    修改S ...

  8. Qt 线程基础(QThread、QtConcurrent等)

    [-] 使用线程 何时使用其他技术替代线程 应该使用 Qt 线程的哪种技术 Qt线程基础 QObject与线程 使用互斥量保护数据的完整 使用事件循环防止数据破坏 处理异步执行 昨晚看Qt的Manua ...

  9. 利用百度地图API根据地址查询经纬度

    传上来只是为了记录下三种jsonp方式,$.get(url, callback)方式不行,会出错 -- 必须指明返回类型为”json”才行. 或者使用$.getJSON()或者$.ajax({}). ...

  10. MySQL Date函数的正确用法

    以下的文章主要介绍的是MySQL Date函数的实际应用其中包括如何获取当前时间的具体操作,Unix时间的具体应用,时间前后.时间间隔与时间转换的实际内容描述,以下就是文章的主要内容. MySQL D ...