【发布时间】:2013-12-10 15:45:39
【问题描述】:
我正在使用 Visual Studio 2013 和 asp.net,我正在尝试学习如何编写一个基本的网站。不幸的是,我很难将包含在外部 css 样式表中的样式属性应用于 asp.net 应用程序母版页上的 <a> 元素。我很感激这个问题被问了很多次,但我似乎无法让任何解决方案对我有用。
我的应用程序的一些文件结构是;
- MyApplication
-Content
Site.css
-Images
nav_bgrnd.gif
nav_divider.gif
我的母版页的 head 部分中有以下“链接”元素;
<head runat="server">
<link rel="stylesheet" type="text/css" href="~/content/Site.css" runat="server"/>
</head>
我在母版页的 html 正文中有以下菜单项;
<nav id="navformenu" style="width:910px; height:32px; position: relative; top:-5px; background:none;" >
<ul id="menu" class="menu">
<li class="menuli" >
<a id="about" runat="server" class="menulia" href="~/Home" >Home</a>
</li>
<li class="menuli">
<a id="about" runat="server" class="menulia" href="~/About" >About</a>
</li>
<li class="menuli">
<a id="contact" runat="server" class="menulia" href="~/Contact">Contact</a>
</li>
<li class="menuli">
<a id="mynewpage" runat="server" class="menulia" href="~/WebForm1" >MyNewPage</a>
</li>
</ul>
</nav>
最后 Site.css 看起来像;
.menu
{
width:910px;
background: #fff url(/Images/nav_bgrnd.gif) top repeat-x;
height:32px;
position:relative;
z-index:1000;
}
.menuli
{
margin:0 2px 0 -3px;
font-size:11px;
line-height:21px;
padding:0 16px 0 0;
display:inline;
height:32px;
display:block;
float:left;
}
.menulia
{
background: transparent url(/images/nav_divider.gif) left 9px no-repeat;
font-family:serif;
font-weight:normal;
padding: 6px 0 10px 15px;
color:#010304;
font-size:18px;
display:block;
height: 41px;
}
母版页正确引用了 css 文件,因为如果我更改字体大小,例如在 .menulia 类中,那么这会反映在 Visual Studio 设计器和 Firefox 的 Default.aspx 网页中。但图像不显示。相比之下,当我直接使用 style="LOTS OF CODE" 将所有 css 样式代码放入 html 代码中时,就会找到图像。
任何帮助将不胜感激。
【问题讨论】:
-
要从 CSS 中引用图像文件,试试这个:url(../images/nav_divider.gif)
标签: asp.net css background master-pages