2016-11-20 44 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”。 –