0

我有这个 CSS 在 div 中设置背景,但在 IE8 中它显示为透明。我看不出我做错了什么,有什么想法吗?

.drop .holder{
  float:right;
  padding:16px 11px 15px;
  box-shadow:0 0 6px rgba(0,0,0,0.3);
  -webkit-box-shadow:0 0 6px rgba(0,0,0,0.3);
  -moz-box-shadow:0 0 6px rgba(0,0,0,0.3);
  border-bottom:1px solid #a1a1a1;
  background: #fafafa;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZhZmFmYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlOGU4ZTgiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  background: -moz-linear-gradient(top,  #fafafa 0%, #e8e8e8 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fafafa), color-stop(100%,#e8e8e8));
  background: -webkit-linear-gradient(top,  #fafafa 0%,#e8e8e8 100%);
  background: -o-linear-gradient(top,  #fafafa 0%,#e8e8e8 100%);
  background: -ms-linear-gradient(top,  #fafafa 0%,#e8e8e8 100%);
  background: linear-gradient(top,  #fafafa 0%,#e8e8e8 100%);
}
4

1 回答 1

1

这样的东西只适用于现代浏览器,而不是 IE。你需要为 IE 使用像这样的非标准的东西:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#909090')

另请注意,您的数据 url 在 IE 中也不起作用,您的 SVG 在某些版本的 IE 中也不起作用。不过,它们在现代浏览器中可以正常工作。

于 2012-08-15T14:30:23.647 回答