sass语法练习解析--实例练习

暂时使用的是:Koala,监测转义

$fff: #ffffff;

$red:red;

h1{

color: $fff;

}

简单调用

#content{

color: $fff;

.con{

content: $red;

}

}

或者:

#content,#nei{

a{

color: $fff;

}

}

#content a{color: #fff; }

#nei a{color: #fff; }

嵌套(css里面嵌套要复制什么的,挺麻烦)

#content a{

color: $fff;

&:hover{

color: $red;

}

}

或者:

#content a{

color:$fff;

body.ie &{

color: $red

}

}

//当body的class为ie的时候,#content a的颜色为red颜色

&是父级标识符~

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 }

nav{

border:{

color:$fff;

style:solid;

width:1px;

}

}

编译出来后:nav{ border-style: solid; border-width: 1px; border-color: #ccc;}

还有中嵌套方法:

nav{

border:red solid 1px {

left:0px;

right:0px;

}

}

编译出来就是: nav { border: 1px solid #ccc; border-left: 0px; border-right: 0px; }

注:sass的变量是可覆盖的,也就是说可以重复,后面的覆盖前面的

$fancybox-width: 400px !default;

defult相当于css里的!important,不过!defult是应用于变量的,且,其含义是,如果该变量已声明赋值,则无效,否则,就用这个defult的值,也就是设置变量默认值

sass支持局部导入,即是在css规则内导入:例:

a{

background:red;

color:blue;

}

上面这个是theme.scss的内容

.content{

@import "theme";

//只有在content这个类内才会使用theme.scss的样式

}

输出结果:

.content a{

background:red;

color:blue;

}

sass中导入css不会用,


sass中的注释相关:

/*这种注释编译后会显示在css中*/

//这种注释编译后只会显示在scss中而不会显示到css中

body { color /* 这块注释内容不会出现在生成的css中 */: #333; padding: 1; /* 这块注释内容也不会出现在生成的css中 */ 0;}

 


混合器

@mixin name{

border-radius:5px;

-webkit-border-radius:5px;

-o-border-radius:5px;

}

.btn{

background:red;

@include name;

}

输出为:

.btn{

background:red;

border-radius:5px;

-webkit-border-radius:5px;

-o-border-radius:5px;

}

这种写法的话好在公用模块,以后调用起来相同样式会很轻松,不过一般是用来处理hack的

还有种技巧是:

@mixin ulPublic{

color:red;

li{

color:blue;

}

}

ul{

@include ulPublic;

}

输出是:

ul {

color: red;

}

ul li {

color: blue;

}

还有下面这种写法:

@mixin olpublic($defult,$hover,$active ){

li a{

color: $defult;

&:hover {color: $hover};

&:active  {color: $active };

}

}

ol{

@include olpublic(red,yellow,green);

}

输出:

ol li a {

color: red;

}

ol li a:hover {

color: yellow;

}

ol li a:active {

color: green;

}

(感觉有了sass会快捷很多,同时也会增加模块化的概念)

下面的写法是模块化公用:

@mixin module(

$normal,

$hover: $normal,

$link: $normal

)

{

color: $normal;

&:hover{color:$hover}

&:link{color:$link}

}

.module span{

@include module(yellow);

}

输出为:

.module span {

color: yellow;

}

.module span:hover {

color: yellow;

}

.module span:link {

color: yellow;

}

统一调用

注:混合选择器不仅包含css规则,也包含选择器和选择器中的属性


继承@extend

@mixin name{

border-radius:5px;

-webkit-border-radius:5px;

-moz-border-radius:5px;

-o-border-radius:5px;

-ms-border-radius:5px;

}

.btn{

background: $fff;

color: $fff;

border: $borderNo;

@include name;

}

.extend span{

@extend .btn;

}

会输出:

.btn, .extend span {

background: #7abbff;

color: #7abbff;

border: none;

border-radius: 5px;

-webkit-border-radius: 5px;

-moz-border-radius: 5px;

-o-border-radius: 5px;

-ms-border-radius: 5px;

}

继承比较高级的应用:

直接继承元素原生属性。。。(不对,只能继承自己写的)

注释:最常用的一种高级用法是继承一个html元素的样式。尽管默认的浏览器样式不会被继承,因为它们不属于样式表中的样式,但是你对html元素添加的所有样式都会被继承

时间: 2024-08-26 00:07:52

sass语法练习解析--实例练习的相关文章

数据字典生成工具之旅(6):NVelocity语法介绍及实例

本章开始将会为大家讲解NVelocity的用法,并带领大家实现一个简单的代码生成器. NVelocity是一个基于.NET的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由.NET代码定义的对象.从而使得界面设计人员与.NET程序开发人员基本分离. 阅读目录 NVelocity的常用功能简介 基本语法 实例介绍 工具源代码下载 学习使用 回到顶部 NVelocity的常用功能简介 1. 在页面中定义变量,并进行简单的运算

json格式数据2中方式解析实例

json格式数据2中方式解析实例 json是移动平台上非常常用的数据传输格式,本示例提供了两种Json格式文件生成与解析的方式.第一种通过JsonReader和JsonWriter两个对象进行json文件的读写操作,需要sdk在11以上.第二种通过JSONArray.JSONObject.JSONTokener等对象进行json读写操作,需要sdk在9以上.这种方式也可通过引入jar包的方式在其他版本的sdk中实现.启动客户端后,先点击写入json按钮(第1或3个按钮)生成Json文件(位置为s

为sublime text2 添加SASS语法高亮

以前写CSS时,都是直接写样式,没有任何的第三方工具,后面发现越是面向大网站,越难管理,上次参加完携程UED大会后,发现SASS对于前端团队多人协作和站点代码维护上很有帮助,很多同学都开始用了,我还是在原地踏步,我也不能OUT呀,于是开始学习,平时比较喜欢sublime编辑器,而sublime默认是不带sass语法高亮的,今天记录一下,sublime下如何安装sass语法高亮.1.下载 sublime SCSS语法高亮包   “点击下载”2.将下载下来的文件包解压.3.打开sublime安装目录

1-6 Sass 语法、编译、调试

Sass 语法格式 这里说的 Sass 语法是 Sass 的最初语法格式,他是通过 tab 键控制缩进的一种语法规则,而且这种缩进要求非常严格.另外其不带有任何的分号和大括号.常常把这种格式称为 Sass 老版本,其文件名以".sass"为扩展名. 来看一个 Sass 语法格式的简单示例.假设我们有一段这样的 CSS 代码: body { font: 100% Helvetica, sans-serif; color: #333; } 现在用 Sass 的语法格式来编写: $font-

Sass学习之 Sass语法入门--3.混合宏

3.混合宏 混合宏的作用: 相当于把复杂的变量声明集中在一起,免去了单个变量的调用. 声明:@mixin border{} 调用:@include border; 混合宏的分类: 不带参数: @mixin border-radius{ -webkit-border-radius: 5px; border-radius: 5px; } 带参数: //默认有值@mixin border-radius($radius:5px){ -webkit-border-radius: $radius; bord

Sass 语法格式及编译

一.sass语法格式 这里说的 Sass 语法是 Sass 的最初语法格式,他是通过 tab 键控制缩进的一种语法规则,而且这种缩进要求非常严格.另外其不带有任何的分号和大括号.常常把这种格式称为 Sass 老版本,其文件名以".sass"为扩展名.来看一个 Sass 语法格式的简单示例.假设我们有一段这样的 CSS 代码: body { font: 100% Helvetica, sans-serif; color: #333; } 现在用 Sass 的语法格式来编写: $font-

pcapng文件的python解析实例以及抓包补遗

正文 为了弥补pcap文件的缺陷,让抓包文件可以容纳更多的信息,pcapng格式应运而生.关于它的介绍详见<PCAP Next Generation Dump File Format> 当前的wireshark/tshark抓取的包默认都被保存为pcapng格式. 形而上的论述就不多谈了,直接给出一个pcapng数据包文件的例子: 然后我强烈建议,对着<PCAP Next Generation Dump File Format>来把一个实际抓取的pcapng文件里面的每一个字节都对

sass语法

Sass介绍: 众所周知,css不是一门编程语言.他没法像js和python那样拥有逻辑处理的能力,甚至导入其他的css文件中的样式都做不到.而Sass就是为了解决css的这些问题.他它允许你使用变量.嵌套规则. mixins.导入等众多功能,并且完全兼容css语法.Sass文件不能直接被网页所识别,写完Sass后,还需要专门的工具转化为css才能使用. Sass文件的后缀名: Sass文件有两种后缀名,一个是scss,一个是sass.不同的后缀名,相应的语法也不一样.这里我们使用scss的后缀

sass语法基础知识

文件后缀名 sass有两种后缀名文件:一种后缀名为sass,不使用大括号和分号:另一种就是我们这里使用的scss文件,这种和我们平时写的css文件格式差不多,使用大括号和分号.而本教程中所说的所有sass文件都指后缀名为scss的文件.在此也建议使用后缀名为scss的文件,以避免sass后缀名的严格格式要求报错. //文件后缀名为sass的语法 body background: #eee font-size:12px p background: #0982c1 //文件后缀名为scss的语法 b