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 @import directive.

_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, 保证容器控件, 可以组合容器中子控件的样式。

时间: 2024-10-10 14:28:24

Sass与Web组件化相关的功能的相关文章

可灵活装配的web组件化企业应用架构

可灵活装配的web组件化企业应用架构 一. 问题和目标 B/S架构的web企业应用越来越流行,为解决企业用户灵活多变的业务需求和业务流程,将不同的业务应用开发为web组件,实现用户业务处理界面和业务流程的灵活配置和部署,基于SOA的服务思想设计企业web组件化应用架构. 其核心思想是: (1) 用户界面可装配 用户的业务操作界面可以通过管理员或者自己通过动态配置的方式形成,称之为视图.一个用户可以用不同的视图来处理不同的业务,或者设计自己个性化的视图满足个性化的需要. (2) 业务流程可装配 企

iOS组件化相关资料

// 基于 CocoaPods 和 Git 的 iOS 工程组件化实践 1)https://skyline75489.github.io/index.html // 模块与解藕 2)https://blog.cnbluebox.com/blog/archives/ // iOS组件化思想 3)http://casatwy.com/ // iOS组件化相关资料 4)http://www.jianshu.com/p/34f23b694412 // AOP 技术 5)https://github.co

web组件化开发第一天

技术选型 html5 css3 jq 应用的插件 FullPage.js 一.建一个测试页面,测试静态的功能 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1">

WEB 组件开发相关记录

JS 实践中的分层方法: 应用层.框架组件层.框架core.浏览器底层 JS 分为: DOM.BOM.Style样式.Canvas 2D.WebGL.SVG 浏览器底层的问题: 1. JS核心语法层面薄弱: 2. JS原生API不好用: 3. 浏览器兼容问题 框架:Prototype.YUI.Dojo.JQuery 框架组件:提供一些简单的控件  分为定制组件和框架通用组件 例如: input.text.checkbox.radio.select 未提供的控件:日历选择器.富文本编辑器 组件:

【转】Web应用的组件化开发(一)

原文转自:http://blog.jobbole.com/56161/ 基本思路 1. 为什么要做组件化? 无论前端也好,后端也好,都是整个软件体系的一部分.软件产品也是产品,它的研发过程也必然是有其目的.绝大多数软件产品是追逐利润的,在产品目标确定的情况下,成本有两个途径来优化:减少部署成本,提高开发效率. 减少部署成本的方面,业界研究得非常多,比如近几年很流行的“去IOE”,就是很典型的,从一些费用较高的高性能产品迁移到开源的易替换的产品集群,又比如使用Linux + Mono来部署.net

高仿富途牛牛-组件化(四)-优秀的时钟

目录 一.概述 1.窗口外壳 2.标题栏 3.客户区 二.效果展示 三.小窗口 1.修改鼠标状态 2.修改大小 四.时钟窗口 五.相关文章 一.概述 最近一直在仿照富途牛牛做组件化功能,目前已经有了初步的效果. 组件化基础的功能已经有了,接下来就是一些细节上的处理了,比如说加载模板.保存模板.标签页修改名称等等,细节上的问题我们在后续的文章中都会一一做以介绍 最近打算把组件化中的工具箱相关功能做以实现.比如说迷你报价.自选股.小时钟这些窗口. 仔细观察了牛牛的小窗口,无非就是一个窗口外壳,标题栏

Web应用的组件化(一)

基本思路 1. 为什么要做组件化? 无论前端也好,后端也好,都是整个软件体系的一部分.软件产品也是产品,它的研发过程也必然是有其目的.绝大多数软件产品是追逐利润的,在产品目标确定的情况下,成本有两个途径来优化:减少部署成本,提高开发效率. 减少部署成本的方面,业界研究得非常多,比如近几年很流行的“去IOE”,就是很典型的,从一些费用较高的高性能产品迁移到开源的易替换的产品集群,又比如使用Linux + Mono来部署.net应用,避开Windows Server的费用. 提高开发效率这方面,业界

Web应用的组件化

基本思路 1. 为什么要做组件化? 无论前端也好,后端也好,都是整个软件体系的一部分.软件产品也是产品,它的研发过程也必然是有其目的.绝大多数软件产品是追逐利润的,在产品目标确定的情况下,成本有两个途径来优化:减少部署成本,提高开发效率. 减少部署成本的方面,业界研究得非常多,比如近几年很流行的"去IOE",就是很典型的,从一些费用较高的高性能产品迁移到开源的易替换的产品集群,又比如使用Linux + Mono来部署.net应用,避开Windows Server的费用. 提高开发效率这

前端web应用组件化(一) 徐飞

https://github.com/xufei/blog/issues/6 Web应用的组件化(一) 基本思路 1. 为什么要做组件化? 无论前端也好,后端也好,都是整个软件体系的一部分.软件产品也是产品,它的研发过程也必然是有其目的.绝大多数软件产品是追逐利润的,在产品目标确定的情况下,成本有两个途径来优化:减少部署成本,提高开发效率. 减少部署成本的方面,业界研究得非常多,比如近几年很流行的“去IOE”,就是很典型的,从一些费用较高的高性能产品迁移到开源的易替换的产品集群,又比如使用Lin