本来打算整理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. WeQuant交易策略—网格交易

    网格交易策略(Grid Trading) 策略介绍 网格策略本质上是一种低吸高抛的策略.标的物价格越低,吸纳的头寸越多:标的物价格越高,卖出的头寸越多.网格策略巧妙地借鉴了日常生活中渔翁撒网扑鱼的思路 ...

  2. python-opencv在有噪音的情况下提取图像的轮廓

    对于一般的图像提取轮廓,这篇博文介绍了一个很好的方法,但是对于有噪声的图像,并不能很好地捕获到目标物体. 比如对于我的鼠标,提取的轮廓效果并不好,因为噪声很多: 所以本文增加了去掉噪声的部分. 首先加 ...

  3. Servlet与JSP内置对象的对应关系、Servlet获取表单、Servlet路径跳转

    项目的根目录指的是webroot: 服务器内部跳转: 或者使用../:“..”代表回到上一级目录

  4. SQL Server内存

    背景 最近一个客户找到我说是所有的SQL Server 服务器的内存都被用光了,然后截图给我看了一台服务器的任务管理器.如图 这里要说明一下任务管理器不会完整的告诉真的内存或者CPU的使用情况,也就是 ...

  5. Linux io Model

    socket阻塞与非阻塞,同步与异步 作者:huangguisu 1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调 ...

  6. 浅析SQL Server在可序列化隔离级别下,防止幻读的范围锁的锁定问题

    本文出处:http://www.cnblogs.com/wy123/p/7501261.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错 ...

  7. java枚举类型构造方法为什么是private的

    枚举类型是单例模式的.你需要实例化一次,然后再整个程序之中就可以调用他的方法和成员变量了.枚举类型使用单例模式是因为他的值是固定的,不需要发生改变.更多知识见 http://blog.yemou.ne ...

  8. poj 2723 二分+2-sat判定

    题意:给出n对钥匙,每对钥匙只能选其中一个,在给出每层门需要的两个钥匙,只要一个钥匙就能开门,问最多能到哪层. 思路:了解了2-SAT判定的问题之后主要就是建图的问题了,这里建图就是对于2*n个钥匙, ...

  9. poj3463 最短路和比最短路长1的路径数

    这题需要很好的理解Dij. 在Dij的基础上,每个点多一个次短路的长度和数量进行控制. 那么在队列中,最短路控制时出现n次,次短路控制出现n次.注意松弛条件中val值和最短路.次短路的关系. 这题需要 ...

  10. Centos7 & Docker & Jenkins & ASP.NET Core 2.0 自动化发布和部署

    写在前面 Docker一直很火热,一直想把原本的Jenkins自动部署工具搬到Docker上面,无奈今年一直忙于各种事情,迟迟未实施这个事情,正好迎来了dotnet core 2.0 的正式发布,升级 ...