ASP.Net菜单CSS未应用
我最近将我的web应用程序从VB转换为C。还有一个问题-转换后,应用于我的网站导航菜单的CSS。Master不再工作。它的行为就像根本没有CSS一样 我已经做了以下工作:ASP.Net菜单CSS未应用,asp.net,css,Asp.net,Css,我最近将我的web应用程序从VB转换为C。还有一个问题-转换后,应用于我的网站导航菜单的CSS。Master不再工作。它的行为就像根本没有CSS一样 我已经做了以下工作: 我已经验证了CSS语法 我已经删除并重新添加了.css文件 我已经在Site.Master中删除并重新添加了对.css的引用 我已将内容复制到另一个.css文件并更新了引用 我已经创建了另一个测试项目,并且在主项目的Site.Master的内容上使用了.css文件,并验证了css和引用确实有效 所以我的问题是:在ASP.N
- 我已经验证了CSS语法
- 我已经删除并重新添加了.css文件
- 我已经在Site.Master中删除并重新添加了对.css的引用
- 我已将内容复制到另一个.css文件并更新了引用
- 我已经创建了另一个测试项目,并且在主项目的Site.Master的内容上使用了.css文件,并验证了css和引用确实有效
<head id="Head1" runat="server">
...
<link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
...
</head>
<body>
...
<asp:Menu ID="Menu1" runat="server" CssClass="menu" EnableViewState="False" IncludeStyleBlock="False"
Orientation="Horizontal" StaticDisplayLevels="1">
<Items>
<asp:MenuItem Text="PTS Home" Value="PTS Main" NavigateUrl="Default.aspx">...</asp:MenuItem>
<asp:MenuItem Text="Admin" Value="Admin">...</asp:MenuItem>
<asp:MenuItem Text="Estimating" Value="Estimating">...</asp:MenuItem>
<asp:MenuItem Text="Purchasing" Value="Purchasing">...</asp:MenuItem>
<asp:MenuItem Text="Commissions" Value="Commissions">...</asp:MenuItem>
...
</Items>
</asp:Menu>
</body>
它应该是什么样子
它实际上是什么样子的
div.menu
{
padding: 0px 0px 0px 0px;
background-color: #507F6D;
z-index: 1;
}
div.menu ul
{
list-style: none;
margin: 0px;
padding: 1px;
width: auto;
z-index: 1;
}
div.menu ul li a
{
background-color: #37725C;
color: #cfdbe6;
text-decoration: none;
padding: 0 5px;
border: 1px solid greenyellow;
}
div.menu ul li a:active
{
background-color: #37725C;
color: #cfdbe6;
text-decoration: none;
z-index: 1;
}
删除div。在CSS中,我认为控件不会创建div
找到了答案,多亏了皮特的评论指引我朝着正确的方向前进
控件的RenderingMode被设置为“Default”-显然,在VB中默认行为是List,但在C#中是Table。Div CSS对项目没有用处,因此没有格式。设置为列表和魔术 发布一些代码,像这样,我不认为有人可以帮助你发布css文件的链接,因为它出现在你的site.master中。另外,当您查看网页的源代码,然后单击指向css文件的链接时,会发生什么?完成。当我点击链接时,我收到了正确的CSS文件。
asp:menu
是否创建了一个带有菜单类的div
?我本以为它会创建ul
树,但我从来没有使用过asp:menu
控件,事实上,您可能会了解一些事情-旧版本和测试版本确实会创建div,但转换后的版本正在创建表结构。我需要看一些。它看起来确实相关-转换后的程序正在创建带有td元素的表。但是,全新的测试应用程序创建了一个div,因此看起来可能有一个设置决定了菜单的构造方式。如果删除该div,则该规则将应用于class=“menu”的每个元素,而不仅仅是div下的元素,这就是我写这篇文章的原因。你试过了吗?如果没有必要,我宁愿不改变CSS的结构,我找到了我问题的答案,并将其作为答案发布。
div.menu
{
padding: 0px 0px 0px 0px;
background-color: #507F6D;
z-index: 1;
}
div.menu ul
{
list-style: none;
margin: 0px;
padding: 1px;
width: auto;
z-index: 1;
}
div.menu ul li a
{
background-color: #37725C;
color: #cfdbe6;
text-decoration: none;
padding: 0 5px;
border: 1px solid greenyellow;
}
div.menu ul li a:active
{
background-color: #37725C;
color: #cfdbe6;
text-decoration: none;
z-index: 1;
}