我有这个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%);
}

最佳答案

这样的事情仅适用于现代浏览器,而不适用于IE。您需要为IE使用这样的非标准内容:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#909090')

另请注意,您的数据网址也无法在IE中使用,并且您的SVG在某些版本的IE中也将无法使用。但是,它们将在现代浏览器中正常工作。

10-08 19:51