Google发布开源Java程序 给力CSS

Google发布开源Java程序 给力CSS

  Google已经基于Apache License 2.0把Closure Stylesheets开源,这种工具属于Closure Tools包之内,在处理CSS的时候很有用。Closure Stylesheets是一个Java程序,它向CSS中添加了变量、函数、条件语句以及混合类型,使得我们更易于处理大型的CSS文件。开发者可以使用Google stylesheets (GSS)这种工具来生成web应用程序或者网站所使用的真正的CSS文件。

  变量

  变量是使用“@def”来定义的。下面的代码示例展示了如何使用变量:

  @def BG_COLOR rgb(235, 239, 249);@def DIALOG_BG_COLOR BG_COLOR;

  body { background-color: BG_COLOR;}.dialog { background-color: DIALOG_BG_COLOR;}

  得到的CSS如下:

  body { background-color: #ebeff9;}.dialog { background-color: #ebeff9;}

  函数

  Closure Stylesheets引入了大量数学函数,使用它们你可以对数字型的值——比方说像素——进行以下操作: add()、 sub()、mult()、 div()、 min()以及max()。使用这些函数的示例如下:

  @def LEFT_WIDTH 100px;@def LEFT_PADDING 5px;@def RIGHT_PADDING 5px;

  .content { position: absolute; margin-left: add(LEFT_PADDING, LEFT_WIDTH, RIGHT_PADDING, px);

  得到的CSS如下所示:

  .content { position: absolute; margin-left: 110px;}

  条件语句

  Closure Stylesheets让我们可以使用@if、@elseif和@else,广州达内从而基于某些变量的值来创建条件语句的分支。

  混合类型

  混合类型是为了重用带有参数的对结构体的声明,如下示例所示:

  @defmixin size(WIDTH, HEIGHT) { width: WIDTH; height: HEIGHT;}.image { @mixin size(200px, 300px);}

  当解决跨浏览器的问题时,混合类型会更有用:

  @defmixin gradient(POS, HSL1, HSL2, HSL3, COLOR, FALLBACK_COLOR) { background-color: FALLBACK_COLOR; /* fallback color if gradients are not supported */ background-image: -webkit-linear-gradient(POS, hsl(HSL1, HSL2, HSL3), COLOR); /* Chrome 10+,Safari 5.1+ */ /* @alternate */ background-image: -moz-linear-gradient(POS, hsl(HSL1, HSL2, HSL3), COLOR); /* FF3.6+ */ /* @alternate */ background-image: -ms-linear-gradient(POS, hsl(HSL1, HSL2, HSL3), COLOR); /* IE10 */ /* @alternate */ background-image: -o-linear-gradient(POS, hsl(HSL1, HSL2, HSL3), COLOR); /* Opera 11.10+ */}.header { @mixin gradient(top, 0%, 50%, 70%, #cc0000, #f07575);}

  结果如下:

  .header { background-color: #f07575; background-image: -webkit-linear-gradient(top,hsl(0%,50%,70%) ,#cc0000); background-image: -moz-linear-gradient(top,hsl(0%,50%,70%) ,#cc0000); background-image: -ms-linear-gradient(top,hsl(0%,50%,70%) ,#cc0000); background-image: -o-linear-gradient(top,hsl(0%,50%,70%) ,#cc0000);}

  我们还可以使用Closure Stylesheets把多个CSS文件合并成一个,以减少代码的规模,它会针对语法执行静态检查,并且知道如何交换左右两边的值(RTL flipping),以及如何对类进行重命名。

  Closure Tools是一组工具,其中包括编译器、程序库和模板,它原本是Google为GMail、GDocs和Maps内部使用,后来在2009年开源。我们可以使用它来处理大型JavaScript应用程序。

 

转载于:https://www.cnblogs.com/javaitpx/archive/2012/12/17/2821693.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110252.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 单模光纤和多模光纤的型号_什么叫单模光纤和多模光纤

    单模光纤和多模光纤的型号_什么叫单模光纤和多模光纤多模光纤概念多模光纤是在给定的工作波长上传输多种模式的光纤,当光纤的几何尺寸远远大于光波波长时,光纤中会存在着几十种乃至几百种传播模式。不同的传播模式具有不同的传播速度与相位,导致长距离的传输之后会产生时延、光脉冲变宽。因此会使多模光纤的带宽变窄,降低了其传输容量,故多模光纤仅适用于较小容量的光纤通信。单模光纤概念一般v小于2.405时,光纤中就只有一个波峰通过,故称为单模光纤,它的芯子很细,约为8一10微米,模式色散很小。影响光纤传输带宽度的主要因素是各种色散,单模光纤的色散小,故能把光以很宽

    2022年10月20日
    4
  • 数据中心部署模式二元化

    数据中心部署模式二元化

    2021年9月1日
    60
  • mysql8.0性能_oracle scan ip

    mysql8.0性能_oracle scan ipMySQL8.0 – 新特性 – Skip Scan Range

    2022年4月21日
    58
  • Android应用开发揭秘-获取电话联系人及号码

    Android应用开发揭秘-获取电话联系人及号码}//以下为官网API注解ContactsContract.CommonDataKinds.Phone.TYPE联系人电话的类型,对应如下:TYPE_MOBILE:手机号码TYPE_HOME:住宅电话TYPE_WORK:公司电话}//以下为官网API注解ContactsContract.CommonDataKinds.Phon

    2022年6月3日
    35
  • TLSF算法分析[通俗易懂]

    TLSF算法分析[通俗易懂]注:本文的大部分内容摘录自论文《TLSF:aNewDynamicMemoryAllocatorforReal-TimeSystems》,可以通过“科学上网”访问如下链接阅读原文:http://www.gii.upv.es/tlsf/files/ecrts04_tlsf.pdf。什么是TLSFTLSF是TwoLevelSegregatedFitmemoryal

    2022年6月30日
    23
  • 模拟视频的接头的端口_网络摄像头改模拟接口

    模拟视频的接头的端口_网络摄像头改模拟接口这些接口均传输模拟信号一、CVBS(RCA接口)RCA接口是最简单、最原始的视频接口,也称做复合视频信号(CVBS)接口。他传输的是复合视频信号,传输介面是一根普通的视频线。一般由红、黄、白三色组成,黄色的为视频信号,白色的为左声道音频信号,红色的为右声道音频信号。注:RCA输入输出是车载功放最主要的音频输入和输出接口,当然还有其他接线柱等接口。车载功放…

    2025年6月12日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号