本来打算整理jQuery Mobile来着,但是没有研究明白,所以接着上个周的继续介绍。。。

【scss中的基础语法】
 
 
 1.scss中的变量
 ①声明变量:$变量名:变量值

$width:100px;
$position : left;
#div1{
width: $width;
height: $width;
background-color: red;
border-#{$position}: 10px solid yellow;
}

scss中,允许将变量嵌套在字符串中,但是变量必须使用井号包裹
 2.scss中的运算,会将单位进行运算,使用时注意最终的单位是否正确,
 3.scss中的嵌套:选择器嵌套、属性嵌套、伪类嵌套
 ①选择器嵌套ul{li{}}
 嵌套默认后代选择器,如果需要子代选择器,则需加大于号
 可以在选择器的大括号中使用and表示上一层的选择器。
 ②伪类嵌套 li{&:hover()}
 在选择器{}中配合&使用伪类事件,可以表示当前选择器的

font:{
                    size: 16px;
                    weight:bold;
                    family:"微软雅黑";
                    style:"italic";
                };

对于属性名有分割为多段的属性,可以使用属性嵌套,属性名的前半部分必须紧跟,才能用()包裹属性的后半部分。
4.混合宏、继承、占位符
①混合宏使用 @mixin 声明混合宏,在其他选择器中使用 @include调用混合宏、
声明时可以有参数可以无参数,参数可以有默认值也可以咩有默认值,但是调用时,必须符合声明时的要求,与less中的混合相同。
优点,可以传参,不会产生同名的class
缺点,调用时会把混合宏中的所有代码copy到选择器中,产生大量冗余代码

例如

@mixin hunhe($color:green){
color: $color;
}
.class3{
@include hunhe;
background-color: yellow;
}
.class4{
@include hunhe;
background-color: blue;
}

②继承 声明一个普通的class,在其他选择器中使用@extend集成这个class
class1{} .class2(@extend.class1;)
优点,将相同的代码,提取到并集选择器,减少冗余代码
缺点,不能传入参数,生成多余的class

例如

.calss1{
color: wheat;
}
.class{
@extend .calss1;
}

③占位符使用%声明占位符,在其他选择器中使用@expend继承占位符;
优点,将相同的代码,提取到并集选择器,减少冗余代码
不会产产生一个多余的class
缺点不能传参

例如

%class1{
color: wheat;
}
.class4{
@extend .calss1;
background-color: yellow;
}
.class5{
@extend .calss1;
background-color: green;
}

5.if条件结构
条件结构的大括号要写在选择器里面,条件结构的大括号直接包裹样式属性
@if条件{}
@else{}

例如

.class6{
width: 100px;
height: 100px;
@if >{
background-color: yellow;
}
@else{
background-color: blue;
} }
$i : ;
@while $i<{
.while-#{$i}{
border: #{$i}px soild red;
}
$i : $i + ;
}
//
@for $i from through {
.item-#{$i} { width: 2em * $i; }
}

6.for循环

@for $i from 1 to 10{}//不包含10
@for $i from 1 through10{}//包含10

例如

@for $i from  through  {
.item-#{$i} { width: 2em * $i; }
}

7.@while循环
$i : 0
@while $i<10{
     $i : $i + 1;
}

.class6{
width: 100px;
height: 100px;
@if >{
background-color: yellow;
}
@else{
background-color: blue;
} }
$i : ;
@while $i<{
.while-#{$i}{
border: #{$i}px soild red;
}
$i : $i + ;
}
//
@for $i from through {
.item-#{$i} { width: 2em * $i; }
}

8.@each循环遍历
@each $item in a,b,c,d{
    //$item表示a,b,c,d每一项
}

@each $item in c1,c2,c3,c4{
$i : $i + ;
.#{$item}{
border: #{$i}px soild red;
}
}
@function func($num){
@return $num*;
}
.functest{
width: func(10px);
}

本人不是技术大神,写不出多么多么复杂的代码,但我会努力的!谢谢大家抽时间来看,希望对新手有所帮助~

css预处理器less和scss之sass介绍(二)的更多相关文章

  1. css预处理器less和scss之less介绍(一)

    第一次发的标题有误,重发一遍,抱歉了 一.less基础语法 1.声明变量:@变量名:变量值 使用变量:@变量名 例如 @color : #ff0000; @length : 100px; #div1{ ...

  2. 为您详细比较三个 CSS 预处理器(框架):Sass、LESS 和 Stylus

    CSS 预处理器技术已经非常的成熟,而且也涌现出了越来越多的 CSS 的预处理器框架.本文向你介绍使用最为普遍的三款 CSS 预处理器框架,分别是 Sass.Less CSS.Stylus. 首先我们 ...

  3. 详细比较三个 CSS 预处理器(框架):Sass、LESS 和 Stylus

    [大伽说]如何运维千台云服务器 »   CSS 预处理器技术已经非常的成熟,而且也涌现出了越来越多的 CSS 的预处理器框架.本文向你介绍使用最为普遍的三款 CSS 预处理器框架,分别是 Sass.L ...

  4. 三个 CSS 预处理器(框架):Sass、LESS 和 Stylus

    CSS 预处理器技术已经非常的成熟,而且也涌现出了越来越多的 CSS 的预处理器框架.本文向你介绍使用最为普遍的三款 CSS 预处理器框架,分别是 Sass.Less CSS.Stylus. 首先我们 ...

  5. CSS预处理器Sass、LESS 和 Stylus

    CSS 预处理器技术已经非常的成熟,而且也涌现出了越来越多的 CSS 的预处理器框架.本文向你介绍使用最为普遍的三款 CSS 预处理器框架,分别是 Sass.Less CSS.Stylus. 首先我们 ...

  6. CSS预处理器——Sass、LESS和Stylus实践

    CSS(Cascading Style Sheet)被译为级联样式表,做为一名前端从业人员来说,这个专业名词并不陌生,在行业中通常称之为“风格样式表(Style Sheet)”,它主要是用来进行网页风 ...

  7. CSS 预处理器(框架)初探:Sass、LESS 和 Stylus

    现在最为普遍的三款 CSS 预处理器框架,分别是 Sass.Less CSS.Stylus. 拿less来说,可以在页面上直接使用less文件,但要引用less.js进行解析:同时也可以直接将less ...

  8. 什么是 CSS 预处理器?

    什么是 CSS 预处理器?  就CSS本身而言,对于大多数Web前端从业人员来说就不是问题.学过CSS的人都知道,它不是一种编程语言.你可以用它开发网页样式,但是没法用它编程.换句话说,CSS基本上是 ...

  9. CSS预处理器Sass(Scss)、Less、Stylus

    CSS 预处理编译器能让我成程序化其的方式编写CSS代码,可以引入CSS中没有的变量.条件.函数等特性,从而让代码更简单易维护,但一般按预处理器语法编写的代码无法直接在浏览器中运行,需用通过工具比如g ...

随机推荐

  1. 汉化Eclipse

    汉化Eclipse.. ----------------- /--------------------------------link连接: 将下载的语言包解压后会有eclipse文件夹,eclips ...

  2. <经验杂谈>前端form提交导出数据

    之前在做列表的是总会遇到一些导出的功能,而在做导出的时候总是习惯于用get的方法将参数放在url上,这样一来就会有很多的弊端,一是url的参数长度有限,遇到有的参数很长的时候就会报错,二是也不太安全. ...

  3. The C++ Programming Language 学习笔记 第7章 函数

    1.关于内联函数(inline)      借用一下书中的例子. inline int fac(int n) { ) ? :n*fac(n-); }      inline描述符给编译器一个提示,要求 ...

  4. 大手册(书籍)排版利器-XML自动排版生成工具

    --支持全球化/多语言/符合W3C标准的XML自动排版工具 Boxth XML/XSL Formatter是专为XML数据或其他结构化数据源自动输出排版文件(如: PDF等)而设计的集数据格式化.版式 ...

  5. Java基础语法(一)---关键字、常量、变量、运算符

    一.关键字 定义:被Java赋予了特殊含义的单词. 特点:体现上都是英文小写. 1. 用于定义数据类型的关键字 基本数据类型: 整数类型:byte  short  int  long   浮点类型:f ...

  6. C# 匿名对象(匿名类型)、var、动态类型 dynamic

    本文是要写的下篇<C#反射及优化用法>的前奏,不能算是下一篇文章的基础的基础吧,有兴趣的朋友可以关注一下. 随着C#的发展,该语音内容不断丰富,开发变得更加方便快捷,C# 的锋利尽显无疑. ...

  7. Ext:添加进度条

    var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"正在提交..."}); myMask.show(); myMask.hide( ...

  8. Automatic Generation of Animated GIFs from Video论文研读及实现

    论文地址:Video2GIF: Automatic Generation of Animated GIFs from Video 视频的结构化分析是视频理解相关工作的关键.虽然本文是生成gif图,但是 ...

  9. 大家一起来找茬(BUG)

    大家一起来找茬(BUG) ----------目录---------- 一.上手体验 1.主界面 2.功能 二.程序的 BUG 三.必应词典的 BUG 1."每日一句"里的句子不能 ...

  10. HTML5 javascript 音乐 音频

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...