ASP.NET Проблема с интервалом между меню со стрелкой выпадающего списка

#c# #asp.net

#c# #asp.net

Вопрос:

У меня есть ASP.NET меню, а для элементов, содержащих выпадающее меню, отображается стрелка в новом <td> , проблема в том, что интервал ужасен. Как мне использовать это <TD> или уменьшить интервал между текстом меню и стрелкой?

Скриншот проблемы с меню: введите описание изображения здесь

Вывод HTML:

 <td style="white-space:nowrap;">
<a class="ctl00_itemMenu_1 StaticMenuItemStyle ctl00_itemMenu_3" style="border-style:none;font-size:1em;" href="Default.aspx">amp;nbsp;Homeamp;nbsp;amp;nbsp;</a>
</td>
<td style="width:0;">
<img style="border-style:none;vertical-align:middle;" alt="Expand Home" src="Images/menu_arrow.gif">
</td>
  

Управление меню:

 <asp:Menu ID="itemMenu" SkinID="MenuSkin" runat="server" Orientation="Horizontal"
            CssClass="menu" DynamicItemFormatString="amp;nbsp;{0}amp;nbsp;amp;nbsp;" StaticItemFormatString="amp;nbsp;{0}amp;nbsp;amp;nbsp;"
            StaticEnableDefaultPopOutImage="true" StaticPopOutImageUrl="~/Images/menu_arrow.gif"
            DynamicPopOutImageUrl="~/Images/menu_arrow_dynamic.gif" DynamicEnableDefaultPopOutImage="true" 
            MaximumDynamicDisplayLevels="5">
            <StaticMenuStyle CssClass="StaticMenuStyle" />
            <StaticMenuItemStyle Width="100%" CssClass="StaticMenuItemStyle" />
            <StaticHoverStyle CssClass="StaticHoverStyle" />
            <DynamicMenuStyle CssClass="DynamicMenuStyle" />
            <DynamicMenuItemStyle CssClass="DynamicMenuItemStyle" Width="100%" />
            <DynamicHoverStyle CssClass="DynamicHoverStyle" />
        </asp:Menu>
  

CSS:

 .menu
{
padding: 0px 0px 0px 7px;
margin:0px;
}

.StaticMenuStyle a, .StaticMenuStyle a:visited, .StaticMenuStyle a:active, .StaticMenuStyle a:hover
{
color: #ffffff;     
text-decoration: none;
padding: 3px 9px 3px 9px;   
height: 100%;               
display: table;     
font-weight: bold;      
font-family: Tahoma, Arial; 
}

 .DynamicMenuStyle a, .DynamicMenuStyle a:visited, .DynamicMenuStyle a:active,    .DynamicMenuStyle a:hover 
{
color: #ffffff;     
text-decoration: none;
padding: 7px 9px 7px 9px;
width: 100%;    
height: 100%;               
display: table;         
font-weight: bold;  
font-family: Tahoma, Arial; 
}

.StaticMenuStyle td
{
font-weight: normal;
height: 100%;
font-size: 11px;
border-collapse: collapse;
/*cursor: pointer;*/    

}

.DynamicMenuStyle table
{
border-collapse: collapse;  
border-spacing: 0px;
}

.DynamicMenuStyle td
{
border: solid 1px #ffffff;  
font-weight: normal;
width: 100%;
height: 100%;
/*cursor: pointer;*/    
background-color: #333333;      
border-collapse: collapse;  
border-spacing: 0px;
font-size: 11px;
}

.DynamicMenuStyle td table tr td
{
border: solid 0px #ffffff;
padding: 7px 4px;


    }

.StaticMenuItemStyle td
  { 

padding: 7px 0px 7px 0px;

border: 0px solid #ffffff;
font-weight: normal;        
text-align: left;   
  }


.StaticHoverStyle td, .DynamicHoverStyle td
{
background-color: #5c5c5c;
font-weight: bold;  
}

.StaticSelectedStyle, .DynamicSelectedStyle
{
font-weight: normal;
cursor: pointer;
}
  

Комментарии:

1. Пожалуйста, опубликуйте код для класса css «menu». Еще одна вещь, вы можете вставлять изображения непосредственно в свой пост. Просто нажмите на значок изображения на панели инструментов, это работает лучше, чем ссылка на отдельную веб-страницу, а изображения, загруженные через любой сайт SE, сохраняются дольше, чем обычная загрузка imgur.

2. Попробуйте добавить text-align:right; стиль для StaticMenuStyle

3. Попробовал «выравнивание текста: по правому краю;», но это ничего не изменило: (

4. Это может быть как-то связано с двумя amp;nbsp; , которые у вас есть в конце текста в строке Dynamic / Static ItemFormatString.

5. удалил amp; nbsp; из ItemFormatString, но не удалил интервал между текстом и стрелкой.