【发布时间】:2018-09-20 20:48:59
【问题描述】:
我有一个样式表,其中设置了一些样式。
其中一种样式的 position 设置为“固定” - 但仅适用于某些组合。
例如:
.mystyle.blue {
position: fixed;
}
所以,.blue 是固定的,但普通的 .mystyle 本身不会收到相同的样式。
我还有一些 jQuery 的东西,可以添加和删除内联样式。因此,在某些情况下,它可能会将position: fixed 添加到所有.mystyle 变体中。
这很简单,使用:
$(".mystyle").css("position", "fixed")添加;
和$(".mystyle").removeAttr("style"); 删除。
但是,一旦删除,底层样式表设置就会被忽略。所以,我仍然希望.mystyle.blue 尊重position: fixed,但事实并非如此。
关于解决方法的任何想法?
更新
我现在知道发生了什么,并进行了修复,但这不是我所期望的。
在使用 jQuery 设置position: fixed 时,我还设置了一个顶部位置。这是否定的 - -64px(尽管实际上它是动态设置的)。显然,两者同时被删除。
样式表代码是这样的:
position: fixed;
top: 0;
我认为一旦删除内联样式样式就会再次生效 - 一个会,一个不会。
负的最高位置似乎没有恢复为 0。这可能只是我的理解不足。该位置确实恢复为默认值。
如果我向top: 0!important 添加一个重要标签,它确实有效。
【问题讨论】:
-
它应该可以工作,你有一个工作的例子吗?
-
sn-p 将有助于检测问题。!
-
您不需要“解决方法”。浏览器和 jQuery 足够稳定来处理这些基本的东西。问题必须在您的代码中。
-
@undefined - 我现在正在查看代码。