2016-11-20 59 views
0

我有一個帶有4個菜單項的asp.net horizo​​natal菜單。第二個有一個子菜單。 所有這些都是居中對齊,但由於子菜單,第二個元素的文本顯示爲左移。我想申請CSS到這個特定的菜單項。將CSS應用到特定菜單項asp.net菜單

        <Items> 
            <asp:MenuItem Text="" Value="" NavigateUrl=""></asp:MenuItem> 
            <asp:MenuItem Text="" Value="" NavigateUrl=""> // want to apply CSS to this particular Item in such a way that it shouldn't break if the order of the items is changed. 
             <asp:MenuItem Text="" Value="" NavigateUrl="></asp:MenuItem> 
            </asp:MenuItem> 
            <asp:MenuItem Text="" Value="" NavigateUrl=""></asp:MenuItem> 

           </Items> 

回答

0

在相應asp:Menu和並給予款式細節添加CssClass="SomeMenuClass"

.SomeMenuClass a 
{/*menu items with submenu*/ 
    color:black; 
} 
.SomeMenuClass a:only-child 
{/*menu items without submenu*/ 
    color:Green; 
} 
+0

MenuItem不支持CssClass屬性。 – adityawho

0

頂級項目已班級「靜態」適用於他們,在他們裏面所有的項目有類「動態」(還有其他類,但檢查標記)。你不能特定的類適用於一個項目(你可以,但它是一個巨大的痛苦),但你可以做一個CSS技巧,讓你要搜索的結果:

  • 設置一個「工具提示」的項目特別是 - 它會被渲染爲HTML中的「標題」屬性。在你的CSS文件中添加一個選擇器屬性,即「.navigation a [title ='{{THE_TOOLTIP_VALUE}}'] {color:red; }」

注:可以鬼混通過菜單屬性或在菜單控件中的其它元素的樣式和類。對於全參考,檢查https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.menu.aspx

個人意見:默認情況下,ASP:菜單已預定義的CSS類,內嵌樣式和你(通過ScriptResource.axd處理),得到一些開箱應用的JavaScript的。在某些時候,你需要刪除它們或者替換它們......並且你會開始拉你的頭髮:)編寫你自己的HTML菜單生成器需要花費幾個小時 - 不要花費數天的時間試圖弄清楚如何修改Menu控件,因爲它沒有意義。

+0

無法通過工具提示獲取。只是無法找到控制權。 – adityawho

+0

對於相同的測試,只需在CSS文件的'MenuItem'和'* [title =「xyz」] {color:red;}中添加'Tooltip =「xyz」。 –