2011-06-08 124 views
0

.hi伙计们,我对我的菜单栏造型有点问题。我有以下代码:使用CSS的样式链接

#can_header { 
    width:1024px; 
    height:140px; 
    background-color:#8D96A8; 
} 
#can_header ul{ 
    list-style-type:none; 
    margin: 0; 
    padding: 110px 0 0 550px; 
    font-family: adolph; 
    text-transform: uppercase; 
    font-size: 1em; 
} 
#can_header li{ 
    display:inline-block; 
    line-height: 15px; 
    border-right: 2px solid #CCC; 
} 
#can_header li#item-104{ 
    border-right: none; 
} 
#can_header ul a:visited{ 
    color:#CCC; 
    text-decoration:none; 
    margin-right:15px; 
    margin-left:15px; 
} 
#can_header ul a:link{ 
    color:#CCC; 
    text-decoration:none; 
    margin-right:15px; 
    margin-left:15px; 
} 
#can_header ul a:hover{ 
    color:#EB1886; 
} 
#can_header ul a:active{ 
    color:#FFFFFF; 
} 

我想要做的是,当我点击我的UL的链接之一的选择链接的颜色将永久而链接的页面上改变。使用我现在的代码,链接的颜色只会在点击时发生变化..但是当页面更改时,颜色将恢复正常。 TIA!更强大!

。通过我使用Joomla的方式,我只是编辑,我把模板的CSS。

回答

2

我怕你想做的事是不可能的,只有CSS。你可以做的是,当你呈现模板

1

你不能做到这一点与CSS创建CSS类,它表明,在您的菜单中的项目选择和类分配给您的李元素或者使用JavaScript或服务器端你需要使用Javascript或PHP向选定的链接添加一些类(即class="selected")。

然后你就可以添加与.selected类链接样式规则。

-1

您应根据请求页面上以编程方式添加CSS类到子对象。

一个例子用PHP:你不能独自做到这一点与CSS

function GetFileName() 
{ 
    $currentFile = basename($_SERVER["PHP_SELF"]); 
    $parts = Explode('.', $currentFile); 
    return $parts[0]; 
} 
$basename = GetFileName(); 

<li> 
    <a href="index.php" <?php if($basename =="index") echo "class='current'"; ?>>Home</a> 
</li> 
<li> 
    <a href="about.php" <?php if($basename =="about") echo "class='current'"; ?>>About</a> 
</li> 
+0

有人给downvote这个答案吗?我真的很好奇,为什么? – gandil 2011-06-08 23:07:12

0

他们的权利。你可以使用:激活并更改文字颜色,或者其他任何东西,当它被点击时(又名onmousedown),但你不能像blue + click = red那样改变它。

JQuery的应该能够帮助你这个虽然。

0

这将由您用来显示菜单的菜单模块处理。大多数模块都可以选择打开主动高亮,基本上每个人都在说什么,为活动菜单项添加一个CSS类。所有你需要做的就是打开主动高亮并添加适当的CSS。

另外,我注意到你正在通过使用itemID关闭其中一个菜单项的右边框。如果您更改了菜单项的顺序或删除了您选择的最后一项,则最好使用:lastchild psuedo选择器。

代替#can_header li#item-104使用#can_header li:last-child