SCSS 实用知识汇总

1、变量声明

$nav-color: #F90;
nav {//$width 变量的作用域仅限于{}内$width: 100px;width: $width;color: $nav-color;
}.a {//报错,$width未定义width: $width;
}

2、父选择器&

scss代码:

article a {color: blue;&:hover { color: red }
}

编译后为:

article a {color: blue;
}article a:hover {color: red;
}

父选择器的另外一个用途,可以在父选择器之前添加选择器,如处理IE的hack,在html或者body上添加ie class。

示例代码:

#content aside {color: red;body.ie & { color: green }
}

编译后为:

#content aside {color: red;
}body.ie #content aside {color: green;
}

3、群组选择器

.container {h1, h2, h3 {margin-bottom: .8em}
}

编译后:

.container h1,
.container h2,
.container h3 {margin-bottom: .8em;
}

 

也可以这样:

nav, aside {a {color: blue}
}

编译后:

nav a,
aside a {color: blue;
}

4、>、+和~选择器

article {~ article { border-top: 1px dashed #ccc }> section { background: #eee }dl > {dt { color: #333 }dd { color: #555 }}nav + & { margin-top: 0 }
}

编译后为:

article ~ article {border-top: 1px dashed #ccc;
}article > section {background: #eee;
}article dl > dt {color: #333;
}article dl > dd {color: #555;
}nav + article {margin-top: 0;
}

5、SCSS局文件

sass局部文件的文件名以下划线开头。

目的:

sass就不会在编译时单独编译这个文件输出css,而只把这个文件用作导入。

 

说明:

(1)使用sass@import规则并不需要指明被导入文件的全名。你可以省略.sass.scss文件后缀

(2)当你@import一个局部文件时,还可以不写文件的全名,即省略文件名开头的下划线

(3)不可以同时存在添加下划线与未添加下划线的同名文件,添加下划线的文件将会被忽略

 

6、混合器

混合器定义:

@mixin rounded-corners {-moz-border-radius: 5px;-webkit-border-radius: 5px;border-radius: 5px;
}

使用混合器:

notice {background-color: green;border: 2px solid #00aa00;@include rounded-corners;
}

编译后为:

notice {background-color: green;border: 2px solid #00aa00;border-radius: 5px;
}

2个关键字:@mixin和@include

 

混合器传参:

@mixin link-colors($normal, $hover, $visited) {color: $normal;&:hover { color: $hover; }&:visited { color: $visited; }
}

使用:

a {@include link-colors(blue, red, green);
}

编译后为:

a {color: blue;
}a:hover {color: red;
}a:visited {color: green;
}

混合器主要用于展示性样式的重用

7、选择器继承

.error {border: 1px red;background-color: #fdd;
}
.seriousError {@extend .error;border-width: 3px;
}

编译后为:

.error,
.seriousError {border: 1px red;background-color: #fdd;
}.seriousError {border-width: 3px;
}

继承是建立在语义化的关联

 

Sass 允许延伸任何定义给单个元素的选择器:

.error {
border: 1px #f00;
background-color: #fdd;
}
.error.intrusion {
background-image: url("/image/hacked.png");
}
.seriousError {
@extend .error;
border-width: 3px;
}

编译后为:

.error,
.seriousError {border: 1px #f00;background-color: #fdd;
}.error.intrusion,
.intrusion.seriousError {background-image: url("/image/hacked.png");
}.seriousError {border-width: 3px;
}

 

8、@media 媒体查询

.sidebar {width: 300px;@media screen and (orientation: landscape) {width: 500px;}
}

编译后:

.sidebar {width: 300px;
}@media screen and (orientation: landscape) {.sidebar {width: 500px;}
}

注意:@media 将被编译到文件的最外层。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/281230.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ELK集群+MQ】通用部署方案以及快速实现MQ发布订阅服务功能

前言:大概一年多前写过一个部署ELK系列的博客文章,前不久刚好在部署一个ELK的解决方案,我顺便就把一些基础的部分拎出来,再整合成一期文章。大概内容包括:搭建ELK集群,以及写一个简单的MQ服务。如果需要看一…

python容错

#try: except: else: #为什么叫容错呢,先说说错误,这里说的错误并不是因为马虎或者什么原因在脚本中留下的bug,这个不能容掉,所谓容掉就是略过这个错误,要在测试时候发现并修正,需要容错的错误是在脚本执行…

git stash参数介绍

git stash 用于暂存工作区未提交的内容&#xff0c;便于在同时开发多个分支需要切换时保存当前分支进度。 list 语法 git stash list [<options>] &#xff0c;与git log功能类似&#xff0c;列出储藏列表&#xff0c;options 参数可以参考git log的参数 show 语法 git …

多语言报表的改动方法

在定义上传RTF模板的时候&#xff0c;会有一个是否可翻译的选项&#xff0c;选择之后。就能够上传xlf文件作为翻译内容。 对于已经存在的多语言类型报表&#xff0c;稍作改动之后再上传&#xff0c;可能会出现下面现象&#xff1a; 进程出现了“未完毕”的提示 想要改动非常eas…

自定义Cell的流程

1、.h文件 // // 文 件 名:CHBackupGateWayCell.h // // 版权所有:Copyright © 2018 lelight. All rights reserved. // 创 建 者:lelight // 创建日期:2018/12/19. // 文档说明: // 修 改 人: // 修改日期: //#import <UIKit/UIKit.h>NS_ASSUME_NONNULL_BEGINclass…

JS实时监听DOM元素变化 - MutationObserver

使用 MutationObserver API实时监听DOM元素变化 创建 MutationObserver 实列&#xff0c;接受一个用于监听到DOM元素变化的回调函数 const handleListenChange (mutationsList, observer) > {console.log(mutationsList, observer) } const mutationObserver new Mutati…

LightOJ - 1027 A Dangerous Maze —— 期望

题目链接&#xff1a;https://vjudge.net/problem/LightOJ-1027 1027 - A Dangerous MazePDF (English)StatisticsForumTime Limit: 2 second(s)Memory Limit: 32 MBYou are in a maze; seeing n doors in front of you in beginning. You can choose any door you like. The p…

MASA MAUI Plugin (六)集成个推,实现本地消息推送[Android] 篇

背景MAUI的出现&#xff0c;赋予了广大.Net开发者开发多平台应用的能力&#xff0c;MAUI 是Xamarin.Forms演变而来&#xff0c;但是相比Xamarin性能更好&#xff0c;可扩展性更强&#xff0c;结构更简单。但是MAUI对于平台相关的实现并不完整。所以MASA团队开展了一个实验性项目…

第八天

配置文件 Vi /etc/fstab /dev/vg01/lv01 /dir01 ext4 defaults mount -a 扫描 使用交换空间 1.创建分区 2.mkswap /dev/sda创建交换分区 3.swapon /dev/sda启用交换分区 Linux系统启动过程 1、引导程序 BIOS自检 &#xff08;硬件自检&#xff09; 2、G…

iOS 通知中心(NSNotificationCenter)

NSNotificationCenter 在这里第一步和第二步的顺序可以互换&#xff0c;一般楼主我喜欢先在需要发送消息的页面发送消息&#xff0c;然后再在需要监听的页面注册监听。要注意的是不管是通知中心还是KVO都需要在页面销毁之前移除监听。 注册观察者/*** 观察者注册消息通知*…

vue-router和react-router嵌套路由layout配置方案的区别

最近在学习react&#xff0c;在路由这一块有点看不懂&#xff0c;第一感觉是灵活性很大&#xff0c;想怎么来就怎么来&#xff0c;但问题也来了&#xff0c;稍微复杂一点就GG了&#xff0c;不如vue的傻瓜式配置来的方便。 先说一下vue的路由配置方式&#xff0c;目录结构如下&…

微软加更.NET7中文手册,都有哪些新亮点?

11月8号发布了.NET7&#xff0c;从底层性能改进&#xff0c;到上层API升级&#xff0c;让.NET7综合性能再度提升&#xff01;同时发布了最新的C#11&#xff0c;也带来了很多小惊喜。如何快捷学习最新的.NET7和C#11&#xff1f;答案只有一个&#xff0c;微软官方中文文档&#x…

jquery对json的各种遍历

http://caibaojian.com/jquery-each-json.html转载于:https://www.cnblogs.com/pxffly/p/8442448.html

中级工程师之路

前言&#xff1a;之前在问答中问了一个问题 毕业半年感觉没什么进步该怎么办&#xff1f; 这个问题一直让我感觉比计较焦虑。于是在一个关于面试经验的博客中找到了一些灵感。就是通过问题进行学习&#xff0c;对自身的知识体系进行整理和补充。以问题作为切入点&#xff0c;不…

Vue在渲染函数createELement和JSX中使用插槽slot

Vue对于插槽有两个专门的APIvm.$slots和vm.$scopedSlots&#xff0c;分别是普通插槽和作用域插槽&#xff0c;使用JSX语法或渲染函数的时候&#xff0c;定义插槽将使用上述两个API。 渲染函数createElement 普通插槽和作用域插槽在定义上相差不大&#xff0c;但是在使用方法上…

.NET Conf China 2022 第一批讲师阵容大揭秘!整个期待了!

目光看过来2022年12月3-4日一场社区性质的国内规模最大的线上线下.NET Conf 2022技术大会即将盛大开幕目前大会正紧锣密鼓地进行中第一批大咖讲师及主题已确定小编迫不及待想和大家分享分享嘉宾很大咖分享内容很硬核戳戳小手期待ing孔令磊维宏股份 首席架构师 十多年数控领域研…

2017 Material design 第二章第六节《富有创造性的定制方案》

六、富有创造性的定制方案&#xff08;Creative customization&#xff09; 动效可以应用于不同的对象尺寸和不同的环境&#xff0c;这有助于设计美感和功能的统一。 icon的类型系统icons可以有双重功能。 产品icons应该设计得精致、美观。 Icons 系统icons一个系统icon也许存在…

(十四)Java springcloud B2B2C o2o多用户商城 springcloud架构- Spring Cloud构建分布式电子商务平台...

通过Spring Cloud构建PC微信APP云服务的云商平台系统&#xff0c;其中包括B2B、B2C、C2C、O2O、新零售、直播电商等子平台&#xff0c;之前我们讲了很多关于Spring Cloud的概念文章&#xff0c;从本节开始&#xff0c;我们会以分布式微服务电子商务平台为案例&#xff0c;逐步给…

C# 队列(Queue)

概述队列&#xff08;Queue&#xff09;代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时&#xff0c;则使用队列。当您在列表中添加一项&#xff0c;称为入队&#xff0c;当您从列表中移除一项时&#xff0c;称为出队。Queue 类的方法和属性Count 获取 Queu…

vue完全编程方式与react在书写和运用上的异同

在构建html元素时&#xff0c;vue倾向于模板方式&#xff0c;而react则完全使用javascript的编程能力&#xff0c;但vue也具备完全编程的能力&#xff08;与react一样使用JSX和createElement渲染函数&#xff09;。所以&#xff0c;当vue使用完全编程方式时&#xff0c;与react…