如何加载css3饼只为ie7和8?但不是9



这是使用CSS3的css

border: 1px solid #696;
padding: 60px 0;
text-align: center; width: 200px;
-webkit-border-radius: 12px;
-moz-border-radius: 12px;
border-radius: 12px;
background: #EEFF99;
behavior: url(/PIE.htc);
特别

behavior: url(/PIE.htc);

我的问题是这将是PIE。所有浏览器都可以下载htc还是只在ie7和ie8中下载?

我也需要在IE7和8中显示圆角。所以我认为,而不是使用Modernizr和编写另一个类和圆角图像,CSS3 PIE将是一个很好的解决方案,因为无论何时我们将改变颜色和边界的厚度和元素的高度PIE。htc将在IE7和ie8中呈现相同的效果。但是在Modernizr和and image的情况下,我们将不得不使用upload new image for new,我们将不得不更改并上传新的更改

因为我使用的是Modernizr,所以我不能在条件注释中加载,即使我不需要,它也会为每个浏览器加载。所以我想,如果CSS3 PIE是好的灵活性,如果它只会加载到IE7和ie8,这将是很好的使用在这个特殊的情况下。

behavior不是一个有效的CSS属性,它将被ie以外的浏览器忽略。他们将而不是下载PIE。htc文件。

您提到您不能加载条件注释,但是如果您可以使用条件注释(?),那么您可以使用以下技巧:

<!doctype html>
<!--[if IE 7]><html class="ie7"><![endif]-->
<!--[if IE 8]><html class="ie8"><![endif]-->
<!--[if gt IE 8]><!--><html><!--<![endif]-->
<head>

在这个例子中,你使用了条件注释,但是你没有在注释中加载任何东西。您只是向<html> -元素添加了一个特定于浏览器的类。现在你可以在你的CSS中这样做:

.some-class {
  border-radius: 12px;
}
.ie7 .some-class, .ie8 .some-class {
  behavior: url(/PIE.htc);
}

最新更新