跳转到主要内容

Zope的CSS变量支持。

项目描述

这是Zope浏览器资源的CSS变量扩展的一个实现。

层叠样式表没有内置的方法来定义变量并在样式表中使用它们。这个特性已经在一些CSS相关博客中讨论过,并导致了非官方的草案规范

在早期的Zope版本中,DTML模板语言被用来在CSS中定义变量。这破坏了CSS语法,看起来很糟糕,即使在浏览器得到了正确的值,CSS启用的编辑器也会产生错误信息。

cornerstone.cssvar使用与CSS几乎兼容的语法变体来应用变量

div.foo {
    color: var(myColor);
}

如果我们使用zcml声明此类css资源,它看起来是这样的

<browser:cssvarResource
  name="foo"
  file="foo.css"
/>

如果我们使用CSS语法声明变量,我们必须在单独的文件中这样做,它看起来像这样

@variables {
    myColor: #123456;
}

变量本身需要通过请求上的名为ICSSVariables的适配器来定义。我们可以通过自己的zcml指令来注册它

<browser:cssvarDefinition
  name="foodef"
  file="foodef.css"
/>

现在我们只需要告诉我们的第一个css文件使用哪个定义。这里没有公共的语法,所以我们将其放在注释中

/# vardef(foodef) /#
div.foo {
    color: var(myColor);
}

如果我们现在在浏览器中查看http://mydomain.tld/++resource++foo,它将产生以下结果

/# vardef(foodef) /#
div.foo {
    color: #123456;
}

对于由zope.app.publisher定义的资源目录,如果导入此模块,将注册特殊CSS处理程序,以针对每个CSS文件。

本包已在 Zope 3.5dev KGS(Python 2.6)以及 Zope 2.10.7(包含 Plone 3.3 和 Python 2.4)中进行测试。

待办事项

  • 编写测试!

  • 使 resourceDirectory 在 Plone 中工作。

  • 性能分析和性能测试。

许可证

版权(c)2008-2009,BlueDynamics Alliance,奥地利,保留所有权利。

在满足以下条件的情况下,允许重新分发和使用源代码和二进制形式,无论是否修改:

  • 源代码的重新分发必须保留上述版权声明、本条件列表和以下免责声明。

  • 二进制形式的重新分发必须在文档和/或其他提供的材料中重新生产上述版权声明、本条件列表和以下免责声明。

  • 未经事先书面许可,不得使用 BlueDynamics Alliance 的名称或其贡献者的姓名来认可或推广源自本软件的产品。

本软件由 BlueDynamics Alliance “按原样”提供,并明确或暗示地放弃了任何明示或暗示的保证,包括但不限于适销性和特定目的的适用性保证。在任何情况下,BlueDynamics Alliance 均不对任何直接、间接、偶然、特殊、示范性或后果性的损害(包括但不限于替代货物或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,无论该损害是由于何种原因引起的,也不论是根据何种责任理论(合同、严格责任或侵权责任,包括疏忽或否则)引起的,即使已被告知此类损害的可能性。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

cornerstone.cssvar-1.0.tar.gz (6.2 kB 查看散列)

上传时间 源代码

由以下赞助