Internet explorer IE 9、8、7中的边界半径问题

Internet explorer IE 9、8、7中的边界半径问题,internet-explorer,css,Internet Explorer,Css,我已附上我用于我的网站的菜单的下图,除IE外,所有其他浏览器都呈现正确的输出: 即使在IE9中,悬停效果也应该是弯曲的,但它会产生矩形效果 Firefox、safari和chrome运行良好: Css 我正在寻找与firefox、chrome和safari相同的行为 .class { border-style: solid; border-width: 2px; -moz-border-radius: 15px; -webkit-border-radius: 15px; borde

我已附上我用于我的网站的菜单的下图,除IE外,所有其他浏览器都呈现正确的输出:

即使在IE9中,悬停效果也应该是弯曲的,但它会产生矩形效果

Firefox、safari和chrome运行良好:

Css

我正在寻找与firefox、chrome和safari相同的行为

.class {
 border-style: solid;
 border-width: 2px;
 -moz-border-radius: 15px;
 -webkit-border-radius: 15px;
 border-radius: 15px;
}
只是一个简单的例子

试试看

.class {
 border-style: solid;
 border-width: 2px;
 -moz-border-radius: 15px;
 -webkit-border-radius: 15px;
 border-radius: 15px;
}

举个简单的例子看看这个项目。它将在IE6到IE9中提供各种CSS3功能;包括圆角。

看看这个项目。它将在IE6到IE9中提供各种CSS3功能;包括圆角。

Internet Explorer 9中的
边框半径不会剪裁Internet Explorer中的渐变过滤器。我能想到的唯一解决方案是使用一个内部
元素并应用渐变:

<nav>
  <ul>
    <li>
      <div class="gradient">Home</div>
    </li>
  </ul>
</nav>

边界半径
应用于
  • 元素,并将渐变应用于
    。这应该给出正确的结果


    正如Salman A提到的,唯一的其他选择是,它解决了这个问题,并且在IE的旧版本中实现了
    边界半径
    。我在几个项目中使用了它,效果非常好。

    Internet Explorer中的渐变过滤器不会被Internet Explorer 9中的
    边界半径
    截断。我能想到的唯一解决方案是使用一个内部
    元素并应用渐变:

    <nav>
      <ul>
        <li>
          <div class="gradient">Home</div>
        </li>
      </ul>
    </nav>
    
    
    
    边界半径
    应用于
  • 元素,并将渐变应用于
    。这应该给出正确的结果


    正如Salman A所提到的,唯一的另一个选择是,它可以解决这个问题,并且在旧版IE中实现
    边界半径
    。我在几个项目中使用了它,效果非常好。

    Twitter Bootstrap做了以下工作来解决这个问题:


    filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)

    Twitter引导程序执行以下操作来解决此问题:



    filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)

    border radius
    是css3时代之前的浏览器,而IE6/7/8是css3时代之前的浏览器。对不起,我忘了添加我正在使用的css,我刚刚上传了它
    border radius
    是css3时代之前的浏览器,而IE6/7/8是css3时代之前的浏览器。对不起,我忘了添加我正在使用的css,我刚刚上传了我忘记添加我正在使用的css,我刚刚上传了我忘记添加我正在使用的css,我刚刚上传了我忘记添加我正在使用的css,我刚刚上传了它,我只是查看了你的CSS,我确信CSS3派将使
    线性渐变
    边界半径
    属性在旧版本的IE中工作。在IE中打开项目主页上的演示,看看它是否能给你预期的结果。+1 CSS3派非常适合这种情况,并将解决您的IE7/8问题。(不确定您遇到的IE9问题;这完全是另一个问题)对不起,我忘记添加我正在使用的css,我刚刚上传了它,我只是查看了你的CSS,我确信CSS3派将使
    线性渐变
    边界半径
    属性在旧版本的IE中工作。在IE中打开项目主页上的演示,看看它是否能给你预期的结果。+1 CSS3派非常适合这种情况,并将解决您的IE7/8问题。(不确定你遇到的IE9问题;这完全是一个独立的问题)这是IE中的一个bug吗?我们是否总是需要使用黑客来解决IE问题,为什么他们不把问题简化为chrome..嗯,听起来可能是IE9 bug。其他浏览器在过去也遇到过这种边界半径的问题(例如Firefox 3.0没有用边界半径剪裁
    标记的角),因此如果这是IE的错误,那么IE没有从其他浏览器的错误中吸取教训是令人沮丧的。@Spudley:我相信这只是因为过滤器已经过时了。它们似乎不会随着IE的每个版本而更新,这也可以解释为什么alpha问题从未通过其他过滤器得到解决。过滤器只会看到一个元素,并重新绘制一个矩形来代替该元素(类似于二进制行为的工作方式)。如果过滤器在IE 11中被弃用甚至失效,我也不会感到惊讶。@AndyE-这也是我的第一个想法,但问题出在IE9中,IE9没有使用
    过滤器
    样式。@Spudley:你说得对,根据文档,它们被弃用:-),
    -ms filter
    仍然需要用于IE 9中的渐变,因为它本身不支持
    线性渐变。IE 10有。这是IE中的一个bug吗?我们总是要用黑客来解决IE的问题,为什么他们不把它变得像chrome一样简单..嗯,听起来可能是IE9的bug。其他浏览器在过去也遇到过这种边界半径的问题(例如Firefox 3.0没有用边界半径剪裁
    标记的角),因此如果这是IE的错误,那么IE没有从其他浏览器的错误中吸取教训是令人沮丧的。@Spudley:我相信这只是因为过滤器已经过时了。它们似乎不会随着IE的每个版本而更新,这也可以解释为什么alpha问题从未通过其他过滤器得到解决。过滤器只会看到一个元素,并重新绘制一个矩形来代替该元素(类似于二进制行为的工作方式)。如果过滤器在IE 11中被弃用甚至失效,我也不会感到惊讶。@AndyE-这也是我的第一个想法,但问题出在IE9中,IE9没有使用
    过滤器
    样式。@Spudley:你说得对,它们是dep