【问题标题】:How do I use the Compass background-with-css2-fallback mixin?如何使用 Compass background-with-css2-fallback mixin?
【发布时间】:2012-03-06 06:33:48
【问题描述】:

如何使用 Compass background-with-css2-fallback mixin 和后备?

我特别希望能够为旧版本的 IE 设置默认背景颜色。

这是我目前正在尝试的,但 IE8 及以下版本似乎无法识别它:

div {
  background: #0E1B31;
  @include background-with-css2-fallback(linear-gradient(top, #0E1B31, #0A1322));
}

【问题讨论】:

    标签: css sass compass-sass


    【解决方案1】:

    background-with-css2-fallback 的目的是让您免于编写background: #0E1B31; 行。你可以这样使用它:

    div {
      @include background-with-css2-fallback(linear-gradient(top, #0E1B31, #0A1322), #0E1B31);
    }
    

    你会得到这样的:

    div {
      background: #0e1b31;
      background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #0e1b31), color-stop(100%, #0a1322)), #0e1b31;
      background: -webkit-linear-gradient(top, #0e1b31, #0a1322), #0e1b31;
      background: -moz-linear-gradient(top, #0e1b31, #0a1322), #0e1b31;
      background: -o-linear-gradient(top, #0e1b31, #0a1322), #0e1b31;
      background: -ms-linear-gradient(top, #0e1b31, #0a1322), #0e1b31;
      background: linear-gradient(top, #0e1b31, #0a1322), #0e1b31;
    }
    

    我想你真的只是想要:

    div {
      background: #0E1B31;
      @include background(linear-gradient(top, #0E1B31, #0A1322));
    }
    

    它的工作原理相同,可读性更高,并且输出的代码更少。如果您希望颜色在较新的浏览器中停留在渐变后面,您可以将包含更改为 background-image

    【讨论】:

    • background-with-css2-fallback 实际上不会输出您显示的内容。以下是我的输出:gist.github.com/1835299 我正在运行 Compass 版本 0.12.rc.0。
    • 在该代码中,data:image/svg+xml 行是抛弃旧版本 IE 的原因。
    • 您必须打开我已关闭的设置。我猜你在某个地方有这个:$experimental-support-for-svg: true。我对 svg 支持的工作原理一无所知。对不起。
    • 关于IE问题我相信@Shpigford指的是:Max URI length in IE8 is 32KB. In IE9 JavaScript files are supported too and the maximum size limit set to 4GB. - caniuse.com/#feat=datauri
    猜你喜欢
    • 2013-03-29
    • 1970-01-01
    • 2011-10-30
    • 2013-06-03
    • 2019-11-09
    • 2015-01-13
    • 2013-12-24
    • 2014-10-21
    相关资源
    最近更新 更多