javascript - 添加动态类时的 Css 类优先级

标签 javascript html css

对 css 中类的优先级感到困惑,我知道最后添加的类具有最高优先级,但是这里 就我而言,我认为我错了,我正在向 div 动态添加类,但类无法正常工作

<p>Click the button to add the "mystyle" class to DIV.</p>

<script>
    function myFunction() {
    document.getElementById("myDIV").classList.add("mystyle","hello");
}
</script>

<style>
.hello{
background-color: blue;
}
.mystyle {
    background-color: red;
}
</style>

为什么 div 显示红色而不是蓝色?

Working Example

最佳答案

你的 div由于您的样式声明顺序,是红色而不是蓝色:

.hello {
  background-color: blue;
}

.mystyle {
  background-color: red;
}

CSS 特异性不依赖于将类应用到元素的顺序,而是依赖于在样式中声明类的顺序。在这种情况下,您已声明 .hello然后.mystyle , 意思是 .mystyle.hello 相比具有高特异性因此,您会得到红色背景。

关于javascript - 添加动态类时的 Css 类优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37748305/

相关文章:

javascript - jQuery - ".on"和 ".each"在动态添加的元素上的组合

javascript - IE中的视差效果刷新率很恐怖

javascript - 当字段名称包含 @ 字符时,如何从 JSON 响应中提取数据

javascript - 当我们点击表格中的每一行时,如何重定向到不同的URL,即点击每一行元素必须重定向到不同的URL?

javascript - 检测下拉导航是否会离开屏幕并重新定位

html - Flex 内容可以强制父网格元素的宽度吗?

javascript - ngDialog.open 未定义 - 这是什么意思?

html - 添加并排 div 困惑

css - 图像按钮在 Firefox 中的图像顶部显示 'Submit query'

php - 如何在 PHP 中使用 getElementById