我有一个包含两个类的元素,一个叫做“ rotate”,它将旋转元素360度,另一个叫做“ doublesize”,它将元素放大两倍于其正常大小:
.rotate {
transform: rotate(0deg);
}
.rotate:hover {
transform: rotate(360deg);
}
.doublesize {
transform: scale(1);
}
.doublesize:hover {
transform: scale(2);
}
我猜这是行不通的,因为这些类会覆盖彼此的transform
属性?
我知道我可以很容易地在一条CSS规则中做到这一点,例如:
.doublerotatesize {
transform: scale(1) rotate(0deg);
}
.doublerotatesize:hover {
transform: scale(2) rotate(360deg);
}
但是我希望能够在可能的情况下分别应用每个类。
我猜这是行不通的,因为这些类会覆盖彼此的
transform
属性?
正确。作为级联工作方式的副作用,这是一个不幸的局限。
您将必须在一个transform
声明中指定两个函数。您可以简单地将两个类选择器链接在一起,而不是为组合的转换创建新类:
.doublesize.rotate {
-webkit-transform: scale(1) rotate(0deg);
}
.doublesize.rotate:hover {
-webkit-transform: scale(2) rotate(360deg);
}
…但是正如您所看到的,问题出在transform
属性而不是选择器中。
预计将在Transforms级别2中对此进行纠正,在该级别中,每个变换都已提升为自己的property,这将使您可以像单独组合CSS属性一样简单地声明它们来组合变换。这意味着您将能够简单地做到这一点:
/* Note that rotate: 0deg and scale: 1 are omitted
as they're the initial values */
.rotate:hover {
rotate: 360deg;
}
.doublesize:hover {
scale: 2;
}
…并利用级联而不是受其阻碍。不需要专门的类名或组合的CSS规则。
这在这个回答中出现了,并且: 在Apple LLVM 9.1.0 CLANG-902-0.39.2中,的引用第一个并打印“1”。 GCC 8.2不接受此源文本。,抱怨:“错误:以前声明为'static‘的变量重新声明为'extern'”。 C 2018 6.2.2 4规定: 由于有两个先验声明,因此以下每个“if”子句的条件为真,第一个用于第一个先验声明,第二个用于第二个先验声明: ……如果前面声
问题内容: 我可以将2个类应用于单个div或span或任何html元素吗?例如: 我尝试过,但在我的情况下,c2没有得到应用。我如何一次申请两个课程? 问题答案: 1)在class属性内使用多个类,以空格(ref)分隔: 2)要定位包含所有指定类的元素,请使用以下CSS选择器( 不带空格 )(ref):
问题内容: 使用CSS,如何应用多个? 示例:在下面,仅应用平移,而不应用旋转。 问题答案: 您必须将它们放在这样的一行上: 当您有多个转换指令时,将仅应用最后一个。就像其他任何CSS规则一样。 请记住,从右到左应用了 多行转换指令。 这: 和: 会 不会 产生同样的结果:
使用CSS,如何应用多个? 示例:在下面,只应用平移,而不应用旋转。
问题内容: 我希望两个名称不同的类在CSS中具有相同的属性。我不想重复代码。 由于两个类都在做同一件事,因此我应该能够将其合并为一个。我怎样才能做到这一点? 问题答案: 是您要寻找的。
问题内容: 最近,我注意到声明包含64个元素的数组比声明具有65个元素的相同类型的数组要快得多(> 1000倍)。 这是我用来测试的代码: 这将运行在大约6毫秒,如果我更换用它需要大约7秒。如果作业分布在越来越多的线程中,那么这个问题就会成倍地恶化,这就是我的问题所在。 不同类型的数组(例如或)也会发生此问题。大字符串不会发生此问题:,但将其更改为时确实会发生 我想知道为什么会这样,是否有可能规避