css 在 Opera 中的一个问题。

其实,Opera 浏览器我并不经常用,但是最近发现,css的opera上,却有点小问题。 看下面的一个例子。
在页面上放一个Menu control并定义它的cssclass, 把这个menu放在一个id为mainmenu的div中:
<div id="mainmenu">
                    <asp:Menu ID="MainNavMenu" runat="server" SkinID="MainMenu"
                        EnableViewState="false" OnMenuItemClick="MainNavMenu_MenuItemClick" Orientation="Horizontal">
                        <Items>
                            <asp:MenuItem Text="Home" Value="Default"></asp:MenuItem>
                            <asp:MenuItem Text="Reports" Value="Reports">
                                <asp:MenuItem Text="Default" Value="Default" />
                            </asp:MenuItem>
                            <asp:MenuItem Text="Editing" Value="DefaultEditing">
                                <asp:MenuItem Text="Header" Value="QccReportHeader" />
                                <asp:MenuItem Text="Piar Component" Value="PiarComponentEditing" />
                                <asp:MenuItem Text="Iar Component" Value="IarComponentEditing" />
                                <asp:MenuItem Text="Comments Response" Value="CommentsResponseEditing" />
                                <asp:MenuItem Text="Piar Completion" Value="PiarCompletionEditing" />
                                <asp:MenuItem Text="Iar Completion" Value="IarCompletionEditing" />
                            </asp:MenuItem>
                            <asp:MenuItem Text="Auditee" Value="Auditee"></asp:MenuItem>
                            <asp:MenuItem Text="Audit Organization" Value="AuditOrganization"></asp:MenuItem>
                        </Items>
 <StaticMenuStyle CssClass="MenuStyle" />
    <StaticMenuItemStyle CssClass="MenuItemStyle" ItemSpacing="1px" />
    <staticSelectedStyle CssClass="SelectedStyle" ItemSpacing="1px" />
    <StaticHoverStyle CssClass="HoverStyle" />
    <DynamicMenuStyle CssClass="DynamicMenuStyle" />
    <DynamicMenuItemStyle CssClass="DynamicMenuItemStyle" />
    <DynamicHoverStyle CssClass="DynamicHoverStyle" />
    <DynamicSelectedStyle CssClass="DynamicSelectedStyle" />
                    </asp:Menu>
                </div>
The css style code 如下:

#mainmenu
{
position: absolute;
bottom: 0;
left: 0;
width: 100%;
font-size: 93%;
font-weight: bold;
border-bottom: solid 2px #C3D8EF;
}
#mainmenu .MainMenuControl {margin-left: 40px;}
#mainmenu .MenuItemStyle
{
background: url(Images/NavImageOff.gif) no-repeat top right;
color: #0171BA;
}
#mainmenu .MenuItemStyle a
{
display: block !important;
padding: 5px 15px;
background-image: none !important;
background-repeat: no-repeat;
}
#mainmenu .HoverStyle, #mainmenu .SelectedStyle
{
background: url(Images/NavImageOn.gif) no-repeat top right;
color: #A1BC00;
}
#mainmenu .DynamicMenuStyle
{
border-top: solid 1px #C3D8EF;
border-left: solid 1px #C3D8EF;
border-right: solid 1px #C3D8EF;
}
#mainmenu .DynamicMenuItemStyle
{
border-bottom: solid 1px #C3D8EF;
}
#mainmenu .DynamicMenuItemStyle a
{
display: block !important;
padding: 3px 25px 3px 10px;
color: #0171BA;
}
#mainmenu .DynamicHoverStyle, #mainmenu .DynamicSelectedStyle
{
background: url(Images/NavImageOn.gif) no-repeat top right;
color: #A1BC00;
}
#mainmenu .DynamicHoverStyle a, #mainmenu .DynamicSelectedStyle a
{
color: #A1BC00;
}   
最后用浏览器查看, 在IE 7.0, 和firefox下,menu的显示一切正常,但是在用opera浏览, 却发现在css 中style却没有应用,本以为可能是某些css的标签不符合opera
的标准, 但是无论如何修改,发现都是徒劳。
后来,在删除 css中class定义中,div的id之后,menu才可以在opera中正常显示。

#mainmenu
{
    bottom: 0;
    left: 0;
    width: 100%;
    font-size: 93%;
    font-weight: bold;
    border-bottom: solid 2px #C3D8EF;
}

 .MainMenuControl {margin-left: 40px;}

 .MenuItemStyle
{
    background:  url(Images/NavImageOff.gif) no-repeat top right;
    color: #0171BA;
}
 .MenuItemStyle a
{
    display: block !important;
    padding: 5px 15px;
    background-image: none !important;
    background-repeat: no-repeat; 
}

 .HoverStyle, .SelectedStyle
{
    background:  url(Images/NavImageOff.gif) no-repeat top right;
    color: #A1BC00;
}

 .DynamicMenuStyle
{
    border-top: solid 1px #C3D8EF;
    border-left: solid 1px #C3D8EF;
    border-right: solid 1px #C3D8EF;
}

.DynamicMenuItemStyle
{
    border-bottom: solid 1px #C3D8EF; 
}

 .DynamicMenuItemStyle a
{
    display: block ;
    padding: 3px 25px 3px 10px;
    color: #0171BA;
}

 .DynamicHoverStyle,  .DynamicSelectedStyle
{
    background:  url(Images/NavImageOff.gif) no-repeat top right;
    color: #A1BC00;
}
.DynamicHoverStyle a,  .DynamicSelectedStyle a
{
    color: #A1BC00;
}   

同样的问题在asp.net fourm: http://forums.asp.net/t/1250075.aspx
posted @ 2008-04-22 15:04  Amanda2007  阅读(359)  评论(0编辑  收藏  举报