0

感谢 [this question][1] 关于重新定位 AJAX 工具包的 CalloutExtender 控件,以回答我在 Web 表单上定位 Validator CallOuts 的问题。

有人可以告诉我为什么将 CSS 类直接添加到我的网页中的<style>元素会产生预期的效果,但是当将相同的类添加到链接的 CSS 文件时,它们没有效果?

因此,添加:

<style>

.CustomValidator {position:relative;margin-left:-80px;}

.CustomValidator div {border:solid 1px Black;background-color:LemonChiffon; position:relative;}

.CustomValidator td {border:solid 1px Black;background-color:LemonChiffon;}

.CustomValidator .ajax__validatorcallout_popup_table {display:none;border:none;background-color:transparent;padding:0px;}

.CustomValidator .ajax__validatorcallout_popup_table_row {vertical-align:top;height:100%;background-color:transparent;padding:0px;}

.CustomValidator .ajax__validatorcallout_callout_cell {width:20px;height:100%;text-        align:right;vertical-align:top;border:none;background-color:transparent;padding:0px;}

.CustomValidator .ajax__validatorcallout_callout_table {height:100%;border:none;background-color:transparent;padding:0px;}

.CustomValidator .ajax__validatorcallout_callout_table_row {background-color:transparent;padding:0px;}

.CustomValidator .ajax__validatorcallout_callout_arrow_cell {padding:8px 0px 0px 0px;text-align:right;vertical-align:top;font-size:1px;border:none;background-color:transparent;}

.CustomValidator .ajax__validatorcallout_callout_arrow_cell .ajax__validatorcallout_innerdiv {font-size:1px;position:relative;left:1px;border-bottom:none;border-right:none;border-left:none;width:15px;background-color:transparent;padding:0px;}

.CustomValidator .ajax__validatorcallout_callout_arrow_cell .ajax__validatorcallout_innerdiv div {height:1px;overflow:hidden;border-top:none;border-bottom:none;border-right:none;padding:0px;margin-left:auto;}

.CustomValidator .ajax__validatorcallout_error_message_cell {font-family:Verdana;font-size:10px;padding:5px;border-right:none;border-left:none;width:100%;}

.CustomValidator .ajax__validatorcallout_icon_cell {width:20px;padding:5px;border-right:none;}

.CustomValidator .ajax__validatorcallout_close_button_cell {vertical-align:top;padding:0px;text-align:right;border-left:none;}

.CustomValidator .ajax__validatorcallout_close_button_cell .ajax__validatorcallout_innerdiv {border:none;text-align:center;width:10px;padding:2px;cursor:pointer;}

</style>

直接到我的页面可以工作,但是如果我将类粘贴到我的 CSS 文件中(自然没有样式标签),它们似乎会被忽略,而其他样式表更改(对于其他页面元素)会被反映。

我已经到了从 CSS 文件中删除所有其他样式的地步,但仍然没有乐趣。对顶部 .CustomValidator 样式中“margin-left”的更改无效,而其他更改(如 .CustomValidator div 中的背景颜色)正常工作。

该字段在表格内并添加 margin-left=-80 t .CustomValidator 表格样式,在 CSS 文件中将调用向左移动,但不会很远并且移动是相同的,无论你做什么价值。

4

5 回答 5

2

确保您的链接标签上的语法正确,如下所示:

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

我打错了一次,然后做了:

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

它会在某些浏览器上呈现良好,但在其他浏览器上则完全不行。

于 2009-04-24T03:39:06.290 回答
1

与亚历山大的上述有关...

我会尝试将样式表作为表单列表中的第一个和最后一个样式表(如果有多个)。同样,某些库或 javascript 可能会用自己的 css 覆盖更改。如果其他级联规则不应用最新规则,则在页面下方输入的规则将覆盖旧的/先前输入的规则(如果它们描述了相同的元素)。

你在使用萤火虫的 css 标签吗?确保正在加载也可能需要查看 net 选项卡,以查看它何时加载与其他 javascript 或 css 的关系,并将其与包含该文件的加载时间进行比较。

于 2009-04-24T04:22:55.187 回答
1

也许您的浏览器缓存了您的样式表,因此没有显示您最近对其所做的任何更改。

于 2009-04-24T03:23:03.257 回答
1

我正在寻找一个可能太明显的答案......你确定你包括CSS文件吗?

于 2009-04-24T03:25:51.613 回答
1

实际上,CSS 遵循 DOM 中从上到下的级联 (duh) 继承模型,这使得它们进入 DOM 具有重要意义。根据您在 CSS 文件中放置它们的位置,可能会遵循使它们无效的规则。将它们直接放入您的代码中(我假设在使用地点附近)将确保 CSS 被解析为最后也是最重要的。我猜想在这种情况下,有关您的 CSS(外部)文件的大小和其中的复杂性的一些详细信息将是信息。我还会通过验证器弹出该 CSS 文件,以确保您没有任何陷阱(如 * 规则,需要小心处理)。

于 2009-04-24T04:11:01.753 回答