sass 成熟、稳定、强大的专业级CSS扩展语言

sass十分钟入门

变量

sass中可以定义变量,方便统一修改和维护。

//sass style
//-----------------------------------
$fontStack:    Helvetica, sans-serif;
$primaryColor: #333;

body {
  font-family: $fontStack;
  color: $primaryColor;
}
//css style
//-----------------------------------
body {
  font-family: Helvetica, sans-serif;
  color: #333;
}

嵌套

sass可以进行选择器的嵌套,表示层级关系,看起来很优雅整齐。

//sass style
//-----------------------------------
nav {
  ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  li { display: inline-block; }

  a {
    display: block;
    padding: 6px 12px;
    text-decoration: none;
  }
}
//css style
//-----------------------------------
nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

nav li {
  display: inline-block;
}

nav a {
  display: block;
  padding: 6px 12px;
  text-decoration: none;
}

导入

sass中如导入其他sass文件,最后编译为一个css文件,优于纯css的@import

//sass style
//-----------------------------------
// _reset.scss

html,
body,
ul,
ol {
   margin: 0;
  padding: 0;
}
//sass style
//-----------------------------------
// base.scss 

@import ‘reset‘;

body {
  font-size: 100% Helvetica, sans-serif;
  background-color: #efefef;
}
//css style
//-----------------------------------
html, body, ul, ol {
  margin: 0;
  padding: 0;
}

body {
  background-color: #efefef;
  font-size: 100% Helvetica, sans-serif;
}

mixin

sass中可用mixin定义一些代码片段,且可传参数,方便日后根据需求调用。从此处理css3的前缀兼容轻松便捷。

//sass style
//-----------------------------------
@mixin box-sizing ($sizing) {
    -webkit-box-sizing:$sizing;
       -moz-box-sizing:$sizing;
            box-sizing:$sizing;
}
.box-border{
    border:1px solid #ccc;
    @include box-sizing(border-box);
}
//css style
//-----------------------------------
.box-border {
  border: 1px solid #ccc;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

扩展/继承

sass可通过@extend来实现代码组合声明,使代码更加优越简洁。

//sass style
//-----------------------------------
.message {
  border: 1px solid #ccc;
  padding: 10px;
  color: #333;
}

.success {
  @extend .message;
  border-color: green;
}

.error {
  @extend .message;
  border-color: red;
}

.warning {
  @extend .message;
  border-color: yellow;
}
//css style
//-----------------------------------
.message, .success, .error, .warning {
  border: 1px solid #cccccc;
  padding: 10px;
  color: #333;
}

.success {
  border-color: green;
}

.error {
  border-color: red;
}

.warning {
  border-color: yellow;
}

运算

sass可进行简单的加减乘除运算等

//sass style
//-----------------------------------
.container { width: 100%; }

article[role="main"] {
  float: left;
  width: 600px / 960px * 100%;
}

aside[role="complimentary"] {
  float: right;
  width: 300px / 960px * 100%;
}
//css style
//-----------------------------------
.container {
  width: 100%;
}

article[role="main"] {
  float: left;
  width: 62.5%;
}

aside[role="complimentary"] {
  float: right;
  width: 31.25%;
}

颜色

sass中集成了大量的颜色函数,让变换颜色更加简单。

//sass style
//-----------------------------------
$linkColor: #08c;
a {
    text-decoration:none;
    color:$linkColor;
    &:hover{
      color:darken($linkColor,10%);
    }
}
//css style
//-----------------------------------
a {
  text-decoration: none;
  color: #0088cc;
}
a:hover {
  color: #006699;
}

参考:http://www.w3cplus.com/sassguide/https://www.sass.hk/http://www.haorooms.com/post/sass_css
时间: 2024-10-19 12:33:43

sass 成熟、稳定、强大的专业级CSS扩展语言的相关文章

Rust这种新型的语言注定火不起来,功能太强大(特性太多),还不如用成熟稳定强大的C/C++,而且生态不行、所以恶性循环

这种新型的语言注定火不起来,功能太强大(特性太多),还不如用成熟稳定强大的C/C++,,而Golang足够简单,入门快,编译快,性能也强悍,解决了服务端开发人员的痛点,,注定被大多数人接受... golang 针对的方向和他不同,虽然是同一时期的,但我觉得不太适合用来比较 拿 Go 来类比,不是比功能定位,而是比被接受的容易度,其他方面都很OK 且 容易上手的语言后来者居上的可能性非常大,,,如果从功能上对比的话,Go 主要定位解决分布式系统,服务器应用开发,主要竞争对手是 Java.Pytho

强悍的 CSS 扩展语言 -- Sass

<div class = 'testBorder'> <p> <input/> </p> </div> 假设上面这 3 个 DOM 元素有这样的需求, div 去边框, p 显示边框, input 只显示底部边框, 而且统一用 !important 关键字提高样式的优先权: 如果手写纯 CSS 会是这样: .testBorder{ border:none !important; } .testBorder p{ border:1px solid

9.14-9.18随笔之一(CSS扩展技术:LESS SASS)

less css是一种动态样式语言,属于CSS预处理语言的一种,它使用类似CSS的语法,为CSS的赋予了动态语言的特性;SASS是对CSS3(层叠样式表)的语法的一种扩充,它可以使用巢状.混入.选择子继承等功能,可以更有效有弹性的写出Stylesheet. less是一种语法,使用需要编译器将其编为CSS才能使用,通过less 我们可以在编写css时设置变量(@变量名).运用继承.嵌套等,更方便CSS的编写和维护,我最为喜欢的便是这两种技术中可嵌套的编写方法,对于初学者来说尤为实用,在less中

CSS扩展“less&quot;和”sass“

css扩展技术是对css原生代码一种扩展,其中less和sass就是css扩展技术两种方式,通过扩展技术,可以使我们在写css代码时候,更加的方便和快捷. 首先要了解css扩展技术的含义:扩展技术并不是另外一种全新的技术,它是建立在css基础上进行扩展,实现一些css原生代码所不能实现的功能,其次less和sass不能单独在浏览器上运行,需要进行编译: less能实现同js一样的变量.函数.混合参数等功能,通常用@标志开始,后面接变量名字,具体如实例:@winth.@color.@height等

css扩展技术

在原来的基础上扩展了编程语言的特性. less(早期):定义变量[email protected]&-当前对象,如:.class1{ .whb(100px,100px,red); &:hover() }sass(现在很多都用sass):需安装Ruby环境(可以先用kola代替).导入sass不需要后缀名,css需要后缀名(@import "test2";)语法规则:1.定义变量-$(以前只有全局变量没有局部变量) 2.!default 默认值(组建化开发特别有用) 3.

CSS 扩展技术

CSS扩展技术有两种: 1:LESS 2:SCSS/SASS less作为CSS的一种扩展,LESSCSS不仅向下兼容CSS的语法,而且连新增的特性也是使用CSS的语法.这样的设计使得学习LESS很轻松,而且你可以在任何时候回退到CSS. 申明变量的方法: @width:100px; @backgroundColor:blue; 其变量是“按需加载”(lazy loaded)的,因此不必强制在使用之前声明. 在 LESS 中可以定义一些通用的属性集为一个 class,然后在另一个 class 中

汉澳sinox2015发布,成熟稳定版本,适合大规模部署

汉澳sinox2015发布是因为出现了严重bash shellshock漏洞,趁用户还没很多及时发布修复版本,有利于维护sinox安全可靠的形象,也是为了迎接中国用户大规模部署,打造一个安全放心的操作系统.汉澳sinox2015是成熟稳定版本,适合大规模部署. 汉澳sinox2015第一次在sinox操作系统上开发编译,从而脱离了bsd unix系统,开始了独立自主的发展道路. 汉澳sinox是基于bsd unix成熟稳定内核,支持 bsd unix,兼容linux,适度支持windows的高度

CSS扩展技术-less

在原来的CSS基础上扩展一些编程语言 CSS引用扩展技术时需要编译器编译<编译工具Koala 1.less<比较早期的CSS扩展技术> a.less语法:后缀名<.less> //变量的定义 @color:blue; @body-color:blue; @div-color:blue; @w:100px; @h:100px; body{ height:500px; border:1px solid @body-color; } div{ width:@w; height:@h

css预处理语言的模块化实践

编写css是前端工作中,一项普通而又频繁的劳动,由于css并不是一门语言,所以在程序设计上显得有些简陋.对于小型项目来说,css的量还不至于庞大,问题没有凸显,而如果要开发和持续维护一个较为大型的项目,那就需要对css进行管理和规范了,否则会发生不可挽回的后果(吓唬谁呢??). 背景上一节[从css谈模块化]我们通过规范的约束,将css的编写方式进行了优化和改进,形成一种可持续发展的路线.但还是遗留了一些问题:冗余.虽然我们通过定义公共模块和私有模块,来委婉地分担common的体积,但commo