gpt4 book ai didi

c# - 未应用 CSS 样式

转载 作者:行者123 更新时间:2023-12-05 02:24:35 24 4
gpt4 key购买 nike

我正在编写一个 ASP.NET Web 应用程序,但在应用 CSS 样式时遇到了麻烦。目前我有一个母版页和一个内容页。我的母版页正在应用 CSS 样式,但内容页没有。有趣的是,在设计 View 中,样式被应用到内容页面,但一旦运行,浏览器就不会应用它。我试过内部和外部样式表。内联确实有效,但我想避免内联。这是我已经尝试过的一些示例代码

母版页:

<head runat="server">
<title></title>
<link rel="stylesheet" type="text/css" href="~/Styles/MasterStyleSheet.css" />
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>

内容页:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<link rel="stylesheet" type="text/css" href="~/Styles/LoginStyleSheet.css" />
<!-- <link href='<%= ResolveUrl("~/Styles/LoginStyleSheet.css") %>' rel="stylesheet" type="text/css" /> I tried this as well-->
</asp:Content>

我已经添加了简单的 css 文件,这样人们就可以看到语法是正确的: LoginStyleSheet.css

#usrLabel {
color:Blue;
background-color:Aqua;
}

#Label4 {
background-color:Black;
}

任何帮助将不胜感激

更新 #1

标题的 HTML 输出:

<head>
<title></title>

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

<!-- <link href="&lt;%= ResolveUrl(&quot;~/Styles/MasterStyleSheet.css&quot;) %>" rel="stylesheet" type="text/css" /> -->
<!-- <link rel="stylesheet" type="text/css" href="../Styles/LoginStyleSheet.css" /> -->
<!-- <link href='/Styles/LoginStyleSheet.css' rel="stylesheet" type="text/css" /> -->
<!-- <link rel="stylesheet" type="text/css" href="~/Styles/LoginStyleSheet.css" /> -->
<!-- <link rel="stylesheet" type="text/css" href="../Styles/LoginStyleSheet.css" /> -->
<!-- <link rel="stylesheet" type="text/css" href="/Styles/LoginStyleSheet.css" /> -->
</head>

很多<link>元素目前已被注释掉,但这些都是我尝试过的不同方式。

更新 #2

首先,我感谢许多回复。他们都致力于弄清楚为什么我的外部 css 文件不起作用。但是,如果我尝试使用内部 CSS 样式表,它仍然不起作用。只有内联 css 有效。也许如果我们能找出内部 css 样式不起作用的问题所在,那么外部 css 样式表就会解决同样的问题

最佳答案

正如您已经意识到的,以下不会转换为绝对路径,因为它不是 asp.net 对象...

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

相反,尝试使用这个...

<link rel="stylesheet" type="text/css" href="<%=VirtualPathUtility.ToAbsolute("~/Styles/LoginStyleSheet.css")%>" />

更新(更新问题后)...

如果发送给浏览器的 HTML 如下,那么我相信 LoginStyleSheet.css 要么在不同的位置,要么有一些文件权限阻止它被正确提供......

(我删除了注释掉的行,并添加了以 ** 开头的行……不应该包含 **)

<head>
<title></title>
<link rel="stylesheet" type="text/css" href="../Styles/MasterStyleSheet.css" />
**<link rel="stylesheet" type="text/css" href="../Styles/LoginStyleSheet.css" />
</head>

另外 @aRsen49 在他的回答中强调了一种可能性……那就是 CSS 文件加载正确,但 CSS 不正确。您是否仔细检查过 CSS 是否匹配(记住 # 表示一个 ID,而 . 表示一个类)?

进一步更新

如果@Trisped 的假设是正确的,我想我可能知道出了什么问题......

如果usrLabelLabel4是 asp 对象(例如 <asp:Label> ),您使用母版页的事实意味着发送到浏览器的 HTML 中控件的实际 ID 不会是 usrLabelLabel4 , 但实际上它们会像 ct100_Content1_usrLabelct100_Content1_Label4 ...因此您当前拥有的 CSS 将无法正确链接。

所以我建议您更新您的 CSS 以使用发送到浏览器的 ID,或者(这是我的偏好)您应该添加 CssClss="usrLabel"每个对象的属性,然后将您的 CSS 更新为 .usrLabel相反。

关于c# - 未应用 CSS 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11122630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com