【问题标题】:Tough CSS problem - getting values from other properties?棘手的 CSS 问题 - 从其他属性获取值?
【发布时间】:2011-01-12 12:43:12
【问题描述】:

我需要在 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) 中实现吗?即使它是一个草案规范或只是一个支持它的浏览器,我也想听听。

提前致谢。

【问题讨论】:

    标签: css animation attributes


    【解决方案1】:

    这在 CSS 中是不可能的。但是您可以通过SassCompass 来实现。

    引用自萨斯:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        是的,就像 FRKT 所说,仅使用 CSS 是不可能的,尽管还有其他方法可以实现这一点,但不是 CSS。 CSS 本身并不是样式的获取器和设置器。

        【讨论】:

          【解决方案4】:

          试试 Shaun Inman 的 Server Side Constants,你可以这样使用它

          @server constants {
              constantName: constantValue;
              }
          
          selector {
              property: constantName;
              }
          

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

          【讨论】:

            猜你喜欢
            • 2017-08-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-06-02
            • 2021-06-26
            • 2011-07-19
            相关资源
            最近更新 更多