Sass-2【变量、混入mixin、继承、占位符】

一.变量

(1).基本构成

$color:red;
$ 变量声明符
color 变量名称
red 变量值

(2).作用域问题

局部变量情况

.box{
    $color:blue;
    color:$color;
    .inner-box-1{
        $color: red;
        color:$color;
    }
    .inner-box-2{
        color:$color
    }
}//blue red red

因为是从上到下的,且在一个box作用域中,所以不会是undefined,执行后就会改为red

全局变量的情况

red blue red

$color:red
.box{
    color:$color;
    .inner-box-1{
        $color: blue;
        color:$color;
    }
    .inner-box-2{
        color:$color
    }
}//red blue red

(3).default用于组件化开发

无default

styles.scss

@import 'inndex.scss';
.box{
    color:#red;
}

index.scss

$color:blue;
.box{
    color:$color;
}
//解析结果
.box{
    color:blue;
}
.box{
    color:red;
}

default

index.scss

$color:blue !default;
.box{
    color:$color;
}

styles.scss

.box{
    color:#red;
}
@import 'inndex.scss';
//解析结果
.box{
    color:#red;
}

不加default就是blue,也就是说加了default就可以被替换,改变sass从上到下的顺序

(4).多个值取一个值nth

开始的下标不是0 是1

$divColor: orange green;
div{
    background-color:nth($divColor,2);
}

二.混入mixin

(1).兼容性

@mixin box-shadow($shodw){
    -webkit-box-shadow:$shodow;
    -moz-box-shadow:$shodow;
    -o-box-shadow:$shadow;
    -ms-box-shadow:$shadow;
}

(2).传递多个参数

@mixin box-shadow($shodw...){
    -webkit-box-shadow:$shodow;
    -moz-box-shadow:$shodow;
    -o-box-shadow:$shadow;
    -ms-box-shadow:$shadow;
}
div{
    @include box-shadow(-5px 0 5px orange,5px 0px 5px blue)
}
//编译结果
div{
    -webkit-box-shadow:-5px 0 5px orange,5px 0px 5px blue;
    -moz-box-shadow:-5px 0 5px orange,5px 0px 5px blue;
    -o-box-shadow:-5px 0 5px orange,5px 0px 5px blue;
    -ms-box-shadow:-5px 0 5px orange,5px 0px 5px blue;
}

(3).代替样式名称#{}

@mixin set-value($direction){
    margin-#{$direction}:10px;
    padding-#{$direction}:10px;
}
.input-box{
    @include set-value(bootom);
}

(4).公共样式书写

@mixin btn-bg-color($btnclass,$bgcolor){
    .btn-#{$btnclass}{
        background-color:$bgcolor
    }
}
@include btn-bg-color('warning',#5cb85c)

(5).提取公共属性名 公共属性:{具体配置项}

div{
    background:{
        image:url(../img/bg.jpg);
        repeat:no-repeat;
        size:50% 100%;
        position:0 0;
    }
}
//编译结果
div{
    background-image:url(../img/bg.jpg);
    background-repeat:no-repeat;
    background-size:50% 100%;
    bckground-position:0 0;
}

(6).默认值的设置及修改

@mixin transform($deg:20deg){
    transform:rotate($deg);
    -webkit-box-shadow:rotate($deg);
    -moz-box-shadow:rotate($deg);
    -o-box-shadow:rotate($deg);
    -ms-box-shadow:rotate($deg);
}
.box{
    @include transform(50deg);
}

三.继承

(1).@entend中解决mixin引入会重复的问题

.box{
    width:100px;
}
.box1{
    @extend .box;
}

但是会有个缺点就是会把所有含有button样式全部拷贝进来

四.%占位符

3.2解决了以上问题

%box{
    width:100px;
}
.box-1{
    @extend %box;
}
.box-2{
    @extend %box;
    background-color:blue;
}
//编译结果
.box1,.box-2{
    width:100px;
}
.box-2{
    background-color:blue;
}

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值