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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • hive sql 窗口函数

    hive sql 窗口函数

    2021年11月27日
    50
  • pycharm专业版激活码2021【2021最新】「建议收藏」

    (pycharm专业版激活码2021)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html9071407CR5-eyJsaWN…

    2022年3月22日
    128
  • 亚马逊服务器购买_电商平台用什么服务器

    亚马逊服务器购买_电商平台用什么服务器Siteground主机空间怎么样?很多国内的小伙伴可能对siteground主机空间比较陌生,感觉不如bluehost或者Godaddy名气大,实际上siteground在国外是一家非常有名气和实力的美国主机服务商,也是wordpress、Drupal、Jommla这三家知名建站程序一致推荐的主机商。我们蓝鲨网络使用siteground也好多年,最近几年也有非常多的客户选购了他家的主机,这几年使用下来最明显的感觉就是稳定、速度快、客服解决问题的技术水平都比较高。siteground套餐配置区别首先

    2022年9月25日
    2
  • python字符串格式化方法_format在python的意思

    python字符串格式化方法_format在python的意思用法:它通过{}和:来代替传统%方式1、使用位置参数要点:从以下例子可以看出位置参数不受顺序约束,且可以为{},只要format里有相对应的参数值即可,参数索引从0开,传入位置参数列表可用*列表&g

    2022年8月1日
    1
  • idea插件(mybatis框架下mapper接口快速跳转对应xml文件)亲测好用「建议收藏」

    idea插件(mybatis框架下mapper接口快速跳转对应xml文件)亲测好用「建议收藏」我相信目前在绝大部分公司里,主要使用的框架是S(spring)S(springMVC)M(mybatis),其中mybatis总体架构是编写mapper接口,框架扫描其对应的mapper.xml文件,由于xml里面编写大量的sql语句,所以在平时调试中需要对其进行调试,但是xml文件并不能像java文件一样,能快速进行跳转,对查找对应xml文件带来巨大的不便。网友基础idea强大的插件系…

    2025年7月17日
    5
  • OpenSSL的Heartbleed漏洞原理及简单模拟

    OpenSSL的Heartbleed漏洞原理及简单模拟Heartbleed漏洞自从Heartbleed漏洞曝光以来,网上能看到很多相关的文章,但大部分都是写的云里雾里,本文尝试直观明了的对漏洞原理进行说明及模拟。OpenSSL是SSL协议以及一系列加密算法的开源实现,使用C语言编写。OpenSSL采用Apache开源协议,可以免费用于商业用途,在很多linux发行版和服务器中得到广泛应用。OpenSSL出现漏洞造成的影响是巨大的,Heartb

    2022年7月25日
    6

发表回复

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

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