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许可条款发布的免费软件。
有关详细信息,请参阅源发行版附带的许可证文件
联系人
- 马西米利亚诺·托罗米奥massimiliano.torromeo@gmail.com>;