Sass与Web组件化相关的功能
Sass
https://en.wikipedia.org/wiki/Sass_(stylesheet_language)
Sass (Syntactically Awesome Stylesheets) is a style sheet language initially designed by Hampton Catlin and developed by Natalie Weizenbaum.[2][3] After its initial versions, Weizenbaum and Chris Eppstein continu
官网
http://sass-lang.com
Sass is the most mature, stable, and powerful professional grade CSS extension language in the world.
认识:
实际上Sass规定了一套CSS语法, 此语法不是在浏览器上执行的, 而是为了编写css文件便利, 以及维护便利, 由Sass工具在编译环境中,将sass文件转换为css文件, 此文件可以在浏览器上跑。
http://sass-lang.com/guide
git
https://github.com/sass/sass
安装:
http://sass-lang.com/install
http://www.ruanyifeng.com/blog/2012/06/sass.html
功能
http://sass-lang.com/guide
Variables
$font-stack: Helvetica, sans-serif;
$primary-color: #333; body {
font: 100% $font-stack;
color: $primary-color;
}
Nesting
不过太深的嵌套, 也不利于维护, 不建议使用。
nav {
ul {
margin: 0;
padding: 0;
list-style: none;
} li { display: inline-block; } a {
display: block;
padding: 6px 12px;
text-decoration: none;
}
}
Partials
The underscore lets Sass know that the file is only a partial file and that it should not be generated into a CSS file. Sass partials are used with the
@importdirective.
_partial.scss
Import
// _reset.scss html,
body,
ul,
ol {
margin: 0;
padding: 0;
}
// base.scss @import 'reset'; body {
font: 100% Helvetica, sans-serif;
background-color: #efefef;
}
Mixins
@mixin border-radius($radius) {
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
-ms-border-radius: $radius;
border-radius: $radius;
} .box { @include border-radius(10px); }
Extend/Inheritance
.message {
border: 1px solid #ccc;
padding: 10px;
color: #333;
} .success {
@extend .message;
border-color: green;
}
Operators
.container { width: 100%; } article[role="main"] {
float: left;
width: 600px / 960px * 100%;
}
组件化相关
组件化牵扯到如下功能:
1、 Partials, 保证每个组件的css文件可以独自管理。
2、 Extends/Inheritance, 继承 可以保证相同组件, 继承同一个父亲样式。
3、 Mixins, 可以让相同功能的一套代码, 以函数的方式, 定义在一起。
4、 Imports, 保证容器控件, 可以组合容器中子控件的样式。
动手实验
1 官方介绍的ruby gem安装方法:
http://sass-lang.com/install
安装完 ruby, 再执行gem install sass, 结果报错。 应该是国内被墙了。
2 解决方法, 下载 sass gem 文件
https://rubygems.org/gems/sass/versions/4.0.0.alpha.1
3 安装此gem文件, gem install --local filename.gem。
http://www.cnblogs.com/tambor/archive/2011/12/25/Ruby_gem_Windows_mysql.html
4 实验demo
https://github.com/sunningQD/sass
Sass与Web组件化相关的功能的更多相关文章
- atitit. web组件化原理与设计
atitit. web组件化原理与设计 1. Web Components提供了一种组件化的推荐方式,具体来说,就是:1 2. 组件化的本质目的并不一定是要为了可复用,而是提升可维护性. 不具有复用 ...
- Lightning Web Components 来自salesforce 的web 组件化解决方案
Lightning Web Components 是一个轻量,快速,企业级别的web 组件化解决方案,官方网站也提供了很全的文档 对于我们学习使用还是很方便的,同时我们也可以方便的学习了解salesf ...
- 漫谈Nuclear Web组件化入门篇
目前来看,团队内部前端项目已全面实施组件化开发.组件化的好处太多,如:按需加载.可复用.易维护.可扩展.少挖坑.不改组件代码直接切成服务器端渲染(如Nuclear组件化可以做到,大家叫同构)... 怎 ...
- 探讨Web组件化的实现
CMS组件化,简单架构示意图: Web组件使用WebPage+WebAPI的好处: Ø 组件复用(组件条件管理页面复用+获取组件数据API复用). Ø 组件是分布式的第三方应用,本身高内聚.组件之 ...
- 2017年试试Web组件化框架Omi
Open and modern framework for building user interfaces. Omi的Github地址https://github.com/AlloyTeam/omi ...
- Omi v1.0震撼发布 - 令人窒息的Web组件化框架
原文链接--https://github.com/AlloyTeam/omi 写在前面 Omi框架经过几十个版本的迭代,越来越简便易用和强大. 经过周末的连续通宵加班加点,Omi v1.0版本终于问世 ...
- Omi v1.0震撼发布 - 开放现代的Web组件化框架
原文链接--https://github.com/AlloyTeam/omi 写在前面 Omi框架经过几十个版本的迭代,越来越简便易用和强大. 经过周末的连续通宵加班加点,Omi v1.0版本终于问世 ...
- web组件化开发第一天
技术选型 html5 css3 jq 应用的插件 FullPage.js 一.建一个测试页面,测试静态的功能 <!DOCTYPE html> <html> <head&g ...
- 移动web端的react.js组件化方案
背景: 随着互联网世界的兴起,web前端开发的方式越来越多,出现了很多种场景开发的前端架构体系,也对前端的要求日益增高,早已经不是靠一个JQuery.js来做前端页面的时代了,而今移动端变化最大,近 ...
随机推荐
- CodeForces 13E 分块
题目链接:http://codeforces.com/problemset/problem/13/E 题意:给定n个弹簧和每个弹簧初始的弹力a[].当球落在第i个位置.则球会被弹到i+a[i]的位置. ...
- Webpack 入门指迷--转载(题叶)
最近看到这个东西,一头雾水.看了一些资料了解了Webpack概念,大体是webpack 是一个模块绑定器,主要目的是在浏览器上绑定 JavaScript 文件. 看到题叶写的一篇介绍,写的很好,转载连 ...
- Latex制作beamer
Latex制作beamer latex beamer Beamer Theme Matrix网页给出了一般常用的主题和配色方案. tuwcvl这个主题比较简单,感觉比较适合用作实验室内的报告,可以自己 ...
- 我觉得好用的VS扩展(不定期更新)
首先向这些扩展的创作者致敬 这里都是2013版的 有些在给出的连接里有该扩展支持的其他版本连接 当然你也可以通过 VS->工具->扩展和更新->在线->搜索扩展名 来找到它们 ...
- chrome控制台调试学习笔记 暂未整理
15:03 2015/12/7chrome控制台调试学习:推荐博客:http://www.cnblogs.com/Wayou/p/chrome-console-tips-and-tricks.html ...
- ZeroMQ实例-使用ZMQ(ZeroMQ)进行局域网内网络通信
本文内容摘要:1)安装zeromq.2)实例说明使用zmq进行网络间的消息发送和接收 首先在机器中安装zmq库 步骤如下: 1)下载zeromq的源代码,ZeroMQ的官方网址:http://zero ...
- oracle 取小数位数
select ltrim('124532.62879'-floor('124532.62879'),'0.') from dual;select length(66695) from dual; 这两 ...
- C# 该行已经属于另一个表
DataTable dtSource = (DataTable)this.gridControl1.DataSource; DataRow[] dr = dtSource.Select("c ...
- 2.Powershell Console
前面对Powershell有了一定认识之后,接下来我们就看一个直接面对我们的接口Powershell Console,通过这个界面可以执行指令,进行人机交互,对这个界面熟悉才能使我们后面的操作得心应手 ...
- 浅析Java中CountDownLatch用法
http://www.cnblogs.com/yezhenhan/archive/2012/01/07/2315652.html