我使用了很多 CSS3,我想要 2 个 css 版本:一个包含所有 css3,一个没有。我知道我可以简单地删除声明,但我想知道是否有另一种方法来禁用它们。具体来说,我想禁用 text-shadow、box-shadow 和border-radius。
谢谢。
我使用了很多 CSS3,我想要 2 个 css 版本:一个包含所有 css3,一个没有。我知道我可以简单地删除声明,但我想知道是否有另一种方法来禁用它们。具体来说,我想禁用 text-shadow、box-shadow 和border-radius。
谢谢。
您可以使用一个名为deCSS3的小书签
它会关闭你所有的 css3 功能(好吧不是“全部”,这里记录了支持的 CSS3 功能的白名单。如果你喜欢,你也可以重新打开 CSS3。
作为奖励:如果您使用的是 Modernizr,它也会关闭这些值,因此您的.no-boxshadow
课程会被选中。
对于想知道您为什么要这样做的人。这个工作流程非常好,因此您可以完全在 Chrome 中进行开发,但快速查看您的 lo-fi 版本(您将服务于 IE7、IE8)会是什么样子.
这是使用 deCSS3 的前后对比:
你不能禁用它们,你所能做的就是使用 CSS 覆盖样式:
body * {
text-shadow:none;
...etc...
}
(嘿,我从来没有说过这样做是个好主意,但它会起作用)
编辑:这个答案让我走上了正轨;谢谢。这是解决方案:
创建一个名为 NoCSS3 的类,定义如下:
.NoCSS3 * {
text-shadow: none !important;
box-shadow: none !important;
border-radius: 0px !important;}
然后在 javascript 中,添加这一行:
$('body').addClass('NoCSS3');
你完成了!
您还可以查看HeadJS提供的CSS 现代化功能。
也可用于许多其他功能。
您是否尝试过看看modernizr?这是一个 javascript 库,用于检测客户端可用的内容并采取相应的行为。看起来像你在找什么。你可以在这里找到一个很好的介绍