为什么CSS仅应用于我的母版页?

时间:2010-01-09 18:36:28

标签: asp.net css master-pages

在我的母版页的头部,我有一个指向外部CSS文件的链接

<link href="style.css" rel="stylesheet" type="text/css" />

虽然我能够在设计时将儿童页面中的样式应用......

<asp:Label ID="Label" runat="server" CssClass="BodyText" Text="This is a link"></asp:Label>

...在运行时子页面没有样式。

那么,我在这里缺少什么?

3 个答案:

答案 0 :(得分:2)

如果您的子页面位于子目录中,他们也会期望该目录中的样式表。将样式表的引用更改为../style.css或/style.css应该会有所帮助。

答案 1 :(得分:1)

尝试在母版页中使用根运算符“〜”作为样式表:

<link type="text/css" href="~/css/style.css" rel="stylesheet" />

ASP.NET将〜运算符解析为当前应用程序的根。您可以将〜运算符与文件夹结合使用,以指定基于当前根目录的路径。

答案 2 :(得分:1)

CSS文件(以及任何其他文件 - 图像,javascript等)的路径是相对于页面(浏览器中的页面地址)。如果母版页位于与页面不同的文件夹中,则可能找不到css文件。

尝试使用绝对路径,相对于根的路径或CSS文件的路径,如下所示:

<link href="~/style.css" rel="stylesheet" type="text/css" />