边界半径不适用于I.E.?

时间:2012-11-07 15:18:23

标签: css css3

的CSS

border-bottom: 1px solid silver;
background-color: #000;
background: rgb(51,51,51); /* Old browsers */
background: -moz-linear-gradient(top, rgba(51,51,51,1) 0%, rgba(153,153,153,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(51,51,51,1)), color-stop(100%,rgba(153,153,153,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(51,51,51,1) 0%,rgba(153,153,153,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(51,51,51,1) 0%,rgba(153,153,153,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(51,51,51,1) 0%,rgba(153,153,153,1) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(51,51,51,1) 0%,rgba(153,153,153,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#333333', endColorstr='#999999',GradientType=0 ); /* IE6-9 */
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;

Chrome和FireFox输出:

enter image description here

即。输出:

enter image description here

这有什么问题?我找不到任何想法。我该如何解决呢?

感谢。

4 个答案:

答案 0 :(得分:3)

filter是问题所在:

filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#333333', endColorstr='#999999',GradientType=0 ); /* IE6-9 */

使用filter提供背景渐变会使border-radius无效。所以它是圆角或IE9上的花哨背景。对不起。 :)

开玩笑......开玩笑吧。你可以使用另一个盒子阴影!

box-shadow: inset 0 -1em 1em -0.5em rgba(0, 0, 0, 0.8);

调整直到你得到一个看起来像渐变的东西。

答案 1 :(得分:1)

仅在IE9 +

上支持

border-radius

有关未来的浏览器兼容性信息,请参阅caniuse.com

http://caniuse.com/#search=border-radius

答案 2 :(得分:1)

.round {
  /* Safari 3-4, iOS 1-3.2, Android 1.6- */
  -webkit-border-radius: 12px; 

  /* Firefox 1-3.6 */
  -moz-border-radius:    12px; 

  /* Opera 10.5, IE 9, Safari 5, Chrome, Firefox 4, iOS 4, Android 2.1+ */
  border-radius: 12px; 
}

答案 3 :(得分:0)

IE 7& 8。 在IE 7和IE中,你仍然可以同时拥有border-radius和linear-gradient。 8使用PIE.HTC - Progressive Internet Explorer HTML Component。它还支持渐变。所以不要使用过滤器。