7

我一直在与Modernizr合作,它是一个很棒的资源,一个很棒的项目。但是,我一直在使用它的方式是:

  • 使用基线 (IE) CSS 进行设计
  • 为高级浏览器增强 CSS3 效果

除非我打算完全替换基于行为的样式,否则我为什么不只在样式表中添加诸如框阴影、渐变和边框半径之类的样式呢?如果浏览器不理解规则,它会忽略它,对吗?如果 JavaScript 关闭,我无论如何也不能使用它。

我应该在典型案例中使用上述方法,而在高级案例中使用 Modernizr 吗?或者依靠浏览器忽略他们不理解的东西有什么问题吗?

4

2 回答 2

16

您完全正确,旧版浏览器完全无视 CSS3 中的大部分内容。

正因为如此,我在我的基本选择器中使用我的 css3.. 但经常使用modernizr 的无功能类来处理旧的浏览器案例:

div.box { 
         height:50px; 
         -moz-box-shadow: 3px 3px 5px #555; 
         -webkit-box-shadow: 3px 3px 5px #555; }

div.box span.fakeshadow { 
         display:none; 
}

.no-boxshadow div.box span.fakeshadow { 
         display:block; background: url('fakeshadowbg.png'); 
}

我希望这更清楚。

于 2009-12-09T04:08:54.793 回答
6

您可以使用某些浏览器尚不支持的 (html 5) 元素。您还可以指定后备样式。

许多浏览器为诸如文本转换之类的东西创建了自己的 CSS 规则。使用 Modernizr,您可以编写一条规则,Modernizr 使其适用于多个浏览器。

我认为这只是方便。

于 2009-11-17T16:17:15.477 回答