4

我继承了一个应用程序,用户可以在其中插入自己的 HTML 响应。我只能为这个应用程序设置一个全局 CSS 文件和一个全局 JS 文件。最近,一些用户觉醒了一个古老的邪恶,被称为<marquee><blink>标签。

我不能在输入或输出上去掉标签,我至少可以用 CSS 规则解除它们吗?

blink {
    text-decoration: none;
}

上面去掉了闪烁效果,有没有类似的方法可以用CSS来禁用跑马灯效果?

如果最坏的情况发生,我可以使用marquee { display:none },但有时用户会将有用的信息放在该标签中;我在那里没有足够的筹码来争论“如果它是选框,则根据定义它是不重要的”(这在其他地方已经是足够好的近似值了)。

还是我试图通过技术手段解决非技术问题,我是否应该教育(内部)用户关于不应被调用的邪恶?


事实证明,没有纯 CSS 的跨浏览器解决方案。我将不得不更加努力,JS 方式 - 可能用 span 替换 marquee。

4

2 回答 2

5

这对你有用吗?

marquee { overflow:visible; -moz-binding:none; }

有关更多信息,请访问使用 css 禁用已弃用的 html

于 2009-06-07T19:14:55.793 回答
4

没有 CSS 唯一的跨浏览器解决方案。相关属性最早是在CSS3中引入的。一些用户代理可能已经实现了它。例如,在 Webkit 中,您可以使用-webkit-marquee*properties。在 Gecko 中,设置-moz-binding: none同样有效,尽管其最初目的不同。

否则,完全隐藏所有marquees 表示用户不要使用该元素,因为它不再工作。

无论如何,您可以将marqueeDOM 中的所有元素替换为spans 与 JavaScript。

于 2009-06-07T18:40:06.580 回答