CSS依赖于ActiveX?

只要启用了ActiveX,我的页面就可以在FF,Chrome,Safari甚至IE8中运行。 [已删除链接] 为了获得在IE8中工作的CSS3功能(旋转,不透明度,文本阴影),我不得不使用ActiveX过滤器。我的问题是,当你第一次访问该网站时,它会弹出一个顶部的横幅,用户必须单击,然后单击“允许”,然后单击“确定”。我不认为大多数IE用户会这样做。 所以我想通过向下移动标题(我的名字)并给它一个纯色背景,使IE8(在ActiveX之前)的默认布局看起来像样。但是,如果我添加这些样式,如果用户启用ActiveX,则会使页面看起来很糟糕。 我似乎无法为此考虑CSS解决方法,有没有人有任何想法? 谢谢! 杰夫 编辑:澄清,我不是试图在没有过滤器的IE8中工作旋转,不透明等。请参阅对Olafur的回应以澄清......     
已邀请:
首先,好消息是:   我的问题是,当你第一次访问该网站时,它会弹出一个顶部的横幅,用户必须单击,然后单击“允许”,然后单击“确定”。我不认为大多数IE用户会这样做。 大多数IE用户不必这样做,因为“运行ActiveX控件和插件”的默认安全设置是“启用”。我怀疑您是否看到它,因为您或您的网络管理员故意锁定您的安装上的ActiveX。 现在是坏消息 - 我不确定是否会有任何方法来测试ActiveX而不会触发默认情况下未启用它的人的警告消息。但是,如果你可以为它进行可靠的测试(不知道具体如何,但是应用过滤器的一些变化然后检查是否应用它应该有效),应用这些样式应该相对容易一点JavaScript的。 以正常方式声明页面的默认规则,没有任何旋转,不透明度或文本阴影:
h1 {...}
p {...}
在页面加载时运行例程以检测是否支持ActiveX,如果它是动态地向body元素添加类,例如
ax-en
。同时在你的样式表中你有这样的规则:
.ax-en h1 { /* -ms-filter stuff and associated rules */ }
.ax-en p { /* -ms-filter stuff and associated rules */ }
这基本上是modernizr.js使用的方法,阅读本文以获得对一般策略的更长解释。     
这些只是ActiveX过滤器,我认为没有任何可用的可以通过CSS做同样的效果。     
旋转,不透明度和文本阴影:不,你不能这样做。您必须使用在IE8中使用ActiveX的CSSѭ3声明。 但是对于其他功能 - 边框阴影,边框半径等,我建议您查看CSS3Pie,它允许您在IE中支持CSS中的许多现代浏览器功能(即使在非常讨厌的IE6中)。 当IE9发布时,你将能够在标准CSS中完成所有这些功能,但这还不会持续一段时间,你仍然需要在未来一段时间内处理IE8(以及IE6和IE7),即使IE9发布了。     

要回复问题请先登录注册