6

我对 CSS 中的反射等还是很陌生,所以对此有一些问题。对于主页,我被告知我需要反映文本,然后是图像(以及后面的复杂阴影,但这在我的待办事项列表中)。

对于 chrome/safari (webkit) 我有

-webkit-box-reflect: 低于 0px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(70%, transparent), to(rgba(255,255,255,0.2)));

看起来很不错......但是......显然它只适用于 chrome/safari。我将如何在 Internet Explorer(如果可能的话,7/8/9)和 Firefox 中获得相同的效果?

谢谢,尼古拉斯卡特

4

2 回答 2

4

您应该使用-moz-elementFirefox 的属性。

为了反思,它将是:

#reflection {
  /* It's a copy of the original element... */
  background: -moz-element(#reflected-element)
              bottom left no-repeat;

  /* ... turned upside down ... */
  -moz-transform: scaleY(-1);

  /* ... with a gradual fade-out effect towards the bottom. */
  mask: url(#reflection-mask);
}

什么是-moz-元素?

参考

于 2012-09-22T16:34:21.943 回答
2

也许你可以用这个插件提供一个 jQuery 后备。

本教程还讨论了跨浏览器反射


要定位不支持反射的浏览器,您可以使用Modernizr

此版本: http: //modernizr.com/download/#-cssreflections-cssclasses-testprop-testallprops-domprefixesno-cssreflections将向您的页面<html>标签添加一个类。

然后,您可以添加特定的 CSS 规则:

.no-cssreflections #element-id {
    /* custom CSS rule */
}

或通过 JavaScript:

if(!Modernizr.cssreflections){
    /* run plugin or whatever */
}
于 2012-09-22T16:31:30.743 回答