我有一个样式表,其中设置了一些样式。
其中一种样式的位置设置为“固定”-但仅适用于某些组合。
例如,
.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
上添加了重要标签,它将起作用。
答案 0 :(得分:0)
没有.mystyle
变体这样的东西。 .mystyle.blue
是一个复合CSS选择器,将规则应用于同时具有myStyle
和blue
类的任何元素,而它们同时具有。如果删除其中任何一个,该规则将不再适用。
$(".mystyle").css("position", "fixed")
在页面中当前具有position:fixed;
类的任何元素的style
属性的mystyle
属性内添加mystyle
。请注意,myStyle
和!important
是不同类。 CSS选择器区分大小写!
任何内联样式规则都比通过CSS规则应用的类具有更高的特异性,除非样式表规则以$(".mystyle").removeAttr("style");
后缀(您不应该使用,它是蠕虫的罐头!)。
style
将完全删除position:fixed;
属性,而不仅仅是您添加的style
。如果对以前具有position
属性的元素执行此操作,则在再次隐藏并显示该元素后,这些规则将丢失。最好将static
属性恢复为默认值$('.mystyle').css({position:'static'})
:
python3 --version