如果浏览器忽略它们不理解的 CSS,为什么还要使用 Modernizr?
题
我一直在与 现代化 这是一个很棒的资源,也是一个很棒的项目。然而,我一直使用它的方式是:
- 使用基线 (IE) CSS 进行设计
- 增强高级浏览器的 CSS3 效果
除非我要完全替换基于行为的样式,否则为什么我不应该在样式表中添加诸如框阴影、渐变和边框半径之类的样式?如果浏览器不理解规则,它就会忽略它,对吗?如果 JavaScript 关闭,我无论如何也无法使用它。
我应该在典型案例中使用上述方法,而在高级案例中使用 Modernizr 吗?或者依赖浏览器来忽略它们不理解的内容是否有问题?
解决方案
您可以使用某些浏览器尚不支持的 (html 5) 元素。您还可以指定后备样式。
许多浏览器为文本转换等内容创建了自己的 CSS 规则。使用 Modernizr,您可以编写一条规则,Modernizr 可以在多个浏览器上实现这一点。
我认为这只是方便。
其他提示
你说得对,旧版浏览器完全忽略了 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');
}
我希望这能让事情变得更清楚。
不隶属于 StackOverflow