|
来源于:http://trac.seagullproject.org/wiki/Howto/CSS/Handling Seagull 如何处理 CSS简介Seagull把CSS代码写成PHP文件。也就是说,你会使用文件名stylesheet.php而不是stylesheet.css。 这样比一个正常的CSS文件提供了许多优点:
由于对'Last-Modified'的header添加了检查逻辑,stylesheet.php可以和stylesheet.css一样有效的工作。Apache服务器上的所有文件都有一个'Last-Modified'时戳的header。这些信息在最近的客户端请求后被返回到Apache服务器。对于后来的请求,php脚本验证css文件从上次提交到客户端到现在没有被修改,并响应客户端一个'HTTP/1.x 304 Not Modified' header(告诉客户端浏览器使用缓存的css文件)。如果文件被修改了,那么新版本的css文件将被传递到客户端。 概述基本的seagull样式表分成更小的片断。包括:
另外你可以为你正在使用的模块载入一个特定的样式表。 Defaults, eye candy默认地,我们把表格居中放置,并且不带边界,所以你在任何地方都不必写border=“0”, align=“center”,cell{padding,spacing}这样的html代码。 我们把一些助手类,如错误类的颜色设置成红色,这样你就不用写style=“color: red”或style=“color: #ff0000”。有三个类full,wide,narrow处理宽度,分别代表100%, 90% 和 60%。这样你就不必写width=“foo”这样的代码。图像也默认设置成无边界的。 At last, in the eye candy camp we have the “simulate a button” effect in CSS, you could see it in action in the login/logout button. 导航菜单样式表Seagull允许你无缝的增加导航菜单样式表。导航菜单是标准的无序列表。代码是很简单的。你可以看SglDefault_Twolevel.css中的代码。SglDefault_Multilevel.css对应水平菜单,SglListamaticSubtle.css对应垂直菜单。Seagull提供的惟一助手是针对当前页面元素的一个.current类。 模块的CSS你可能通过在www/themes/default/css目录中创建一个以模块命名的css文件为模块载入css文件。比如说你想给Faq模块载入一个css文件,你只需在www/themes/default/css目录中创建faq.php。 定制有了在Seagull 0.5.1介绍的CSS模块性,维持一个自定义树是很简单的。如果你需要变化颜色,你只需简单地用你的vars.php 替换掉原先的文件,这样做对导航样式表也适用。如果你需要更高级的修改又不想为每个seagull变化进行同步,你只需从style.php 取得你所需的样式表。祝你好运。
function _cmd_list(&$input, &$output)
{
SGL::logMessage(null, PEAR_LOG_DEBUG);
$output->addCssFile('foomgr-myaction.css');
}
<form id="foo">
<fieldset class="hide">
<input type="hidden" name="redirMod" value="default" />
<input type="hidden" name="redirMgr" value="service" />
<input type="hidden" name="redirTpl" value="serviceDetail.html" />
<input type="hidden" name="contentId" value="{contentId}" />
<input type="hidden" name="cssFile" value="foomgr-myaction.css" />
</fieldset>
</form>
只要参数名为'cssFile'当验证失败时它会被自动重载到$output对象。 编码标准编码标准很简单:
i.e.: $primaryTextLight = '#ffffff'; // white
#sgl-header-right a {
padding: 0 5px;
text-decoration: none;
color: <?php echo $primaryTextLight ?>;
}
#sgl-header-right a:hover {
text-decoration: underline;
}
1)
应该就是第一个单词首字母小写,其它单词首字母大写,如下
|