HeadStyle 助手 在 HTML <head> 元素中 HTML <style> 元素用来包含 CSS stylesheets inline 。 使用 HeadLink 来链接 CSS 文件 HeadLink 为包含外部 stylesheets 应该用来生成 <link> 元素。如果想定义自己的 stylesheets inline, 使用 HeadScript HeadStyle 助手支持下列方法来设置和添加 stylesheet 声明: appendStyle($content, $attributes = array()) offsetSetStyle($index, $content, $attributes = array()) prependStyle($content, $attributes = array()) setStyle($content, $attributes = array()) 对于所有情况,$content 是实际上的 CSS 声明。$attributes 是提供给 style 标签的任何额外的属性:lang、 title、 media 或 dir 都是允许的。 HeadStyle 也允许抓取样式声明,如果想用程序生成声明,然后在任何地方自由使用,这很有用。这个用法将在下面的例子给出。 最后,你也可以用 headStyle()方法 来快速地添加声明元素,它的用法: headStyle($content$placement = 'APPEND', $attributes = array())$placement 是 'APPEND'、 'PREPEND' 或 'SET'。 HeadStyle 覆盖 append()offsetSet()prepend()set() 中的每一个来加强上述特殊方法的用法。 在内部,它存储每个条目为 stdClass 令牌,它在稍后用 itemToString() 方法 serializes 。这允许在堆栈里检查条目,并可选地通过修改返回的对象来修改这些条目。 HeadStyle 助手是 占位符助手 的一个具体实现。 HeadStyle 助手的基本用法 在任何时候都可以指定一个新的样式标签: headStyle()->appendStyle($styles); ?> ]]> 对 CSS 来说,顺序非常重要,因为层叠的顺序(the order of the cascade),你需要确保样式表中的声明按特定的顺序加载。使用append、 prepend 和 offsetSet 指令可帮助你达到目的: headStyle()->offsetSetStyle(100, $customStyles); // place at end: $this->headStyle()->appendStyle($finalStyles); // place at beginning $this->headStyle()->prependStyle($firstStyles); ?> ]]> 当准备好在布局脚本里输出所有样式声明,简单地 echo 助手: headStyle() ?> ]]> 用 HeadStyle 助手抓取样式声明 有时候需要用程序生成 CSS 样式声明。当你可以使用字符串串联,heredoc等等, 通常通过创建脚本和在PHP标签里做手脚会更容易些。HeadStyle 可以做这个,把它抓取到堆栈: headStyle()->captureStart() ?> body { background-color: bgColor ?>; } headStyle()->captureEnd() ?> ]]> 下面是一些假设: 样式声明将追加到堆栈。如果需要替换或者加到堆栈顶部,那么需要分别把 'SET' 或 'PREPEND' 作为第一个参数传递给 captureStart() 如果想指定任何另外的属性给 <style> 标签,通过数组把它们作为第二个参数传递给 captureStart()