0

我使用了很多 CSS3,我想要 2 个 css 版本:一个包含所有 css3,一个没有。我知道我可以简单地删除声明,但我想知道是否有另一种方法来禁用它们。具体来说,我想禁用 text-shadow、box-shadow 和border-radius。

谢谢。

4

4 回答 4

6

您可以使用一个名为deCSS3的小书签

它会关闭你所有的 css3 功能(好吧不是“全部”,这里记录了支持的 CSS3 功能的白名单。如果你喜欢,你也可以重新打开 CSS3。

作为奖励:如果您使用的是 Modernizr,它也会关闭这些值,因此您的.no-boxshadow课程会被选中。

对于想知道您为什么要这样做的人。这个工作流程非常好,因此您可以完全在 Chrome 中进行开发,但快速查看您的 lo-fi 版本(您将服务于 IE7、IE8)会是什么样子.

这是使用 deCSS3 的前后对比:

于 2012-05-17T18:02:44.407 回答
2

你不能禁用它们,你所能做的就是使用 CSS 覆盖样式:

body * {
   text-shadow:none;
   ...etc...
}

(嘿,我从来没有说过这样做是个好主意,但它会起作用)

编辑:这个答案让我走上了正轨;谢谢。这是解决方案:

创建一个名为 NoCSS3 的类,定义如下:

.NoCSS3 * {
    text-shadow: none !important;
    box-shadow: none !important;
    border-radius: 0px !important;}

然后在 javascript 中,添加这一行:

$('body').addClass('NoCSS3');

你完成了!

于 2012-05-17T17:55:23.200 回答
1

您还可以查看HeadJS提供的CSS 现代化功能。

也可用于许多其他功能。

于 2012-05-17T18:00:15.993 回答
0

您是否尝试过看看modernizr?这是一个 javascript 库,用于检测客户端可用的内容并采取相应的行为。看起来像你在找什么。你可以在这里找到一个很好的介绍

于 2012-05-17T17:56:36.273 回答