sass基础—属性嵌套以及跳出嵌套 @at-root
/*注意:定义的变量若是没有使用则不会编译到css文件中。*/
/*1)sass的局部变量*/
$font:14px;//定义
$font:12px !default; //没有default时是重新赋值,有了它则先取12再重新赋值为14
$maps:(color:black,border-color: blue);//maps定义多值变量
$className:main;//定义类名(此处修改了类名则使用该类名的地方也会相应改变)
body{
/*局部变量*/
$color:red;
/*2)全局变量*/
$color: yellow !global;
color: $color;
}
footer{
font-size: $font;
color: $color;
background-color: map-get($maps,color);
border-color: map-get($maps,border-color);
}
/*3)使用定义好的类*/
.#{$className}{
color: map-get($maps,color);
}
/*4)中横线和下划线的效果一致*/
$text-info:blue;
$text_info:green;
h1{
color: $text-info; //结果为green,因为重新赋值了
}
/*5)样式导入:@import 文件名
1、部分文件(约定:文件名以下划线开头,不会编译成对应的css文件)
2、嵌套导入
3、css原生导入(以.css结尾;导入地址是url:http://xx/css.css;
文件名是css的url()值)
4、scss导入:@import scss文件名(可以不写后缀名或下划线)
*/
/*6)样式书写步骤
1、根据布局html文件的布局来书写样式嵌套的层级关系如:
body{
header{
.logo{
img{}
}
.nav{
}
}
}
*/
/*属性嵌套*/
body{
footer {
background:{
color: red;
size: 100% 100%;
}
}
a{
color: yellow;
&:hover{
color:blue;
}
span{
color: lightgreen;
}
.content{
color: lightgrey;
}
/*引用父选择器a*/
&.box{
color: lightpink;
}
@at-root .container{
width: 1920px;
}
/*跳出嵌套后的效果不再是body和a下面的了,而是独立出来的一个选择器
.container {
width: 1920px;
}
*/
}
}
/*属性嵌套编译结果
body footer {
background-color: red;
background-size: 100% 100%;
}
body a {
color: yellow;
}
body a:hover {
color: blue;
}
body a span {
color: lightgreen;
}
body a .content {
color: lightgrey;
}
body a.box {
color: lightpink;
}
*/
/*7)跳出嵌套
@at-root跳出选择器嵌套,不能跳出@media或@support,若要跳出这两种
则需要使用@at-root(without:midia),@at-root(without:support),
语法关键词:@at-root(@at-root(without:rule)常规css);
:all (表所有)
:rule(表常规)
:media(表media)
:support;(表support)
*/
/*跳出media*/
header{
.danger{
color: #f00;
}
.warning{
color: pink;
}
.info{
color: blue;
}
/*未跳出media*/
@meida screen and (max-width: 600px){
@at-root .danger{
color: #f0f;
}
}
/*已跳出midia但是header还在
header .warning {
color: #00f;
}
*/
@media screen and(max-width: 600px){
@at-root(without: media){
.warning{
color: #00f;
}
}
}
/*真正跳出media嵌套
.info {
color: #f00;
}
*/
@media screen and(max-width: 600px){
@at-root(without: media rule){
.info{
color: #f00;
}
}
}
/*使用all也可以跳出所有
.warning{
color:#00f;
}
*/
@media screen and(max-width: 600px){
@at-root(without: media all){
.warning{
color: #00f;
}
}
}
}
/*实现跳出header,nav下面也有一个text-danger,此时不需要再次跳出,就是跳出了就违背要在nav下的原则了:
.text-danger{
color:#ddd;
}
nav .text-danger{
color:#ccc;
}
*/
@at-root .text-danger{
color: #ddd;
nav &{
color: #ccc;
}
}
}
sass基础—属性嵌套以及跳出嵌套 @at-root的更多相关文章
- 基础语法-for循环的嵌套
基础语法-for循环的嵌套 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.for循环嵌套概述 说白了就是在for循环中再嵌套一层for循环. 二.for循环嵌套案例 1> ...
- #WEB安全基础 : HTML/CSS | 0x4.1嵌套列表
如果你认为列表只有ul和ol那你就错了 我要为你展示新的列表 这次只有一个index.html文件 这是它的效果 以下是它的代码 <html> <head> <title ...
- Python开发基础-Day6-函数参数、嵌套、返回值、对象、命名空间和作用域
函数的使用原则 函数的使用必须遵循:先定义后使用的原则 函数的定义,与变量的定义是相似的,如果没有事先定义函数而直接引用就相当于在引用一个不存在变量名 定义阶段:只检测语法,不执行代码,当出现语法错误 ...
- python基础之函数参数、嵌套、返回值、对象、命名空间和作用域
函数的使用原则 函数的使用必须遵循:先定义后使用的原则 函数的定义,与变量的定义是相似的,如果没有事先定义函数而直接引用就相当于在引用一个不存在变量名 定义阶段:只检测语法,不执行代码,当出现语法错误 ...
- sass基础用法
嵌套: 1.选择器嵌套: 2.属性嵌套; .box { border-top: 1px solid red; border-bottom: 1px solid green; } .bo ...
- Sass基础语法
Sass是CSS3语言的扩展,在CSS的基础之上添加了新特性和语法,能省事地写出更好的样式表.Sass引擎是基于Ruby的. 导入Sass文件: @import "colors" ...
- [转]前端利器:SASS基础与Compass入门
[转]前端利器:SASS基础与Compass入门 SASS是Syntactically Awesome Stylesheete Sass的缩写,它是css的一个开发工具,提供了很多便利和简单的语法,让 ...
- Sass 基础教程
0. Sass 文件后缀名 sass 有两种后缀名文件:一种后缀名为 sass,不使用大括号和分号:另一种就是我们这里使用的 scss 文件,这种和我们平时写的 css 文件格式差不多,使用大括号和分 ...
- sass基础学习
2015.6.281.安装ruby2.运行gem安装sass-->gem install sass3.编译命令行sass --watch 文件路径/test.scss:编译后文件路径/test. ...
随机推荐
- mysql 案例 ~ mysql字符集详解
一 谈谈mysql常见的字符集问题 二 字符集统一 1 character_set_server 2 character_set_client 3 java/php等连接字符集 4 chara ...
- python - 条件语句/循环语句/迭代器
条件测试:if 条件表达式python 的比较操作 所有的python对象都支持比较操作 可用于测试相等性.相对大小等 如果是复合对象,pyt ...
- 用例该如何书写?完整示例-QQ登录界面
测试用例(case\测试点):指导软件测试工程师找bug的(思想逻辑的整理) 意义:1:怕忘:2:存档(让新人熟悉:产出):3:回归测试(软件即将上线之前,重新执行测试用例)--确认测试 书写测试用例 ...
- TPU使用说明
1 TPU分类和收费标准 1.1 分类和计费说明 地区 抢占式TPU Cloud TPU 美国 $1.35/hour $4.5/hour 欧洲 $1.485/hour $4.95/hour 亚太区地区 ...
- oracle查看未提交事务
SELECT s.sid, s.serial#, s.event, a.sql_text, a.sql_fulltext, s.username, s.status, s.machine, s.ter ...
- RabbitMQ与SpringBoot整合
RabbitMQ SpringBoot 一.RabbitMQ的介绍 二.Direct模式 三.Topic转发模式 四.Fanout Exchange形式 原文地址: https://www.cnb ...
- MySQL死锁查询【原创】
死锁详情查询 SELECT SUM(trx_rows_locked) AS rows_locked, SUM(trx_rows_modified) AS rows_modified, SUM(trx_ ...
- motor helper
# -*- coding: utf-8 -*- # @Time : 2019-02-13 10:44 # @Author : cxa # @File : mongohelper.py # @Softw ...
- web页面加载、解析、渲染过程
仅做学习参考,侵权删 原文链接:风吹De麦浪 https://www.cnblogs.com/CandyManPing/p/6635008.html 一.浏览器 浏览器的主要功能是将用户选择的we ...
- Multisim 经典学习教程Step by Step
Tracy Shields编著 ftp://ftp.ni.com/pub/branches/china/Practical%20teaching%20Ideas%20for%20Multisim%20 ...