我正在使用ZF 1.11,我对样式表的顺序有一个愚蠢的问题:
在我的layoyut.phtml
我想设置全局样式表:
<!-- layout.phtml -->
<head>
<?php
$this->headLink()
->appendStylesheet('/css/a.css')
->appendStylesheet('/css/b.css')
->appendStylesheet('/css/c.css');
?>
<?php echo $this->headLink(); ?>
</head>
在我看来,我添加了特定的stylehseets:
<!-- view.phtml -->
<?php
$this->headLink()
->appendStylesheet('/css/d.css')
->appendStylesheet('/css/e.css');
?>
我希望按此顺序看到它们:
但我把它们视为这个(全局视图之前的视图css文件):
我做错了什么?
答案 0 :(得分:1)
CSS的顺序非常重要;
由于级联的顺序,您可能需要确保按特定顺序加载声明;使用各种 append, prepend,
和 offsetSet
指令来帮助完成此任务:
// Putting styles in order
// place at a particular offset:
$this->headStyle()->offsetSetStyle(100, $customStyles);
// place at end:
$this->headStyle()->appendStyle($finalStyles);
// place at beginning
$this->headStyle()->prependStyle($firstStyles);
When you're finally ready to output all style declarations in your layout script, simply echo the helper:
<?php echo $this->headStyle() ?>
有关样式附加的更多信息,您可以抛出此
offcial zend Docuemtnation所以你可能有更好的想法。
希望这一定会帮到你
答案 1 :(得分:0)
视图在布局之前呈现,这就是为什么你首先得到d和e。一种选择是将布局调用更改为prepend:
$this->headLink()
->prependStylesheet('/css/c.css')
->prependStylesheet('/css/b.css')
->prependStylesheet('/css/a.css');