Scss起步 1.Ruby安装

gem sources –add https://gems.ruby-china.com/ –remove https://rubygems.org/ gem install sass gem install compass sass -v (查看当前版本)

2.Node安装

全局安装

npm i node-sass -g

#使用 node-sass 源文件 目标文件 -w –output-style compressed PHPStorm配置FileWatcher:

node-sass \(FilePath\) \(FileDir\)/\(FileNameWithoutAllExtensions\).css

// 对应的包管理工具设置node-sass 的镜像源,这里以npm为例 npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass // 重新安装node-sass包 npm install node-sass

3.编译sass //单文件转换命令 node-sass input.scss output.css //单文件监听命令 node-sass –watch input.scss:output.css //如果你有很多的sass文件的目录,你也可以告诉sass监听整个目录: node-sass –watch app/sass:public/stylesheets

基础知识 1.Sass 语法格式 .scss.sass 2.Sass 编排格式 nested 编译排版格式 /命令行内容/ sass style.scss:style.css –style nested /编译过后样式/ .box { width: 300px; height: 400px; } .box-title {

height: 30px;
line-height: 30px; }

expanded 编译排版格式 /命令行内容/ node-sass style.scss:style.css –style expanded /编译过后样式/ .box { width: 300px; height: 400px; } .box-title { height: 30px; line-height: 30px; } compact 编译排版格式 /命令行内容/ node-sass style.scss:style.css –style compact /编译过后样式/ .box { width: 300px; height: 400px; } .box-title { height: 30px; line-height: 30px; } compressed 编译排版格式 /命令行内容/ node-sassstyle.scss:style.css –style compressed /编译过后样式/ .box{width:300px;height:400px}.box-title{height:30px;line-height:30px} 文档阅读笔记 #{} \(name: foo; \)attr: border; p.#{\(name} { #{\)attr}-color: blue; }

@import @import “foo.css”; @import “foo” screen; @import “http://foo.com/bar"; @import url(foo);

@extend  .error { border: 1px #f00; background-color: #fdd; } .error.intrusion { background-image: url(”/image/hacked.png“); } .seriousError { @extend .error; border-width: 3px; }

@if、@else、@elseif、@for、@each、@while

\(type: monster; p { @if \)type == ocean {

color: blue;

} @else if $type == matador {

color: red;

} @else if $type == monster {

color: green;

} @else {

color: black;

} }

@for \(i from 1 through 3 { .item-#{\)i} { width: 2em * $i; } }

\(i: 6; @while \)i > 0 { .item-#{\(i} { width: 2em * \)i; } \(i: \)i - 2; }

@mixin和@include类似函数声明和函数调用。

scss函数 1.默认参数 @mixin scroll(\(height:10px,\)width:10px) { /* 滚动条样式 */ &::-webkit-scrollbar {

-webkit-appearance: none;
background: transparent;
width: $width !important;
height: $height !important;

} }

css转scss 基于工具:https://csspre.com/convert/、http://css2sass.herokuapp.com/

问题总结 1.scss不转换 今天遇到自定义的css变量中,使用scss变量或者函数是,不会被编译(例如rgba函数、或者一个变量编译成css后没有变化)。

最终的解决办法就是使用插值语法。我们定义的变量都为属性值,可直接使用,但是如果变量作为属性或在某些特殊情况下则必须要以 #{$variables} 形式;

\(borderDirection: top !default; \)baseFontSize: 12px !default; \(baseLineHeight: 1.5 !default; // 应用于 class 和属性 .border-#{\)borderDirection} {

border-#{$borderDirection}: 1px solid #ccc;

} // 应用于复杂的属性值 body {

font:#{$baseFontSize}/#{$baseLineHeight};

}

阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。