Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 两种不同颜色的款式_Javascript_Html_Css - Fatal编程技术网

Javascript 两种不同颜色的款式

Javascript 两种不同颜色的款式,javascript,html,css,Javascript,Html,Css,一个元素可以有两种不同颜色的样式吗 换句话说,假设我有以下HTML代码: <table class='my_table'> <th class="style1 style2">LastName</th> ... </table> 我知道,在某些情况下,我可以使用JavaScript删除一种样式。但我想有两种风格,其中一种应该优先于另一种。这可能吗?是的,您可以对一个元素应用多个类,如果同一CSS元素存在相互竞争的定义,则其中一个将覆盖另一个。您可

一个元素可以有两种不同颜色的样式吗

换句话说,假设我有以下HTML代码:

<table class='my_table'>
<th class="style1 style2">LastName</th>
...
</table>

我知道,在某些情况下,我可以使用JavaScript删除一种样式。但我想有两种风格,其中一种应该优先于另一种。这可能吗?

是的,您可以对一个元素应用多个类,如果同一CSS元素存在相互竞争的定义,则其中一个将覆盖另一个。

您可以根据需要对一般元素或特定元素进行任意多个样式定义。使用哪一个取决于css的特殊性(范围)。您可以在这里阅读更多内容:

是的,您可以

       <th class="style1 style2">LastName</th>
LastName
css是你的 正如这里所描述的


最后定义的样式(不是类属性中的类)应该应用于元素,以回答您的问题。但如果有什么地方被利用了!重要关键字,结果对您来说可能非常奇怪。

是的,您可以在一个元素上使用任意数量的类。CSS使用声明顺序和命令来决定哪个将被覆盖

例如,如果特异性相同,则使用最后一个:

.style1 { 
    background: #aaaaaa; 
}

.style2 { 
    background: #bbbbbb; 
} 
否则,将使用最具体的(下例中的第一个):


对于给定的代码,使用的背景色是#bbbbbbbb,因为在其他条件相同的情况下,正如它们在这里一样,后一个声明将以。这意味着CSS声明的顺序。
class
属性中类名的顺序无关紧要。

是的,可以为一个元素使用多个类,并且应用这些类的所有样式规则

如果规则冲突,则最具体的规则将覆盖其他规则。如果规则同样具体,则最后一条规则适用

例如:

<table class="my_table">
    <tr>
        <th class="style1">Style 1</th>
        <th class="style2">Style 2</th>
        <th class="style1 style2">Style 1 and 2</th>
    </tr>
</table>

风格1
风格2
样式1和2
第三个单元格将从
style2
中获取背景,因为它是在样式表中最后定义的


演示:

您试过这个吗?其中一个将覆盖另一个。是的,我尝试过,但这里有什么逻辑?也许这很重要?什么会覆盖什么?代码中的打字错误?也许
?它可以通过php实现。例如,如果你有4行,那么其中的2行将有另一个背景。看看CSS的特殊性,也许这会回答你的一些问题。问题是什么是algo,在另一行下选择一行?
.my_table th.style1 { 
    background: #aaaaaa; 
}

.style2 { 
    background: #bbbbbb; 
}
<table class="my_table">
    <tr>
        <th class="style1">Style 1</th>
        <th class="style2">Style 2</th>
        <th class="style1 style2">Style 1 and 2</th>
    </tr>
</table>