【问题标题】:What does "property=''" do?“property=''”有什么作用?
【发布时间】:2011-06-25 17:24:35
【问题描述】:

我正在开发 Drupal 网站/主题。 CSS 和 PHP 修改相当容易;他们只需要一点时间来学习并完全按照我的意愿工作。
但是,由于我认为是属性函数,我在将 CSS 样式应用于某些元素时遇到了问题。

代码看起来像<h2 property="dc:title" datatype="" class="node-title">

什么是属性函数,它在页面中做什么或控制什么?还有如何修改或删除它?

【问题讨论】:

    标签: drupal drupal-7 drupal-theming


    【解决方案1】:

    它不是属性函数;它是从 RDFa 使用的属性,并且是从 RDF 模块添加的。

    删除这些属性的更简单方法是禁用模块,但我不建议这样做,因为该模块的目的是使用元数据丰富您的内容,让其他应用程序更好地了解其关系和属性。

    或者,如果问题只是用于节点的那个属性,那么您可以实现类似于以下的代码:

    function mymodule_preprocess_node(&$variables) { 
      if (isset($variables['title_attributes_array'])) {
        $variables['title_attributes_array']['property'] = NULL;
      }
    }
    

    模块应该在RDF模块之后执行,以允许其钩子在RDF模块实现的钩子之后执行。

    我没有看到 RDF 模块添加的属性与 Drupal 核心或第三方模块执行的 JavaScript 代码之间有任何兼容性问题。可能需要调查为什么在添加这些 HTML 属性时 JavaScript 代码会出现问题。

    【讨论】:

    • 属性值是否会影响或使 css 值难以分配给元素?样式表更新工作正常,几乎对所有内容都有效,除了它们要么没有被应用,要么我无法让它们在其中包含 property="" 的元素上工作。抱歉,我是 Drual 的新手,从来没有真正使用过 XHTML,除了一小部分,所以我有点需要提问。
    • @JackMcE Drupal 甚至将 CSS 样式分配给具有该属性的 HTML 元素;我会说该属性对 CSS 样式没有任何影响。
    • 谢谢,很高兴知道这一点。我想我只需要挖掘阻止我的风格问题的实际位置。
    【解决方案2】:

    在您的 css 文件中,输入:

    h2[property="dc:title"]{color:#FFFFFF;}
    

    或者如果是链接,你可能需要:

    h2[property="dc:title"] a {color:#FFFFFF;}
    

    【讨论】:

    • 我认为根据 DC 属性设置元素样式不是一个好主意。
    • 欢迎来到 StackOverflow!关于您的回答,我赞同@cherouvim 的评论,即不应使用 RDF 的东西来设置样式。它们在旧版浏览器中不起作用,主要是不用于样式目的。
    【解决方案3】:

    来自维基百科,查看RDFa

    RDFa(或资源描述 Framework-in-attributes) 是 W3C 建议添加一组 XHTML 的属性级扩展 用于在 Web 中嵌入丰富的元数据 文件。

    它基本上是一种向 XHTML 文档添加更多元数据以获得更好语义的方法。

    【讨论】:

    • 很高兴知道它是一个 XHTML 属性,现在真正的问题是在 Drupal 中跟踪和修改它。我正在建立很好的禅宗,但找到东西可能很困难。如果您知道,您认为这样的 xhtml 信息是否在 Zen 核心或主题设置中?
    • 很遗憾,我没有任何 Zen core 和 Drupal 的经验来帮助你。
    猜你喜欢
    • 2020-02-21
    • 1970-01-01
    • 1970-01-01
    • 2011-06-29
    • 1970-01-01
    • 2010-10-22
    • 2018-05-20
    • 2012-08-06
    • 2019-10-20
    相关资源
    最近更新 更多