艰难的CSS问题 - 从其他属性获取值?

时间:2010-02-03 08:20:44

标签: css animation attributes

我需要在CSS中获取另一个属性的值。假设我在CSS文件中有这个:

.something {
 width: 256px;
}

然后在something2中我想使用值:

.something2 {
 width: .something.width;
}

如果没有JavaScript,我怎么能实现这个目标?我需要这个的原因是因为我正在使用CSS 3动画:

@-webkit-keyframes somethinghere {
    0% {
        background-position: -48px 0px;
    }
    100% {
        background-position: .something.width 0px;
    }
}

和动画结束背景的x值我想成为“某事”的宽度。这可以用CSS(3)吗?即使它是草案规范,也可能只是一个支持它的浏览器,我想听听它。

提前致谢。

4 个答案:

答案 0 :(得分:2)

CSS无法实现。但您可以使用SassCompass来实现此目的。

Sass引用:

  

Sass让CSS再次变得有趣。 Sass是CSS,加上嵌套规则,变量,mixins等等,所有这些都是简洁易懂的语法。

基本上它是另一种类似于CSS的语言。然后将这些文件编译为CSS文件。所以你有一个额外的步骤来创建CSS文件,但你创建它们的语言更强大。

答案 1 :(得分:0)

CSS还不支持变量。但是,您可以在样式表中使用PHP来模仿它。

答案 2 :(得分:0)

是的,就像FRKT所说的那样,这不可能仅使用CSS,尽管还有其他方法可以实现这一目标而不是CSS。 CSS本身并不是样式的getter和setter。

答案 3 :(得分:0)

尝试Shaun Inman的服务器端常量,您可以像这样使用它

@server constants {
    constantName: constantValue;
    }

selector {
    property: constantName;
    }

http://www.shauninman.com/archive/2005/08/09/css_constants