FE: Sass and Bootstrap 3 with Sass
Sass简介
Sass是CSS的预处理语言;提供了变量定义、函数定义、函数调用、类继承、嵌套(CSS层级关系)及代码引入功能。
Sass安装指南
MAC
-> gem -v
2.0. -> sudo gem install sass -> sass -v
Sass 3.4. (Selective Steve)
WIN
Windows 7 x64
需要安装ruby,然后就可以使用gem了。ruby传送门:http://rubyinstaller.org/
命令行
-> gem -v
2.4. -> gem sources -l
*** CURRENT SOURCES ***
https://ruby.taobao.org/ -> gem install sass
PS:
1. 强烈建议将gem sources改为https://ruby.taobao.org/;改的方法参考后文“MAC可能遇到的错误”中的命令
2. 若添加https://ruby.taobao.org/后,仍然出错,使用gem sources -l命令查看当前所有源,使用gem sources --remove将默认源删除
MAC可能遇到的错误
-> gem sources
https://rubygems.org/
-> gem sources --remove https://rubygems.org/
-> gem sources --a https://ruby.taobao.org/
-> cd /Library/Ruby/Gems/2.0./cache
-> sudo rm sass-3.4..gem
Bootstrap with Sass安装指南
MAC
-> gem install bootstrap-sass -v 3.3.2.0
-> cd /Library/Ruby/Gems/2.0./gems/bootstrap-sass-3.3.2.0/assets/stylesheets
WIN
gem install bootstrap-sass -v 3.3.2.0
cd C:\Ruby22-x64\lib\ruby\gems\2.2.\gems\bootstrap-sass-3.3.2.0\assets\stylesheets
PS:Ruby22-x64是Ruby安装文件夹
bootstrap with sass相关文件在stylesheets文件夹下,拷贝到自己项目下使用即可;如下图所示。PS:我把stylesheets改名成了bootstrapSass :)

Sass使用指南
-> sass sample.scss output.css
如开篇所说Sass是CSS的扩展语言,其提供了变量定义、函数定义、函数调用、类继承、嵌套(CSS层级关系)及代码引入功能,下面逐一介绍其功能用法。
变量定义:$
sample.scss
$border-radius-base: 4px !default;
函数定义:@mixin
sample.scss
@mixin border-left-radius($radius) {
border-bottom-left-radius: $radius;
border-top-left-radius: $radius;
}
函数调用:@include
sample.scss
.front-btn-group {
@include border-left-radius(0);
}
output.css
.front-btn-group {
border-bottom-left-radius:;
border-top-left-radius:;
}
类继承:@extend
sample.scss
.message {
border: 1px solid #ccc;
padding: 10px;
color: #333;
}
.success {
@extend .message;
border-color: green;
}
output.css
.message, .success {
border: 1px solid #ccc;
padding: 10px;
color: #333; }
.success {
border-color: green;
}
PS:Sass3.4.13(截止目前最新版)在media query中不能使用@extend
嵌套
sample.scss
.front-btn-group {
.btn {
border: 1px solid #ccc;
}
}
output.css
.front-btn-group .btn {
border: 1px solid #ccc;
}
&引用父类
sample.scss
.front-btn-group .btn:first-child {
margin-left:;
&:not(:last-child) {
@include border-right-radius(0);
}
}
output.css
.front-btn-group .btn:first-child {
margin-left:;
}
.front-btn-group .btn:first-child:not(:last-child) {
border-bottom-right-radius:;
border-top-right-radius:;
}
代码引入:@import
sample.scss
@import "bootstrapSass/bootstrap/mixins/border-radius";
.front-btn-group {
@include border-left-radius(0);
}
.front-btn-group {
border-bottom-left-radius:;
border-top-left-radius:;
}
结语
资料
FE: Sass and Bootstrap 3 with Sass的更多相关文章
- CSS高效开发实战:CSS 3、LESS、SASS、Bootstrap、Foundation --读书笔记(1)设定背景图
技术的新发展,除计算机可以接入互联网之外,平板电脑.智能手机.智能电视等其他设备均可访问互联网.在多设备时代,构建多屏体验也不是听说的那么难. 但是这也增加了学习CSS的难度?不知道如何上手,只懂一点 ...
- 只会CSS还不够,LESS、SASS、BootStrap、Foundation一网打尽!
有些人想学CSS,不知如何下手:有些人已经学会CSS的各种属性,却不知如何运用:有些人会平面设计,不知道如何与网页设计结合:有些人会HTML,就是学不会CSS.试问自己,图中的技术你都会了吗? 别总是 ...
- sass+compass+bootstrap三剑合璧高效开发记录
1. 先搭建环境,下载node.js,rubyinstaller,安装, 安装rubyinstaller时,要选上include system path,这样就会自动将node.js执行添加到wind ...
- Sass学习之路:Sass、Compass安装与命令行
导言 CSS不是一门真正意义上的编程语言,很多编程语言理所当然的特性(比如变量),都不被支持.同时再开发模块化的web项目的时候,也要避免相互干扰.为了弥补CSS的这些不足,就产生了CSS预处理器,S ...
- Sass学习之路(3)——Sass编译
Sass的编译也是在我们使用Sass的时候必须要经过的一个步骤,因为".sass"和".scss"文件并不能直接使用<link>标签引用,最终其实还 ...
- Sass学习之路(1)——Sass简介
Sass是CSS的一种预处理器语言,类似的语言还有Less,Stylus等. 那么什么是CSS预处理器? CSS 预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为 CSS 增加了一些 ...
- BEM,SASS,LESS,bootstrap:如何有效地将这些方法,工具和框架聪明地整合?
https://medium.com/@andersonorui_/bem-sass-and-bootstrap-9f89dc07d20f Bootstrap是一个“HTML,CSS和Javascri ...
- (转)在 vue-cli 脚手架中引用 jQuery、bootstrap 以及使用 sass、less 编写 css [vue-cli配置入门]
写在前面: 本文是vue-手摸手教你使用vue-cli脚手架-详细步骤图文解析之后,又一篇关于vue-cli脚手架配置相关的文章,因为有些文章步骤不够清晰,当时我引入JQuery.bootstrap的 ...
- 前端学习(八)sass和bootstrap(笔记)
less sass 和less基本上70%差不多(书写方式不一样) sass功能更多一点 1.定义一个变量 $b:blue; div{width:100px;height:100px; backgro ...
随机推荐
- Jenkins 初见
在网上貌似没有找到Jenkins的中文的太多的文档,有的都是关于Hudson的一些 零零散散的,所以自己边学习边实践总结了以下系列文章,希望有助于大家对于Jenkins的使用. 本系列文章是基于我3年 ...
- 微信小程序简易教程
刚接触到微信小程序开发,这里做一个简单的教程: 1. 获取微信小程序的 AppID 登录 https://mp.weixin.qq.com ,就可以在网站的"设置"-"开 ...
- clang和gcc消除警告
1. clang命令,它的作用是用来消除特定区域的clang的编译警告,-Wgnu则是消除?:警告, 例: #pragma clang diagnostic push #pragma clang di ...
- 告别LVS:使用keepalived+nginx实现负载均衡代理多个https
需求1:CDN小节点使用尽可能少的资源实现高可用和负载均衡需求2:需要支持10多个HTTPS站点的反向代理后端环境:nginx在前端做url_hash,后端缓存服务器使用squid和lighttpd分 ...
- Com编程入门——什么是COM,如何使用COM
本文的目的是为刚刚接触COM的程序员提供编程指南,并帮助他们理解COM的基本概念.内容包括COM规范简介,重要的COM术语以及如何重用现有的COM组件.本文不包括如何编写自己的COM对象和接口. CO ...
- 详述iOS国际化
在真正将国际化实践前,只知道通过NSLocalizedString方法将相应语言的字符串加载进来即可.但最近公司项目的新需求增加英文版本,并支持应用内无死角切换~,这才跳过各种坑实现了应用内切换语言, ...
- C++ int转string
一.使用atoi 说明: itoa( int value, char *string, int radix ); 第一个参数:你要转化的int; 第 ...
- hdu3368之DFS
Reversi Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Su ...
- 【iOS问题记录】关于UITableViewCell的高度、填充
创建了继承自UITableViewCell的类,在创建该类的同时创建了.xib文件,在cell中填充UIImageView,其frame根据cell的frame调整.在.m中添加以下方法: -(id) ...
- MySQL忘记root密码的解决方案
在实际操作中忘记MySQL的root密码是一件令人很头痛的事情,不要急以下的文章就是介绍MySQL的root密码忘记的时候解决方案,我们可以对其进行如下的步骤重新设置,以下就是文章的详细内容描述. ...