【发布时间】:2012-11-17 15:07:29
【问题描述】:
我正在重新设计 ASP Classic 网站。整个站点有一个名为 Main 的主要 CSS 文件,其中包含所有样式。这个文件中没有很多样式,因为当前设计几乎是默认的。一些页面元素的样式是内联编写的。
对我来说,这项任务似乎很简单。我只是在 Main.css 中将所有基本元素的样式更改为新设计,但我的问题是某些页面的元素并没有改变它们的样式,即使我是内联编写的。有时元素会改变它们的一些样式属性,但总体上不会。有时新样式只会使页面布局变得超出我的理解范围。
Main.css 包含在那些有问题的页面中。所有这些页面内部都有大量的 ASP 代码,包含业务逻辑。我不是 ASP Classic 专业人士,所以我想知道是什么原因导致这些元素不符合基本的 HTML 和 CSS 样式?
例如(我来自俄罗斯,但样本应该清楚):
这是其中一个 ASP 页面的代码:
结果如下:
这是我从样式观察器 (IE9) 中得到的信息:
内联样式的输入按钮:
Main.css 样式的输入按钮:
如您所见,如果我使用内联样式,则只有它的一部分适用,这很奇怪。如果我用Main.css 文件应用样式,它只继承自 BODY 标签,不会对input[type="button"] 选择器做出反应。在其他页面上,这个选择器工作得很好。
UPD1。看起来我通过将<link ...></link> 更改为<link .../> 和input 相同,在结果页面中摆脱了</link/> 和</input/> 奇怪的标签。但这并没有解决我的问题。该页面仍然识别 Main.css 文件的存在并将其部分(例如 BODY 标记样式)分配给我的按钮,但它不识别与按钮本身关联的样式。
UPD2。我发现很奇怪的事情。有问题的页面收到的Main.css 文件与原始文件不同!此文件中的元素缺少一些原始属性,例如:
原Main.css:
INPUT.button {
min-width: 143px;
font-face: Arial;
height: 34px;
border: 1px solid grey;
background: #FCFCFC;
border-radius: 7px;
box-shadow: 0 0 2px grey;
padding-left: 10px;
padding-right: 10px;
}
收到Main.css:
INPUT.button {
min-width: 143px;
font-face: Arial;
height: 34px;
border: 1px solid grey;
background: #FCFCFC;
padding-left: 10px;
padding-right: 10px;
}
好像只是跳过了一些属性,怎么可能??
【问题讨论】:
-
可能是缓存问题?尝试在浏览器中深度重新加载,并确保服务器和客户端之间没有代理。
-
@arkascha 我每次运行新版本的页面时都会清除缓存。
-
您有两个链接到页面的样式表:
/ui/styles/main.css和/ui/Main.css。你需要在同一个页面中吗? -
@Flakes 是的。 /ui/Main.css - 这是包含元素基本样式的主文件(它是默认配置中唯一的样式文件)和 /ui/styles/main.css 是我的包含新创建的设计元素的样式(例如左侧菜单,带有徽标的上部菜单等 - 旧网站没有这些)。
-
this thread 表示将
<meta http-equiv="X-UA-Compatible" content="IE=edge" />添加到您的 HTML 页面。也许这会解决它,因为你只针对 IE
标签: html css asp-classic