day10 Sass 插件 + webstorm eclipes 按键设置

A 今天我学到了什么

1 webstrom下Sass安装

1.1 安装软件 ruby

1.2 cmd打开命令行输入

gem source -a http://rubygems.org
gem install sass

1.3 在命令行输入

sass -v
//看sass是否安装成功

14.回到webStrom

webstorm-File-settings-Tools-FileWatchers

1.5 添加SCSS工具

image.png

2 Sass基本功能

2.1 变量

$bg:pink;
.header{background:$bg};
$place:top;
如果变量需要镶嵌在字符串之中,就必须需要写在#{}之中。
.header{
  margin-#{$place}:20px;
}

2.2 计算功能

 body {
    margin: (14px/2);
    top: 50px + 100px;
    right: $var * 10%;
  }

2.3 嵌套

div h{
  color:red;
}

可以写成

 div {
    h{
      color:red;
    }
  }

2.4 代码重用

2.4.1 继承
SASS允许一个选择器,继承另一个选择器。比如,现有class1:

.class1 {
    border: 1px solid #ddd;
  }
.class2 {
    @extend .class1;
    font-size:120%;
  }

2.4.2 Mixin
是可以重用的代码块

@mixin left {
    float: left;
    margin-left: 10px;
  }
div {
    @include left;
  }

2.4.3 mixin的强大之处,在于可以指定参数和缺省值。

@mixin left($value: 10px) {
    float: left;
    margin-right: $value;
  }
div {
    @include left(20px);
  }
//可以传递多个参数
@mixin wh($w:100px,$h:100px){
  width:$w;
  height:$h;
}
.header{
  @include wh;
  background:pink;
}
.footer{
  @include wh(200px,200px);
  background: blue;
}

下面是一个mixin的实例,用来生成浏览器前缀。

@mixin rounded($vert, $horz, $radius: 10px) {
    border-#{$vert}-#{$horz}-radius: $radius;
    -moz-border-radius-#{$vert}#{$horz}: $radius;
    -webkit-border-#{$vert}-#{$horz}-radius: $radius;
  }
     #navbar li { @include rounded(top, left); }
    #footer { @include rounded(top, left, 5px); }

2.4.4 插入文件
@import命令,用来插入外部文件。

 @import "path/filename.scss";

如果插入的是.css文件,则等同于css的import命令。

@import "foo.css";

3 webstorm eclipes 按键设置

file - settings - keymap - kemap:Eclipes

4 自己代码

1 CSS文件新建 base.scss 样式文件
2 在base.scss中写完代码后,会自动生成base.css 和 base.css.map文件

//HTML
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" href="css/base.css"/>
</head>
<body>
<div class="box">
    <a href="#">sadfsdfsdf</a>

</div>
<div class="top"></div>

</body>
</html>
//SCSS
@mixin wh($w:100px,$h:100px,$b:red,$r:30px,$ro:30deg){
  width: $w;
  height: $h;
  background-color: $b;
  border-radius: $r;
  transform:rotate($ro);
}
.box{
  @include wh;
}
.top{
  @include wh(200px,300px,pink,100px,90deg)
}
//自动生成的CSS
.box {
  width: 100px;
  height: 100px;
  background-color: red;
  border-radius: 30px;
  transform: rotate(30deg); }

.top {
  width: 200px;
  height: 300px;
  background-color: pink;
  border-radius: 100px;
  transform: rotate(90deg); }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 什么是CSS预处理器 定义:CSS预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为CSS增...
    SA_Arthur阅读 8,295评论 0 18
  • 1、SCSS 是 Sass 的新语法格式,从外形上来判断他和 CSS 长得几乎是一模一样,代码都包裹在一对大括号里...
    夜幕小草阅读 5,696评论 2 10
  • 3.移动端前端基础架构 15:16单词释义:a)mkdir: make directory 建立一个新的子目录(...
    小豌豆书吧阅读 4,474评论 0 1
  • Sass 是对 CSS 的扩展,让 CSS 语言更强大、优雅。 它允许你使用变量、嵌套规则、mixins、导入等众...
    八宝君阅读 6,205评论 0 1
  • 儿子的寒假“魔”式正式启动,写错字了吗?不好意思,各位往下看就知道有没有错了。 昨天是放假第一天,儿子一觉睡到快中...
    阅读 3,372评论 0 0

友情链接更多精彩内容