scss 入门
scss 入门
1. scss 引入其他文件
引入其他 .scss 文件
@import 'index.scss'
这样的话,文件在编译后,会自动把引入的文件和当前文件合并为一个. scss 文件
引入其他 .css 文件
@import 'index.css'
和引入. scss 文件不同,这样引入的. css 文件在编译后不会和当前文件合并为一个. scss 文件,而是继续保持为外链引入方式
2. scss 注释方法
scss 的注释有两种
- 块注释
/*
*/ - 行注释
//
3. scss 变量
scss 变量分为 3 种,以 $ 符号开头, 后面紧跟变量名。变量名和变量值之间用冒号:分开
常规变量
$key: value;
默认变量
$key: value!default;
默认变量是可以被覆盖的,具体覆盖方法如下
$font: 12px;
$font: 14px!default;
特殊变量
$fontSize:14px;
font:#{$fontSize}
多值变量
多值变量分为list和map两种类型,list类似于 js 的数组,map类似于对象
4. 嵌套
嵌套分为两种:
- 选择器嵌套(目前经常使用的)
- 属性嵌套:不经常使用
在属性选择器中,&表示父元素选择器
5. 混合
@mixin 调用 @mixin 方法需要使用 @include
/*普通混合*/
@mixin font{
line-height:10px;
color: #fff;
}
.footer{
@include font;
}
以上相当于:
.footer{
line-height: 10px;
color: #fff;
}
/*带参数混合*/
@mixin font($size:12px){ //这里面的参数是默认的意思
font-size: $size;
}
.footer{
@include font(16px);
6. 继承
使用继承会让该选择器继承指定选择器的所有样式, 要使用关键词 @extend,后面跟上指定的选择器
.font{
font-size:14px;
height: 16px;
}
.footer{
@extend .font;
border-width: 2px;
}
以上相当于:
.font, .footer{
font-size:14px;
height: 16px;
}
.footer{
border-width: 2px;
}
站位选择器
% 选择器名,通过@extend 去调用,如果不调用,则文件编译后不会出现改该冗余 css 文件
%dir{
font-size: 14px;
}
%clear{
overflow: hidden;
}
div{
@extend %dir;
}
只有 %dir 选择器被调用了,%clear 在编译的时候会被当做冗余文件给过滤掉,不会出现在编译后的.css文件中
7. 函数
sass 内置了很多函数,自己也可以定义函数。以 @function 开始@return 返回值
@function per(data){
@return data/10px;
}
div{
font-size: per(140px);
}
以上等价于:
div{
font-size: 14px;
}
8. 其他功能
其他功能包括以下几点
运算:对于(数字,颜色,变量)的四则(加减乘除)运算, 运算符前后各保留一格空格
if 判断:@if 可以单独使用,也可以配合 @else、@else if 一起使用
三目运算符:if(true,1px,2px),返回的值是 1px,if(false,1px,2px), 返回的值是 2px
for 循环,共有两种写法:
1). @for va rfrom through
2). @for var from to
两种写法唯一的区别就是,through 包括 end 这个数,to 不包括 end 这个数.col {
width: 100%;
$class-prefix: col-;
@for $n from 1 through 12 {
&.#{$class-prefix}#{$n} {
width: ($n/12) * 100%;
}
}
$class-prefix: offset-;
@for $n from 1 through 12 {
&.#{$class-prefix}#{$n} {
margin-left: ($n / 12) * 100%;
}
}
}
each 循环,@each $var in ,list 和 map 分别表示为 list 和 map 类型数据。
scss 入门的更多相关文章
- scss入门学习(一)
sass的文件后缀名 sass是目前流行的css预处理语言.sass有两种后缀文件,一种是.sass,不允许使用大括号和分号:另一种是.SCSS,允许使用大括号和分号,类似于我们平时写css的语法习惯 ...
- scss 入门基础
在一个项目中,样式是必不可少的一部分,而对于一个完整的项目来说是有个基准色调的.在项目需求变化不大的情况下,可以直接在css中写这些颜色值之类的东西.但是如果遇到一个朝令夕改的领导或者甲方,那会变得相 ...
- sass或scss入门
1.sass环境搭载: 安装ruby 安装sass 安装compass 配置webstorm 如果只是使用sass的话,就配置sass命名监听就好了 如图: sass目录如下: 如果配置了compas ...
- 1-1 sacc(scss)入门
定义: CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些编程的特性,将 CSS 作为目标生成文件,然后开发者就只要使用这种语言进行编码工作. 通俗的说,“ ...
- SCSS入门
1. CSS预处理器 定义了一种新的专门的编程语言,编译后成正常的CSS文件.为CSS增加一些编程的特性,无需考虑浏览器的兼容问题,让CSS更加简洁,适应性更强,可读性更佳,更易于代码的维护等诸多好处 ...
- Sass&Scss入门 选择器 混合器 导入 条件判断 迭代
Sass 基于ruby的一种将脚本解析成CSS的脚本语言.也可以说是一种预处理语言. Sass在css的语法基础上增加了变量.嵌套.混合.继承.导入等高级功能. 使用Sass与Sass样式库(如com ...
- SCSS详解
SCSS入门 CSS预处理器 定义了一种新的专门的编程语言,编译后成正常的CSS文件.为CSS增加一些编程的特性,无需考虑浏览器的兼容问题,让CSS更加简洁,适应性更强,可读性更佳,更易于代码的维护等 ...
- web前端知识总结
前言: 一直想着整理一下关于前端的知识体系和资料,工作忙了些,挤挤总会有的,资料很多,就看你能不能耐下心坚持去学了,要多学多敲多想,祝你进步~ 学习之前首先要大概了解什么是HTML ,CSS , JS ...
- sass.scss简单入门
最近研究了一下sass和scss,清晰结构化,在某些地方的确强大,所以写了一篇入门教程,大概15分钟左右就能明白基本原理 什么是sass(css预处理器) Sass官网上是这样描述sass的,sass ...
随机推荐
- Object_C初始化方法, 遍历构造器
//版本1 //- (id)init //{ // work = @"工作"; // return self; //} // // //版本2:调用父类的init ...
- ORBSlam with ROS
...相机标定 calibration 基本就是做CV 的常识 ORBSlam源码:
- 《Python3网络爬虫开发实战》PDF+源代码+《精通Python爬虫框架Scrapy》中英文PDF源代码
下载:https://pan.baidu.com/s/1oejHek3Vmu0ZYvp4w9ZLsw <Python 3网络爬虫开发实战>中文PDF+源代码 下载:https://pan. ...
- Java对象的serialVersion序列化和反序列化
Java基础学习总结——Java对象的序列化和反序列化 一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化. 把字节序列恢复为对象的过程称为对象的反序列化. 对象的序列化主要有两种 ...
- 客户端Git代码的下载与提交
(1)git clone 服务器用户名@服务器IP:~/Git目录/.git 功能:下载服务器端Git仓库中的文件或目录到本地当前目录. (2)对Git目录中的文件进行修改. (3)git statu ...
- linux系统编程之文件与IO(六):实现ls -l功能
本文利用以下系统调用实现ls -l命令的功能: 1,lstat:获得文件状态, 2,getpwuid: #include <pwd.h> struct passwd *getpwuid(u ...
- DBCC--常用命令
------------------------------------------------------ --1 DBCC FLUSHPROCINDB 清除SQL SERVER服务器内存中某个数据 ...
- 解决EF没有生成字段和表说明
找了很多资料,终于找到一篇真正能解决ef生成字段说明,注释的文章,收藏不了,于是转载 本文章为转载,原文地址 项目中使用了EF框架,使用的是Database-First方式,因为数据库已经存在,所以采 ...
- C#: 获取当前路径不要用Environment.CurrentDirectory
网上大把文章写到C#获取当前路径的方法如下: // 获取程序的基目录. System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径. Syste ...
- SHT20 IIC 寄存器概述
** 注:部分内容来自SHT20芯片手册翻译 ** 1.寄存器列表 名称 指令(bin) 寄存器内容(hex) 主机模式(Trigger T measurement hold master) 1110 ...