2011-06-08 121 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