2016-11-20 18 views
0

私は4つのメニュー項目を持つasp.net horizo​​natalメニューを持っています。 2番目にはサブメニューがあります。 これらはすべて中央揃えですが、サブメニューのために2番目の要素のテキストが左にシフトしているように見えます。私はこの特定のメニュー項目にCSSを適用したい。特定のメニュー項目asp.netメニューにCSSを適用する

        <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

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

MenuItemはCssClassプロパティをサポートしていません。 – adityawho

0

トップレベルのアイテムは、それらに適用されるクラス「静的」を持っているように、その中のすべての項目は、「動的」クラスを持っていることに対応するasp:MenuCssClass="SomeMenuClass"を追加し、スタイルの詳細を与えます他のクラスもありますが、マークアップを確認してください)。アイテムに特定のクラスを適用することはできませんが、大きな苦痛がありますが、検索する結果を得るためにCSSトリックを行うことができます:

  • アイテムに「ツールチップ」を設定します特に、 - それはHTMLの "タイトル"属性としてレンダリングされます
  • あなたのCSSファイルで、セレクタを属性で追加します。 ".navigation a [title = '{{THE_TOOLTIP_VALUE}}] {color:red; }」

注:メニューのプロパティまたはMenuコントロールでの追加要素を介したスタイルとクラスと浮気することができます。完全なリファレンスについては、https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.menu.aspx

個人的な意見チェック:デフォルトでは ASPを:メニューは、CSSクラスを定義済みのインラインスタイルとJavaScriptが(ScriptResource.axdハンドラーを経由して)適用されるボックスの外にいくつかを取得しました。ある時点で、それらを削除するか、またはそれらを代替する必要があります...あなたはあなたの髪を引っ張り始めるでしょう:)あなた自身のHTMLメニュージェネレータを書くのに数時間かかります。それは無意味なので、メニューコントロールを変更します。

+0

はツールチップで取得できません。ただコントロールを見つけることができません。 – adityawho

+0

同じテストの場合は、CSSファイルの 'MenuItem'と '* [title = "xyz"] {color:red;}'にTooltip = "xyz"を追加してください。 –