【问题标题】:background-size fallback for IEIE 的背景大小后备
【发布时间】:2013-08-29 09:49:49
【问题描述】:

我有这个menu here。我为每个父 li 设置了一个背景图像(然后我为背景大小的高度设置了一个高值,因为子菜单在 2 行上有一些条目,并且高度的高值补偿了这一点)。问题是 IE 不支持背景大小,所以我明白了:

我该如何解决这个问题?我尝试创建一个高度更高的背景图像,但没有改变任何东西。

【问题讨论】:

  • 你用的是哪个版本的IE,IE9是单行的,FF也一样
  • 我尝试使用 MSIE 7 和 8(在 9 和 10 上应该可以工作)。
  • 不会褪色吧?为什么不尝试创建一个 1x1px 的大图像并简单地“重复”它?
  • CSS3引入的background-size,IE7和IE8不支持,可以按照Cherusker王子的建议进行

标签: html css internet-explorer drop-down-menu menuitem


【解决方案1】:

IE 从 IE9 开始支持 background-size。对于 IE8 及更低版本,您可以尝试background-size polyfill。不过,您的情况似乎根本不需要background-size。 IE9+ 使用rgba(),IE8-使用重复 PNG-24 背景。

【讨论】:

    【解决方案2】:

    由于您的图像是纯色的,您可以删除background-sizebackground-repeat: none(即让它重复)。

    或者,您可以取消 background-image 并使用具有透明度的背景颜色:

    .test {
        background: rgb(255, 255, 255); // solid white fallback for old browsers
        background: rgba(255, 255, 255, 0.5); // 50% transparent white
    }
    

    【讨论】:

    • 这似乎是最干净的解决方案!我用 rgb/rgba 替换了所有。在其他浏览器中一切正常,在 IE 中存在这个问题(背景颜色不被子菜单继承):img254.imageshack.us/img254/5063/provayx.jpg
    • 你把颜色放在li 还是a 上?您可以在实时版本的a 上找到它。看看将其移至 li 是否有帮助。
    • 哦,好的,修复了,这是我的错。在 IE 的后备 CSS 中,我在 #menu-item-XXX 上使用了它,在 a 或 li 上也没有。 :)
    猜你喜欢
    • 2016-10-30
    • 2011-06-20
    • 1970-01-01
    • 2013-05-29
    • 2015-01-04
    • 1970-01-01
    • 2017-03-29
    • 2014-09-10
    • 1970-01-01
    相关资源
    最近更新 更多