0

我正在重新设计 ASP Classic 网站。整个站点有一个名为 Main 的主要 CSS 文件,其中包含所有样式。这个文件中没有很多样式,因为当前设计几乎是默认的。一些页面元素的样式是内联的。

这项任务对我来说似乎很简单。我只是在 Main.css 中将所有基本元素的样式更改为新设计,但我的问题是某些页面的元素并没有改变它们的样式,即使我是内联编写的。有时元素会改变它们的一些样式属性,但总体上不会。有时,新样式只是将页面布局搞砸了,超出了我的理解。

Main.css 包含在那些有问题的页面中。所有这些页面内部都有大量的 ASP 代码,包含业务逻辑。我不是 ASP Classic pro,所以我想知道是什么导致这些元素不符合基本的 HTML 和 CSS 样式?

例如(我来自俄罗斯,但样本应该很清楚):

这是其中一个 ASP 页面的代码: 在此处输入图像描述

结果如下: 在此处输入图像描述

这是我从样式观察者(IE9)那里得到的:

内联样式的输入按钮: 在此处输入图像描述

Main.css 样式的输入按钮: 在此处输入图像描述

如您所见,如果我使用内联样式,则只有它的一部分适用,这很奇怪。如果我用Main.css文件应用样式,它只会从 BODY 标签继承,不会对input[type="button"]选择器做出反应。在其他页面上,这个选择器工作得很好。

UPD1。看起来我通过更改为</link/>和相同的. 但这并没有解决我的问题。该页面仍然识别 Main.css 文件的存在并将它的一部分(例如 BODY 标记样式)分配给我的按钮,但是它不识别与按钮本身关联的样式。</input/><link ...></link><link .../>input

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;    
}

看起来它只是跳过了一些属性,这怎么可能?

4

2 回答 2

0

所以问题是一些页面错过了<!DOCTYPE html>标签。此外,那些有问题的页面在标签之前有一部分 ASP 代码<html>,这反过来又使整个页面呈现错误。为了修复它,我只是将所有 ASP 代码移到<head>标签内,现在一切正常。

于 2012-11-17T07:07:29.657 回答
0

Asp 与样式无关。您需要在渲染后查看应用的样式。我会推荐 Chrome。如果您右键单击一个元素,您可以选择“检查元素”,右侧有一个框,您可以在其中准确地看到应用于元素的样式。那时,只需找出违规风格的来源即可。

很可能您有一个内联样式,该样式正在与您的新样式冲突的某个包含的 asp 页面中呈现。一旦您使用 Chrome 找出正在注入的样式,您就可以查找该样式的定义位置。

于 2012-11-13T12:40:01.190 回答