这是使用CSS3 PIE的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是由所有浏览器下载还是仅在IE 7和8中下载?
我需要在IE7和8中显示圆角。因此我认为不是使用Modernizr而是为圆角编写另一个类和图像,CSS3 PIE将是很好的解决方案,因为无论何时我们将改变边框的颜色和厚度以及元素PIE.htc的高度将在IE7和8中呈现相同。但对于Modernizr和图像,我们将不得不使用上传新图像,我们将不得不更改并上传新的更改。
因为我正在使用Modernizr,所以我无法加载条件注释,它会为每个浏览器加载,即使我不需要。所以我认为如果CSS3 PIE有利于灵活性,如果它只加载到IE7和8,那么在这种特殊情况下使用它会很好。
答案 0 :(得分:9)
behavior
不是有效的CSS属性,将被Internet Explorer以外的浏览器忽略。他们将不下载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);
}