11

我知道<marquee>标签是邪恶的。
如果滚动文本这么糟糕,那么使用 JS 来获得相同的效果并不能让它变得更好,对吧?

假设我决定有一些滚动文本(喘气),是否有某种类型的 CSS(3?)或 HTML(5?)方法来做到这一点在技术上是正确的(即不被弃用)?

如果没有 CSS/HTML 解决方案,我应该使用:

  • Javascript,下载起来会更重,可能会被关闭(这是赞成还是反对?),但我得到了 W3C 正确、有效、不被弃用和聪明的好处,

还是我应该使用

  • 讨厌的<marquee>(<blink><blink>) 标签,它是轻量级的(19 字节!),所有浏览器在所有呈现模式和所有 doctype 中都完全支持(即使它不应该如此),但被弃用了吗?

谢谢。

PS 我认为新闻自动收报机是选框式
PPS 的有效用途如果有人告诉我,如果我不想要繁重的 Javascript 解决方案,我应该使用 JQuery,因为它是轻量级的,我会在评论中拍摄它们

编辑:我正在添加 JQuery 标记,因为这似乎是引起许多 JS 问题专家关注的最佳方式,而且这里并非完全不相关。


第一个 alpha 公告提供了自 Drupal 6 以来所做的高级改进的完整列表。

明智的主题是您希望查看有关6.x 和 7.x 之间差异的文档

4

6 回答 6

6

不好的不是效果。marquee、blink 和 font 标签的问题在于它们传达的不是内容的结构。

于 2010-12-12T19:58:56.953 回答
5

CSS3 支持选取框,但仅在少数浏览器中支持(据我所知,只有 Safari 和 Chrome)

http://www.w3.org/TR/css3-marquee/

有几个 JQuery 插件可以完成它,但它们是以加载 JQuery 为代价的(26Kb,比仅 HTML 的解决方案重,但不是我所说的重)

http://plugins.jquery.com/plugin-tags/marquee

当然,不用 JQuery 也可以自己轻松完成,但看看这些插件可能会给你一些想法。

另一个需要考虑的选择是制作一个小的 Flash 动画。

于 2010-12-12T20:04:08.623 回答
0

我一直在寻找最有效跨浏览器支持的字幕实现。无论出于何种原因,即使是 webkit CSS marquee 实现也是有问题的。

常见的做法是使用计时器(或 jQuery animate 实现)来调整元素的 CSS 边距属性。这太有问题了,而且效率很低。我想出了在支持它的浏览器上使用 CSS3 转换的实现,并以其他方式scrollLeft为包含元素的属性设置动画。这是一个实验性的实现,尽管它在 IE7+ 上运行良好。其他人也可能会觉得它很有用,https://github.com/gajus/marquee(演示https://dev.anuary.com/60244f3a-b8b2-5678-bce5-f7e8742f0c69/)。

于 2013-01-11T19:56:35.143 回答
0

如果您确定它适用于您所针对的所有平台,并且您不在乎 w3c 说什么,您当然可以使用 marquee 标签。您无法找到在 14 个字节以下运行的 JavaScript 解决方案。

唯一不幸的是,所有这些浏览器都支持所有这些已弃用的元素——在这种情况下——甚至不属于任何 HTML 标准的原因,是因为所有这些人都在使用这些元素,并在新版本不支持时开始抱怨不再支持他们 1982 年兼容的网站。

因此,请继续使用 marquee,只要它适合您,但如果您的站点停止在较新的浏览器中工作,请不要抱怨。

于 2010-12-12T20:00:05.487 回答
0

这是在 Firefox 中实现 marquee 元素的代码,它基本上是在 JavaScript 中实现的,因此您始终可以调整该代码并直接在所有浏览器中使用它。

该代码可以被修改,以便可以在 Firefox 中的任何元素上实现选取框,通过 CSS 和 XBL 绑定应用(仅 Firefox 示例)。IE 中的等价物是behavior,您可以按照 nico 的建议在 Safari/Chrome 中使用 CSS3,并且您可以将表现性的东西排除在您的标记之外,但只有您才能知道它是否值得付出努力。

于 2010-12-13T04:05:54.240 回答
0

最近,我不得不为一个客户做这个效果,我使用了这个非常容易使用的插件:

github 上的 jQuery Marquee 插件

plugins.jquery.com 上的 jQuery Marquee

于 2013-02-12T16:27:26.827 回答