jQuery后加进的class, 样式有时识别不到,需要在css中加入!important才可以,为什么?

是不是和js或者是css优先级有关系,到底什么情况下会出现这种情况呢?

阅读 4.6k
5 个回答
  1. 首先 js 是没有优先级的概念的,但是如果是同时对同一元素进行样式设置,那么后面的会覆盖前面。

  2. css 是有优先级的,大致的顺序是 !important > 内联 > ID > 类 > 标签 | 伪类 | 属性选择 > 伪对象 > 通配符 > 继承,但是由于浏览器不能识别 !important.

你这个一般情况是 css 中设置的样式的权重大于你这个 class 表示的权重。所以无法覆盖,但是通过 !important 就使它的优先级最高,于是就设置成功啦

审查一下元素是不是样式覆盖了

如果样式覆盖自然看不到,还有放置的顺序也有关系。

!important 慎用

css权重问题, 这个算法很蛋疼...包括单个时的权重, 包括组合时的权重...

推荐问题