1

不应用 CSS 类中的样式(被其他选择器覆盖)。我该如何解决?

HTML:

<body class="expertmode">
  <div id="gallery">
    <img class="appearing">
    <img class="appearing">
  </div>
</body>

CSS:

#gallery {...}
.expertmode #gallery {...}
#gallery img {...}
.expertmode #gallery img {...}
.appearing {...}

问题:.appearing中的样式被.expertmode #gallery img. 我不想要那个。如何使样式.appearing具有更高的优先级?

更多信息:

  • .appearing是一个类,当它们被插入到画廊中然后被移除(javascript)时,它首先应用于新图像,以触发 CSS3 过渡,使图像很好地滑入。该类似乎正在工作,因为如果我在选择器中设置.appearing了另一个选择器中不存在的属性,它们就会正确地应用于图像。
  • .expertmode是一个body可以拥有或不拥有的类。这个问题没关系,我只是无法摆脱它。
4

2 回答 2

2

使用它向标准 img 属性添加新样式

.expertmode #gallery img.appearing {...}
于 2013-10-13T13:21:38.060 回答
0

使用 !important 指令。例如

.appearing {color: navy !important;}

!important 规则是一种让你的 CSS 级联的方法,但也有你认为最重要的规则始终被应用。无论该规则出现在 CSS 文档中的什么位置,都将始终应用具有 !important 属性的规则。因此,如果您想确保始终应用某个属性,您可以添加 !important 属性。但是,这绝对是最后的手段。最好以更有条理的方式创建您的样式。

于 2013-10-13T13:21:31.480 回答