css的pythonic标记

CleanCSS的Python项目详细描述


清除css

cleancss是一种简单的pythonic语言,受css的启发 CleverCSS但更简单,用的更少 猥亵的特征。

为什么

我真的很喜欢聪明背后的想法,但当我在制作中使用时,我意识到 我试图通过转义字符串和不支持的 css属性太频繁了。使用供应商前缀,如-webkit gradient和 像rgba这样的值导致了混乱的css,所以我决定编写自己的解析器 类似的语法,没有任何复杂的特性 现在它在真正的现代网站上对我很有用。

语法示例

我将尽可能保留最聪明的示例,因为语法实际上是 类似的。

下面是一个小例子。注意基于缩进的语法以及如何嵌套规则:

#header, #footer:
        margin: 0
        padding: 0
        font->
                family: Verdana, sans-serif
                size: .9em

        li:
                padding: 0.4em
                margin: 0.8em 0 0.8em

                h3:
                        font-size: 1.2em
                p:
                        padding: 0.3em
                p.meta:
                        text-align: right
                        color: #ddd

当然,在css中也可以这样做,但是由于它的扁平性 代码看起来会更详细。下面的代码是cleancss 上述文件的输出:

#header, #footer {
        margin: 0;
        padding: 0;
        font-family: Verdana, sans-serif
        font-size: .9em
}

#header li,
#footer li {
        padding: 0.4em;
        margin: 0.8em 0 0.8em;
}

#header li h3,
#footer li h3 {
        font-size: 1.2em;
}

#header li p,
#footer li p {
        padding: 0.3em;
}

#header li p.meta,
#footer li p.meta {
        text-align: right;
        color: #dddddd;
}

回调

从版本1.4开始,cleancss支持用户回调来更改结果样式表。 回调函数接收属性名及其值,并应返回要插入到生成的css中的属性值对列表。

示例:

import cleancss

def callback(prop, value):
        rules = []

        # Include the unaltered rule
        rules.append( (prop, value) )

        # Include a variant of the rule
        rules.append( ("-moz-"+prop, value) )

        return rules

with open('file.ccss') as f:
        print cleancss.convert(f, callback)

库中已经包含了一个回调函数,可用于在最常见的浏览器变体之间进行转换

示例:

import cleancss

with open('file.ccss') as f:
        print cleancss.convert(f, cleancss.callbacks.browser_variants)

库使用

导入cleancss模块并用类似文件的对象调用convert()函数。

示例:

import cleancss
with open('file.ccss') as f:
        print cleancss.convert(f)

命令行用法

调用不带参数的cleancss.py来显示使用说明。 将任意数量的文件传递给cleancss.py,脚本将把这些文件转换为css 并将结果打印到控制台。

示例:

python -m cleancss file.ccss > result.css

许可证

版权所有(c)2010 Massimiliano Torromeo

cleancss是根据bsd许可条款发布的免费软件。

有关详细信息,请参阅源发行版附带的许可证文件

联系人

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JavaFX TableView更新单元格,不更新对象值   在扫描器中使用分隔符的java   java OkHttp 4.9.2,连接无法重用,导致端口耗尽   eclipse中的c JNI:运行Java代码   java是否在出厂的所有硬件设备中都有/mnt/sdcard/Android/data文件夹(或等效文件夹)?   Java,在eclipse中访问资源文件夹中的图像   java为什么Bluemix dashDB操作抛出SqlSyntaxErrorException,SQLCODE=1667?   JavaHtmlUnitWebClient。getPage不处理javascript   Google API认证的java问题   java如何将JSON数组反序列化为Apache beam PCollection<javaObject>   ServerSocket停止接收命令,java/安卓   来自Java类的安卓 Toast消息   java如何自动重新加载应用程序引擎开发服务器?   java是否可以尝试/捕获一些东西来检查是否抛出了异常?   java如何做到这一点当我按下load game时,它不仅会加载信息,还会将您带到游戏中?   Java选项Xmx代表什么?   Java映射,它在插入时打印值   设置“ulimit c unlimited”后,java无法生成系统核心转储