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. ...
随机推荐
- 【NLP CS224N笔记】Lecture 1 - Introduction of NLP
I. 什么是NLP NLP全称是Natural Language Processing,即自然语言处理,这是一门计算机科学.人工智能以及语言学的交叉学科. NLP涉及的几个层次由下图所示.可以看到输入 ...
- centos系统下安装python3以及pip3
首先查看一下系统当前的python版本 python -V 1.安装必要工具 yum-utils 它的功能是管理repository及扩展包的工具yum install yum-utils -y 2. ...
- python 携带cookie获取页面内容
有时会遇到爬取的页面需要登录,这就要带上cookie了. 下面记录了几种携带cookie的方法 # coding=utf-8 import requests s = requests.Session( ...
- 使用C++编写linux多线程程序
前言 在这个多核时代,如何充分利用每个 CPU 内核是一个绕不开的话题,从需要为成千上万的用户同时提供服务的服务端应用程序,到需要同时打开十几个页面,每个页面都有几十上百个链接的 web 浏览器应用程 ...
- hibernate框架学习之一级缓存
l缓存是存储数据的临时空间,减少从数据库中查询数据的次数 lHibernate中提供有两种缓存机制 •一级缓存(Hibernate自身携带) •二级缓存(使用外部技术) lHibernate的一级缓存 ...
- tomcat session Memcache 共享
背景 这次做的这个项目并发还真是挺高,单表一天产生百万条记录不在话下.结果导致运行过程中经常丢失数据,卡.慢等.开来终于要搞一次负载均衡了,之前实验学习了不少,但是没有在项目中实际用过,因为并发量不大 ...
- httplib urllib urllib2 pycurl 比较
最近网上面试看到了有关这方面的问题,由于近两个月这些库或多或少都用过,现在根据自己的经验和网上介绍来总结一下. httplib 实现了HTTP和HTTPS的客户端协议,一般不直接使用,在python更 ...
- 使用python找出nginx访问日志中访问次数最多的10个ip排序生成网页
使用python找出nginx访问日志中访问次数最多的10个ip排序生成网页 方法1:linux下使用awk命令 # cat access1.log | awk '{print $1" &q ...
- svn服务器的搭建备份和还原和svnmanager的使用
svn服务器的搭建备份和还原和svnmanager的使用 一.svn服务端软件的安装和配置 1.安装svn版本库软件 # yum install -y subversion 2.建立svn版本库数据存 ...
- Solidity基础
方法和匿名方法: funcion name(<parameter types>){public|private|internal|external}[constant][payable][ ...