这个 CSS 语句中的“@”是啥意思?

Posted

技术标签:

【中文标题】这个 CSS 语句中的“@”是啥意思?【英文标题】:What does the "@" in this CSS statement mean?这个 CSS 语句中的“@”是什么意思? 【发布时间】:2012-01-02 04:04:44 【问题描述】:
@-webkit-keyframes roll 
    100%  -webkit-transform: rotate(360deg); 

“@”和“100%”是什么意思?

【问题讨论】:

重复***.com/questions/3453257/… 这不是该问题的直接重复,因为它指的是未在此处记录的 -webkit 特定规则。 同意,这不是重复的(至少,不是链接到的问题)。链接的问题是指非常不同的@ 规则。 这就是为什么我突然对我对这个问题的回答获得了赞成票。虽然我的回答确实解释了 @ 符号的用途,但我同意 Duncan 和 James 的观点,因为它没有充分回答这个特定的 WebKit 问题。 【参考方案1】:

这些是由 webkit 开发团队定义的 CSS3 规则,在正式接受为 CSS3 规范的一部分之前 - 因此在选择器中包含 -webkit。 @ 表示这是一条 CSS 规则,而不是标准选择器。 @-webkit-keyframes 用于为 CSS 视觉效果动画属性指定关键帧。

您可以为动画定义任意数量的关键帧;如果您只给出了最终关键帧(当动画完成 100% 时),则已定义。 The full syntax and documentation for these rules can be found here.

例如,如果您希望动画开始缓慢然后加速,同时平滑地开始和结束,您可以设置在旋转度中具有非线性步长的中间关键帧:

@-webkit-keyframes roll 
    25%  -webkit-transform: rotate(24deg);
          -webkit-animation-timing-function: ease-in;
        
    50%  -webkit-transform: rotate(72deg); 
    75%  -webkit-transform: rotate(168deg); 
    100%  -webkit-transform: rotate(360deg); 
        -webkit-animation-timing-function: ease-out;
        

【讨论】:

【参考方案2】:

“@”在样式表中声明了一个 At-Rule。在每种情况下,它肯定都有特殊的含义。

“100%”指的是由@keyframes 规则定义的CSS 动画的最终状态,或者在本例中为@-webkit-keyframes 规则。您实际上必须声明动画的第一个 (0%) 和最终 (100%) 状态,以便用户代理知道何时开始和停止动画。

这里还有一些: At-Rules 是渲染引擎的指令;它们将 CSS 规则集语法扩展到常规选择器和声明块之外。 At-Rules 使用 At-Keyword 声明,即简单的“@keyword”,后跟与所使用的 At-Keyword 相关的 At-Rules 语句。示例:@charset "ISO-8859-15";

根据 At-Rule 语句类型,可选参数可以跟在 At-Keyword 后面。示例:@media screen color:#000; ,其中 screen 是可选参数。

【讨论】:

以上是关于这个 CSS 语句中的“@”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

SQL语句中的declare 是啥意思,具体怎么用啊

sql语句中的groupby是啥意思?

请问HTML语句中“border=1”是啥意思,谢谢!

这个 typedef 语句是啥意思?

这个返回语句是啥意思? Python

c语言switch语句中default是啥意思?