提问人:Léo Léopold Hertz 준영 提问时间:3/6/2009 更新时间:3/6/2009 访问量:103
检查网站并决定CSS样式?
Checking site and deciding then CSS style?
问:
我的目标是在顶部有一个类似的栏,如下所示: http://www.keltainenporssi.fi/ 当前站点的颜色为红色,而其他站点为黑色。
你将如何实现我的目标? 也许是php?
伪代码中的语法可能是
if $site = A
use-styleA
if $site = B
use-styleB
else
use-FinalStyle
答:
1赞
cherouvim
3/6/2009
#1
您可以为所有域都将获取的栏设置一个 css。确保在该 css 上添加 !important 规则,这样它的规则就不会被其他任何东西覆盖。否则,通过在 list/div 或任何您将用于实现它的东西上添加 id 来保护“命名空间”中的栏。
2赞
strager
3/6/2009
#2
使用服务器端脚本(如 PHP)来做这样的事情是很常见的。例如:
<?PHP
echo '<ul id="top-nav">';
foreach($page as $pageId => $text) {
echo '<li';
if($curPage == $pageId)
echo ' class="active"';
echo '>';
echo '<a href="pages/' . htmlspecialchars($pageId) . '">';
echo htmlspecialchars($text);
echo '</a>';
echo '</li>';
}
echo '</ul>';
?>
这将产生如下输出:(格式化以提高可读性)
<ul id="top-nav">
<li><a href="pages/home">Home</a></li>
<li class="active"><a href="pages/one">Page one</a></li>
<li><a href="pages/two">Page two</a></li>
</ul>
0赞
overslacked
3/6/2009
#3
是的,您可以根据当前站点分配锚点元素的类。
1赞
strager
3/6/2009
#4
非动态方法:
您可以为每个站点使用 CSS 规则,如下所示:
/* site-one.css */
#top-nav li.site-one a {
color: red;
}
/* site-two.css */
#top-nav li.site-two a {
color: red;
}
/* site-three.css */
#top-nav li.site-three a {
color: red;
}
HTML格式:
<ul id="top-nav">
<li class="page-one"><a href="pages/one">Page one</a></li>
<li class="page-two"><a href="pages/two">Page two</a></li>
<li class="page-three"><a href="pages/three">Page three</a></li>
</ul>
评论