css预处理器less和scss之sass介绍(二)
本来打算整理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介绍(二)的更多相关文章
- css预处理器less和scss之less介绍(一)
第一次发的标题有误,重发一遍,抱歉了 一.less基础语法 1.声明变量:@变量名:变量值 使用变量:@变量名 例如 @color : #ff0000; @length : 100px; #div1{ ...
- 为您详细比较三个 CSS 预处理器(框架):Sass、LESS 和 Stylus
CSS 预处理器技术已经非常的成熟,而且也涌现出了越来越多的 CSS 的预处理器框架.本文向你介绍使用最为普遍的三款 CSS 预处理器框架,分别是 Sass.Less CSS.Stylus. 首先我们 ...
- 详细比较三个 CSS 预处理器(框架):Sass、LESS 和 Stylus
[大伽说]如何运维千台云服务器 » CSS 预处理器技术已经非常的成熟,而且也涌现出了越来越多的 CSS 的预处理器框架.本文向你介绍使用最为普遍的三款 CSS 预处理器框架,分别是 Sass.L ...
- 三个 CSS 预处理器(框架):Sass、LESS 和 Stylus
CSS 预处理器技术已经非常的成熟,而且也涌现出了越来越多的 CSS 的预处理器框架.本文向你介绍使用最为普遍的三款 CSS 预处理器框架,分别是 Sass.Less CSS.Stylus. 首先我们 ...
- CSS预处理器Sass、LESS 和 Stylus
CSS 预处理器技术已经非常的成熟,而且也涌现出了越来越多的 CSS 的预处理器框架.本文向你介绍使用最为普遍的三款 CSS 预处理器框架,分别是 Sass.Less CSS.Stylus. 首先我们 ...
- CSS预处理器——Sass、LESS和Stylus实践
CSS(Cascading Style Sheet)被译为级联样式表,做为一名前端从业人员来说,这个专业名词并不陌生,在行业中通常称之为“风格样式表(Style Sheet)”,它主要是用来进行网页风 ...
- CSS 预处理器(框架)初探:Sass、LESS 和 Stylus
现在最为普遍的三款 CSS 预处理器框架,分别是 Sass.Less CSS.Stylus. 拿less来说,可以在页面上直接使用less文件,但要引用less.js进行解析:同时也可以直接将less ...
- 什么是 CSS 预处理器?
什么是 CSS 预处理器? 就CSS本身而言,对于大多数Web前端从业人员来说就不是问题.学过CSS的人都知道,它不是一种编程语言.你可以用它开发网页样式,但是没法用它编程.换句话说,CSS基本上是 ...
- CSS预处理器Sass(Scss)、Less、Stylus
CSS 预处理编译器能让我成程序化其的方式编写CSS代码,可以引入CSS中没有的变量.条件.函数等特性,从而让代码更简单易维护,但一般按预处理器语法编写的代码无法直接在浏览器中运行,需用通过工具比如g ...
随机推荐
- VMware Workstation 12 Pro 之安装林耐斯Ubuntu X64系统
VMware Workstation 12 Pro 之安装林耐斯Ubuntu X64系统... -------------- Linux依照国际音标应该是/'linэks/——类似于“里讷克斯&quo ...
- Oracle 11g的安装详细过程
本次采用的电脑为win10 专业版,以下为本人电脑的配置情况: 本人是第一次在win10系统上面进行oracle 11g的安装. 以下为安装步骤: 一.下载软件包 以下为各种oracle安装包的下载网 ...
- BotVS开发基础—2.2 下限价单 交易
代码 import json def main(): Log("ORDER_STATE_PENDING:", ORDER_STATE_PENDING, ", ORDER_ ...
- php sql uuid 32位
最近表中id需要用到此值来作为唯一主键 其含义是通用唯一识别码.具体好处及应用可百度百科,链接给你https://baike.baidu.com/item/UUID/5921266?fr=aladdi ...
- 第一行代码_activity生命周期
这类文章基本上已经是烂大街了,不过我今天仍然要给自己做一遍梳理,因为通过昨天的项目我发现自己还是不太懂activity的各个生命周期;各位看官勿喷; 七个生命周期及其作用 oncreat 完成初始化操 ...
- MongoDB副本集模式安装
设备: 三个1G.20G.1核的虚拟机,系统是SentOS7 min 设置目录: Server1: mkdir -p /home/mongoshard/data/shard11 /home/mongo ...
- kindeditor上传图片时候,上传成功了,但是页面上却提示失败
今天尝试着kindeditor做一个上传demo,碰到了一个日狗的问题,百度谷歌都没有答案,最后查看源码才发现问题所在,记录一下,福利大众. 碰到问题如下,图片后台明明上传成功了,返回信息也是正确的, ...
- HTTP协议知多少-关于http1.x、http2、SPDY的相关知识
作为网站开发的基础协议,我们知道浏览器上都有输出http这四个字母,这意味着什么呢? 这就是最基础的HTTP协议. 逐浪君今天为各位大人准备了一些HTTP技术的知识,来和大家分享. 以下图为例: 这一 ...
- 弹性布局flex
前几天写过怪异盒子布局,以前在项目中用到弹性布局flex这个属性,当时没深入研究,这里各种查阅各种测试,把这个属性记录下 以免忘记, 弹性布局:是提供一种更加有效的方式来对一个容器中的条目进行排列.对 ...
- JQuery的动态加载class无法实现点击时间的解决方案
//对于 加载过来class 的del_a 实现点击事情 $(document).on('click',".del_a",function(){ $(".mark_id& ...