sass 基础——回顾

1.webstorm 自动编译SASS
  下载安装包 http://rubyinstaller.org/downloads/
  然后点击安装,路径为默认路径就行, 勾选以下两项
    add Ruby executables to your PATH
    Associate .rb and rbw files with this Ruby information
  安装完,打开命令行 输入 gem install sass
  webstorm 配置 点击setting选择tool下的file watcher 如下图:

   

  

  

  

2.SCSS 和 Sass 的区别。
    SCSS 是 Sass 引入新的语法,其语法完全兼容css3,并且继承了Sass的强大的功能,SCSS 是CSS的超级(扩展),

      因此,所有在CSS 中正常工作的代码也能在SCSS 中正常的工作。

3. 使用变量:
    变量声明 $highlight-color: #f90; 如果一个变有多个值可以用逗号分隔。如:
      $plain-font: "Myriad Pro"、Myriad、"Helvetica Neue";
    当变量定义在css 规则内,那么该变量只能在此规则内使用
      变量引用: 例如:
        $highlight-color: #F90;
        .selected {
            border: 1px solid $highlight-color;
          }
        //编译后
        .selected {
            border: 1px solid #F90;
          }
      变量名用中划线还是下划线
      中划线命名的内容和下划线命名的内容是互通的
        $link-color: blue;
          a {
            color: $link_color;
          }
        //编译后
         a {
            color: blue;
        }

4.嵌套css 规则
    #content {
        article {
          h1 { color: #333 }
          p { margin-bottom: 1.4em }
        }
      aside { background-color: #EEE }
    }
     /* 编译后 */
    #content article h1 { color: #333 }
    #content article p { margin-bottom: 1.4em }
    #content aside { background-color: #EEE }
  父选择器的标识符&;
    &符号,可以放在任何一个选择器可以出现的地方。
      article a {
          color: blue;
          &:hover { color: red }
        }
      /* 编译后 */
      article a{color:blue}
      article a:hover {color: red}
  群组选择器的嵌套
    .container {
        h1, h2, h3 {margin-bottom: .8em}
    }
      /* 编译后 */
    .container h1, .container h2, .container h3 { margin-bottom: .8em }
  内嵌在群组中的选择器:
    nav, aside {
      a {color: blue}
    }
      /* 编译后 */
    nav a, aside a {color: blue}
  子组合选择器和同组合选择器 : > , 和 ~ ;
    article section { margin: 5px }
      选择article 下的所有的命名中的 section 选择器的元素。
    article > section { border: 1px solid #ccc }
      选择器只会选择article 下紧跟着的子元素中命名section选择器的元素。
    header p { font-size: 1.1em }
      选择同层相邻的选择器,选择header 后面紧跟着的p 元素。
    article ~ article { border-top: 1px dashed #ccc }
  同层全体组合选择器,选择所有article 后的同层article元素。

    article {
        ~ article { border-top: 1px dashed #ccc }
        > section { background: #eee }
        dl > {
          dt { color: #333 }
          dd { color: #555 }
        }
      nav & { margin-top: 0 }
    }
      /* 编译后 */
    article ~ article { border-top: 1px dashed #ccc }
    article > footer { background: #eee }

5.导入SASS 文件
  使用sass的@import规则并不需要指明被导入文件的全名。
  你可以省略.sass或.scss文件后缀
  举例来说,@import"sidebar";这条命令将把sidebar.scss
  文件中所有样式添加到当前样式表中

  当你@import一个局部文件时,还可以不写文件的全名,
  即省略文件名开头的下划线 举例来说,你想导入
  themes/_night-sky.scss这个局部文件里的变量,
  你只需在样式表中写@import "themes/night-sky";。
  默认变量值:
    在一般的情况下,反复生命一个值,最后一次生命会覆盖前面
    的声明。
  强制覆盖 !default ,用于变量。
    例如:
      $fancybox-width: 400px !default;
      .fancybox {
        width: $fancybox-width;
      }
  嵌入导入:
    sass 允许@import 命令写在css 规则内,这种导入方式下,生产的css文件是,局部
    文件会被插入到css 规则内导入它的地方,举个例子,一个名为_blue-theme.scss
    的局部文件,内容如下。
      aside {
        background: blue;
        color: white;
      }
      .blue-theme {@import "blue-theme"}
      //生成的结果跟你直接在.blue-theme选择器内写_blue-theme.scss文件
        的内容完全一样。
      . blue-theme {
          aside {
            background: blue;
            color: #fff;
          }
      }
  原生的CSS导入
    由于sass 兼容原生的css 所以它支持原生的css@import
      ● 被导入文件的名字以.css结尾;
      ● 被导入文件的名字是一个URL地址(比如http://www.sass.hk/css/css.css),由此可用谷歌字体API提供的相应服务;
      ● 被导入文件的名字是CSS的url()值。
6.静默注释
  sass 另外提供了一种不同于css 的注释。它以 // 开头,注释内容直到末行。
    body {
      color: #333; // 这种注释内容不会出现在生成的css文件中
      padding: 0; /* 这种注释内容会出现在生成的css文件中 */
    }

7.混合器:
  混合器使用@mixin 标识符定义。
    例如:
      @mixin rounded-corners {
        -moz-border-radius: 5px;
        -webkit-border-radius: 5px;
        border-radius: 5px;
    }
  然后就可以在你的样式表中通过@include来使用这个混合器,
  放在你希望的任何地方。@include调用会把混合器中的所有
  样式提取出来放在@include被调用的地方。如果像下边这样写:
    notice {
      background-color: green;
      border: 2px solid #00aa00;
      @include rounded-corners;
    }
      //sass最终生成:
    .notice {
      background-color: green;
      border: 2px solid #00aa00;
      -moz-border-radius: 5px;
      -webkit-border-radius: 5px;
      border-radius: 5px;
    }

  给混合器传参:
    通过在@include 混合器时给混合器传参,来指定混合器生成的精确样式,当
      @include 混合器时,参数其实就是可以给css 属性值的变量。
      @mixin link-colors($normal,$hover,$visited) {
          color: $normal;
          $:hover {color:$hover;}
          $:visited {color:$visited;}
      }

    当混合器被@include 时,你可以把它当做一个css 函数来传参。
      a{
        @include link-colors(blue, red,green)
      }
      // Sass 最终生成的是
      a{color:blue;}
      a:hover {color:red;}
      a:visited { color: green;}
    sass 允许通过语法 $name:value 的形式指定每个参数的值,这种形式,
    的传参,参数顺序就不必在乎了,只要保证没有漏掉参数即可。
    a {
    @include link-colors(
      $normal: blue,
      $visited: green,
      $hover:red
      );
    }

  默认参数值:
      为了在@include 混合器时传入所有的参数,我们可以给参数制定一个默认值。
      参数默认值使用: $name: default-value 的生命形式。
      @mixin link-colors(
        $normal,
        $hover: $normal,
        $visited: $normal
      )
      {
        color: $normal;
        $:hover { color: $hover;}
        $:visited { color: $visited;}
      }
    如果这样调用: @include link-colors(red) $hover 和$visited
      也会自动赋值为red.
8.选择器继承
    通过@extend 语法实现
    // 通过选择器继承样式
      .error {
        border: 1px red;
        background-color: #fdd;
      }
      .seriousError {
        @extend .error;
        border-width: 3px;
      }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/368328.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

这么多年第一次自己去用游标和临时表

汗颜,做了这么多年开发自己第一次用游标和临时表 还是借助度娘才写出来的,请大家给指点下。。。 1 CREATE PROCEDURE [dbo].[sp_LaodDefaultFM]2 (3 ExhID int ,4 DefaultExhID INT,5 Result INT6 )7 AS 8 BEGIN 9 --判断当前会话中临时表是…

设置MongoDB副本集分为4个步骤

介绍 在详细介绍配置MongoDB副本集之前,让我简要介绍一下它们: 副本集是Mongodb数据库提供的功能,可实现高可用性和自动故障转移。 它是一种传统的主从配置,但具有自动故障转移功能。 基本上,它是mongod实例的组/集…

一篇文章搞定css3 3d效果

css3 3d学习心得 卡片反转魔方banner图 首先我们要学习好css3 3d一定要有一定的立体感 通过这个图片应该清楚的了解到了x轴 y轴 z轴是什么概念了。 首先先给大家看一个小例子: 卡片反转 这个例子只是简单的纯css3 3d 关于y轴旋转 下面是代码: 这是HT…

5个编码技巧以减少GC开销

在本文中,我们将介绍五种方法,这些方法可以使用有效的编码来帮助垃圾回收器减少分配和释放内存的CPU时间,并减少GC开销。 较长的GC通常会导致我们的代码在回收内存时被停止(也称为“停止世界”)。 一些背景 GC的建立…

java usb 无驱打印_Windows Usb 无驱动打印

\?\USB#VID_8866&PID_0100#0001B0000000#{a5dcbf10-6530-11d2-901f-00c04fb951ed}USB小票打印解决办法一、需要驱动,无需更改程序安装USB打印驱动,然后共享打印机,通过 “\\计算机\打印机名”的形式,按端口方式写。1二、直接…

需要学习的东西列表

1.Python2.webservice3.requirejs4.idea5.webService6.redis7.doubble8.mongDB9.zookper 大数据学习曲线:课程一、大数据运维之Linux基础课程二、大数据开发核心技术-Hadoop 2.x从入门到精通课程三、大数据开发核心技术-大数据仓库Hive精讲课程四、大数据协作框架-S…

微信小程序 引用其他js里的方法

微信小程序中,在微信官方开发文档我们可以知道 小程序的目录结构 。 一个小程序页面由四个文件组成,一个小程序页面的四个文件具有相同路径与文件名,由此我们可知一个小程序页面对应着一个跟页面同名的js文件。可是当有些公共方法&#xff0…

C++内存模型

C内存模型 一文了解所有C内存的问题 AlexCool 目录 一 C内存模型 二 C对象内存模型 三 C程序运行内存空间模型 四 C栈内存空间模型 五 C堆内存空间模型 六 C内存问题及常用的解决方法 七 C程序内存性能测试 环境: uname -a Linux alexfeng 3.19.0-15-generic #…

css之absolute

一、absolute和float有相同的特性&#xff0c;包裹性和破坏性 1、absolute和float的相似(看下面的demo&#xff0c;如果图片在左上角&#xff0c;那么用float和absolute都一样) 1 <!doctype html>2 <html>3 <head>4 <meta charset"utf-8">5…

inline「一」:从 image 底部白边初识 line-height

本文首发于个人博客 http://www.lijundong.com/image-and-line-height/ 今天在做一个静态页面时&#xff0c;图片底部出现一条 3px 高度的白边&#xff0c;既不是 margin 也不是 padding&#xff0c;找了好久没能解决&#xff0c;后来才发现与 line-height 相关&#xff0c;问…

(转) STM32--ADC

原标题&#xff1a;STM32之ADC步骤小技巧&#xff08;英文&#xff09; 看到标题&#xff0c;别吓到哈、并不是要用英文写、至于原因是什么、请往下看&#xff1a; 言归正传&#xff1a;STM32的ADC模块的特色 1、1MHz转换速率、12位转换结果&#xff08;12位、记住这个12位哈、…

嗨,那里有回调!

因为是我的书包&#xff0c;所以我喜欢JavaScript 。 实际上&#xff0c;我已经开始喜欢JavaScritp的面向异步回调的编程风格 。 因此&#xff0c;当我发现自己处于非JavaScript环境中时&#xff08;例如Java&#xff09; &#xff0c;我往往会错过使用回调的机会。 好消息是…

GC内存可视化器教程–第一部分

正如您从以前的文章中可能已经读到的那样&#xff0c;要获得的Java程序员的一项关键技能就是理解和评估JVM的运行状况的能力&#xff0c;例如Java堆内存占用量以及垃圾回收过程。 为了实现上述目标&#xff0c;所有JVM供应商&#xff08;Oracle&#xff0c;IBM等&#xff09;都…

设置表格边框颜色

1、源码如下&#xff1a; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><title>设置表格边框颜色</title><meta http-equiv"keywords" content"keyword1,keyword2,keyword3"…

java se程序设计_JavaSE--Java 的基本程序设计结构

Java 对大小写敏感Java 中定义类名的规则很宽松。名字必须以字母开头&#xff0c;后面可以跟字母和数字的任意组合。长度基本上没有限制。但是不能使用 Java 保留字作为类名。标准的命名规范为&#xff1a;类名是以大写字母开头的名词。如果名字由多个单词组成&#xff0c;每个…

Python开发【第十九篇】:Python操作MySQL

本篇对于Python操作MySQL主要使用两种方式&#xff1a; 原生模块 pymsqlORM框架 SQLAchemypymsql pymsql是Python中操作MySQL的模块&#xff0c;其使用方法和MySQLdb几乎相同。 下载安装 1pip3 install pymysql使用操作 1、执行SQL 123456789101112131415161718192021222324252…

20180705 考试记录

T1 货物运输弱化版 题解&#xff1a; 倒着跑最短路就行没仔细看题凉凉 code: #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #define F(i,a,b) for(register int i(a);i<(b);i) using namespace std;int rd() {int x…

mysql集群跨地域同步部署_跨地域冗余 - 跨数据中心部署方案 - 《TiDB v2.1 用户文档》 - 书栈网 · BookStack...

跨数据中心部署方案作为 NewSQL 数据库&#xff0c;TiDB 兼顾了传统关系型数据库的优秀特性以及 NoSQL 数据库可扩展性&#xff0c;以及跨数据中心(下文简称“中心”)场景下的高可用。本文档旨在介绍跨数据中心部署的不同解决方案。三中心部署方案TiDB, TiKV, PD 分别分布在 3 …

使用Maven进行硒测试自动化

今天&#xff0c;我想帮助您更好地管理自动GUI测试&#xff08;Selenium&#xff09;。 在过去&#xff0c;我已经看到人们处理此问题的许多不同方式。 有些人只是使用Selenium-IDE编写这些普通HTML TestCases&#xff0c;将其存储在HDD上的某个位置&#xff0c;并在需要时手动…

js小练习题

1.2018年01月5日 11:40:30 星期三 1 <!DOCTYPE html>2 <html lang"en">3 <head>4 <meta charset"UTF-8">5 <title>Title</title>6 <script>7 8 function getCurrentDate(){9 //1. …