#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, но не удалил интервал между текстом и стрелкой.