zoukankan      html  css  js  c++  java
  • sass安装和语法

    1.简介

    sass 它的基本思想是,用一种专门的编程语言,进行网页样式设计,然后再编译成正常的CSS文件。这被叫做“css预处理器”(css preprocessor)。它提供了很便利的语法,节省了我们写css的时间。

    2.安装

      (1)首先确保你的电脑安装了 ruby (传送门 https://www.ruby-lang.org/zh_cn/downloads/)

    // 控制台查看是否安装成功
    ruby -v

     

        (2)安装 sass

    gem install sass

    3.使用

      (1)用编辑器 新建文件夹 demo ,在demo里新建文件 demo.scss ,代码如下

    .list_1 {
        ul {padding-left: 1.6rem;}
        li {
            border-bottom: 1px solid #ddd;padding-right: 1.6rem;
            a {
                display: block;height: 4rem;line-height: 4rem;overflow: hidden;font-size: 1.4rem;
                background:url("../image/icon_goto.png") right center no-repeat;
                background-size: auto 1.4rem;
                padding-right: 1.5rem;
            }
            time {float: right;color: #999;}
        }
    }
    

      (2)控制台 进入demo文件夹下

    // demo.css 是生成后的css文件名
    sass demo.scss demo.css
    

      

    4.sass提供的四种编译风格

    // nested:嵌套缩进的css代码,它是默认值。
    // expanded:没有缩进的、扩展的css代码。
    // compact:简洁格式的css代码。
    // compressed:压缩后的css代码。
    

      比如

    sass --style compressed test.sass test.css
    

      

      

    5.sass 语法

       我觉得sass的格式和jade书写格式很像,结合sass的语法写了个demo,希望能帮助大家。

      注意 : 这里的是在控制台下直接用sass编译下的语法(不需要{}和;等),但是如果你需要在grunt下使用,请参考 http://www.w3cplus.com/sassguide/syntax.html

      页面结构很简单,这里主要讲scss的常用语法,我写在注释里了。

      丑丑页面预览:

          

      index.html

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
        <title></title>
        <link rel="stylesheet" href="index.css" media="screen" title="no title" charset="utf-8">
      </head>
      <body>
        <div class="lay01">
          <a href="#">cynthia</a>
          <label for="">something</label>
    
          <br>
          <br>
    
          <div class="lay01-1">
            <h1>hello sass</h1>
          </div>
        </div>
      </body>
    </html>

      css.scss

    *
      padding: 0
      margin: 0
      border: 0
      outline: 0
      font-size: 12px
    
    body
      background: #f4f4f4
    
    a
      text-decoration: none
      &:hover
        cursor: pointer
    
    // each循环
    $headings: (h1:2em,h2:1.5em,h3:1.2em)
    @each $header,$size in $headings
      #{$header}
        font-size: $size
    
    // for循环
    @for $i from 1 through 3
      .item-#{$i}
         2em * $i
    
    
    // 多个字段的数据循环
    $animal-data: (puma,black,default),(sea-sulg,blue,pointer),(egret,white,move)
    @each $animal,$color,$cursor in $animal-data
      .#{$animal}-icon
        background: url(img/#{$animal}.png)
        border: 1px #ddd solid
        cursor: $cursor

      css.scss生成的css.css

    * {
      padding: 0;
      margin: 0;
      border: 0;
      outline: 0;
      font-size: 12px; }
    
    body {
      background: #f4f4f4; }
    
    a {
      text-decoration: none; }
      a:hover {
        cursor: pointer; }
    
    h1 {
      font-size: 2em; }
    
    h2 {
      font-size: 1.5em; }
    
    h3 {
      font-size: 1.2em; }
    
    .item-1 {
       2em; }
    
    .item-2 {
       4em; }
    
    .item-3 {
       6em; }
    
    .puma-icon {
      background: url(img/puma.png);
      border: 1px #ddd solid;
      cursor: default; }
    
    .sea-sulg-icon {
      background: url(img/sea-sulg.png);
      border: 1px #ddd solid;
      cursor: pointer; }
    
    .egret-icon {
      background: url(img/egret.png);
      border: 1px #ddd solid;
      cursor: move; }
    
    /*# sourceMappingURL=css.css.map */

      index.scss

    // 引入外部css文件
    @import "css.css"
    
    // 变量
    $blue:#1875e7
    
    // 代码块
    @mixin font1
      font-family: 'Microsoft Yahei'
      color: #ddd
    
    // 嵌套
    .lay01
      background: $blue
      border: 1px #ddd solid
      a
        @include font1
        // 计算
        font-size: 16px - 1px
      label
        background: red
        font-size: 12px
        display: block
         100px
        height: 30px
        line-height: 30px
        text-align: center
      .lay01-1
         100px
        height: 100px
        background: yellow
        h1
          font-size: 20px
          color: green
          

      index.scss生成的index.css

    @import url(css.css);
    .lay01 {
      background: #1875e7;
      border: 1px #ddd solid; }
      .lay01 a {
        font-family: "Microsoft Yahei";
        color: #ddd;
        font-size: 15px; }
      .lay01 label {
        background: red;
        font-size: 12px;
        display: block;
         100px;
        height: 30px;
        line-height: 30px;
        text-align: center; }
      .lay01 .lay01-1 {
         100px;
        height: 100px;
        background: yellow; }
        .lay01 .lay01-1 h1 {
          font-size: 20px;
          color: green; }
    
    /*# sourceMappingURL=index.css.map */
     
  • 相关阅读:
    异常、中断、陷阱
    BigDecimal
    事务
    jsp的九大内置对象
    timer和ScheduledThreadPoolExecutor
    关于Python的导入覆盖解决办法
    RTTI
    Golang不会自动把slice转换成interface{}类型的slice
    Python中下划线的5种含义
    Python如何合并两个字典
  • 原文地址:https://www.cnblogs.com/cynthia-wuqian/p/5302966.html
Copyright © 2011-2022 走看看