【问题标题】:Why is CSS applied only into my master page?为什么 CSS 只应用于我的母版页?
【发布时间】:2010-01-09 18:36:28
【问题描述】:
在我的母版页的头部,我有一个指向外部 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>
...在运行时子页面没有样式。
那么,我在这里缺少什么?
【问题讨论】:
标签:
asp.net
css
master-pages
【解决方案1】:
如果您的子页面位于子目录中,那么它们也会期望该目录中的样式表。将对样式表的引用更改为 ../style.css 或 /style.css 应该会有所帮助。
【解决方案2】:
CSS 文件(以及任何其他文件 - 图像、javascript 等)的路径是相对于页面(浏览器中的页面地址)的。如果母版页与页面位于不同的文件夹中,则可能找不到 css 文件。
尝试使用绝对路径、相对于根的路径或 CSS 文件的路径,如下所示:
<link href="~/style.css" rel="stylesheet" type="text/css" />
【解决方案3】:
尝试对母版页中的样式表使用根运算符“~”:
<link type="text/css" href="~/css/style.css" rel="stylesheet" />
ASP.NET 将 ~ 运算符解析为当前应用程序的根。您可以将 ~ 运算符与文件夹结合使用,以指定基于当前根目录的路径。