scss常规用法

保持sass条理性和可读性的最基本的三个方法:嵌套、导入和注释一般情况下,你反复声明一个变量,只有最后一处声明有效且它会覆盖前边的值。
$link-color: blue;
$link-color: red;
a {
color: $link-color;
}
最终编译成为红色
---------------------------------
& 在编译时将被替换为父选择符,如果你有一个深层嵌套的规则,父选择符也会在 & 被替换之前被完整的解析。
#main {
  color: black;
  a {
    font-weight: bold;
    &:hover { color: red; }
  }
}
---------------------------------
被编译为:
#main {
  color: black; }
  #main a {
    font-weight: bold; }
    #main a:hover {
      color: red; }
---------------------------------
声明:$width: 5em;
#main {
  width: $width;
}
---------------------------------
数据类型
SassScript 支持六种主要的数据类型:
数字(例如 1.2、4、6px)
文本字符串,无论是否有引号(例如 "bob"、‘wow‘、seo)
颜色(例如 blue、#000、rgba(0, 0, 0, 0.8))
布尔值(例如 true、false)
空值(例如 null)
值列表,用空格或逗号分隔(例如 1em 2em 3rem 4em、Helvetica, Arial, sans-serif)
SassScript 还支持所有其他 CSS 属性值类型, 例如 Unicode 范围和 !important 声明。 然而,它不会对这些类型做特殊处理。 它们只会被当做不带引号的字符串看待。
---------------------------------
CSS 提供了两种类型的字符串:带引号的字符串,不带引号的字符串,使用#{}插值时,引用的字符串不加引号。这使得在mixin中使用例如选择器名称更容易
@mixin firefox-message($selector) {
  body.firefox #{$selector}:before {
    content: "Hi, Firefox users!";
  }
}

@include firefox-message(".header");
---------------------------------
被编译为:
body.firefox .header:before {
  content: "Hi, Firefox users!"; }
---------------------------------
继承:
.class1 {
  border: 1px solid #ddd;
}
.class2 {
    @extend .class1;
    font-size:120%;
  }
---------------------------------
Mixin有点像C语言的宏(macro),是可以重用的代码块
使用@include命令,调用这个mixin。
mixin的强大之处,在于可以指定参数和缺省值。
@mixin left {
    float: left;
    margin-left: 10px;
  }

div {
    @include left;
  }

@mixin left($value: 10px) {
    float: left;
    margin-right: $value;
  }
---------------------------------
默认变量值;
不同的是!default用于变量,含义是:如果这个变量被声明赋值了,那就用它声明的值,否则就用这个默认值。
$textbox-width: 400px !default;
.textbox {
  width: $textbox-width;
}

原文地址:https://www.cnblogs.com/lhl66/p/8271254.html

时间: 2024-08-30 09:11:10

scss常规用法的相关文章

flush 的常规用法:

flush  logs : 刷新二进制日志文件 flush  PRIVILEGES:刷新权限,修改权限或密码后,需要使用到该命令 flush tables:关闭所有表,并清空缓存中的类容 . flush tables with read lock:关闭所有打开的表,并且对所有DB中的表添加一个读锁, 直到显示执行unlock tables .该命令常用语备份数据. flush master :删除所有二进制日志索引文件中的二进制日志文件,重置二进制日志文件的索引文件为空, 创建一个新的二进制日志

RE正则的常规用法

1.re的简介 使用python的re模块,尽管不能满足所有复杂的匹配情况,但足够在绝大多数情况下能够有效地实现对复杂字符串的分析并提取出相关信息.python 会将正则表达式转化为字节码,利用 C 语言的匹配引擎进行深度优先的匹配. 复制代码 代码如下: import re print re.__doc__ 可以查询re模块的功能信息,下面会结合几个例子说明. 2.re的正则表达式语法 正则表达式语法表如下: 语法 意义 说明 "." 任意字符   "^" 字符串

vi 常规用法

vi 的用法 一.移动光标 h 向右移动 l 向左移动 j 向下移动 k 向上移动 二.以单词为单位移动 w 下一个单词词首 e 下一个单词词尾 b 当前或者前一个单词的词首 三.行内跳转 0 绝对行首 ^ 行首的第一个非空白字符 $ 绝对行尾 四.行间跳转 #G 跳转到第#行 G 最后一行 五.翻屏操作 ctrl+f 向文件尾部翻一屏 ctrl+b 向上翻一屏 ctrl+d 向下翻半屏 ctrl+u 向上翻半屏 六.删除字符 x 删除光标所在的单词 #x 删除光标处向后#个字符 七.删除命令

Vuex 常规用法

背景 很多时候我们已经熟悉了框架的运用,但是有时候就是忘了怎么用 所以这里想记下大部分的框架使用方法,方便使用的时候拷贝 一.安装 npm 方式 npm install vuex --save yarn 方式 yarn add vuex 二.vuex 用法 1.引入以及安装 import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const store = new Vuex.Store({ state: {}, getters: {

Razor引擎常规用法

1.隐匿代码表达式 例: @model.name 会将表达式的值计算并写入到响应中,输入时采用html编码方式 2.显示表达式 例:@(model.name)会将输入@model.name字符串 3.无编码表达式 明确表渲染不应该采用html编码方式 例:@Html.Raw(model.name),会把model.name值计算原值输入,不经过Html编码处理. 4.@{代码块}可以在代码块中写C#代码,并可以在view使用 例:@{ var objname="mike"; var a

核心动画(Core Animation)简介及常规用法

Core Animation是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍,使用它需要先添加QuartzCore.framework和引入对应的框架<QuartzCore/QuartzCore.h> 开发步骤: 初始化一个动画对象(CAAnimation)并设置一些动画相关属性. 添加动画对象到层(CALayer)中,开始执行动画. CALayer中很多属性都可以通过CAAnimation实现动画效果,包括:opacity.position.transfor

cpio命令常规用法介绍

cpio是用来建立.还原备份档的工具程序,它可以加入.解开cpio或tar备份档内的文件. 解压cpio文件 cpio -idmv < filename.cpio 解压img文件 cpio -idmv < filename.img 备份还原 备份:cpio -covB > [file|device] 将数据备份到文件或设备上 还原:cpio -icduv < [file|device} 将数据还原到系统中 常用参数 -B:让预设的blocks可以增加到5120bytes,默认是51

iOS-Swift-String(字符串常规用法)

// //  ViewController.swift //  Swift-String // //  Created by luorende on 16/9/10. //  Copyright © 2016年 luorende. All rights reserved. // import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do

Java——Collection集合的常规用法

Collection 接口是 List .Set 和 Queue 接口的父接口,该接口定义的方法即可用于操作 Set 集合,也可用于操作 List 和Queue 集合. Collection 接口里定义了如下操作集合元素的方法. /** * boolean add(Object o): 该方法用于向集合里添加一个元素.如果集合对象被添加操作改变了,则返回 true * * boolean addAll(Collection c):该方法把集合c里的所有元素添加到指定集合里.如果集合对象被添加操作