我想将图像插入选取框标签。
我写了以下代码:
<marquee scrollamount="4" behavior="alternate" direction="right" width="300"><img width="180px" style="padding-left:30px;opacity:0.7" src="img/cloud3.png"></marquee>
它在 Firefox 和 IE 中运行良好,但在 chrome 中无法运行。问题是什么。?请尽快回复。提前致谢。
我想将图像插入选取框标签。
我写了以下代码:
<marquee scrollamount="4" behavior="alternate" direction="right" width="300"><img width="180px" style="padding-left:30px;opacity:0.7" src="img/cloud3.png"></marquee>
它在 Firefox 和 IE 中运行良好,但在 chrome 中无法运行。问题是什么。?请尽快回复。提前致谢。
因为marquee标签是对自然的犯罪。并且在较新版本的 Chrome 中不再支持它。
该marquee元素有不同的实现,部分原因是它没有发布的规范。在 HTML5 中,元素被精确定义,HTML5 草案需要支持marquee那里定义的内容。(草案还声明它“过时”和“不合格”,但这只是他们对作者说的;对实现的要求是不同的。)但是,在支持方面仍然存在限制和差异,请参见例如MDN onmarquee。
在这种情况下,似乎不是图像,而是behavior="alternate"导致问题的属性。如果您删除它,图像也会在 Chrome 上移动。
这显然是实现错误而不是缺乏支持。在 Chrome 中检查 DOM 显示该behavior属性具有alternate指定的值,但它不起作用。如果您marquee在 CSS 中为元素添加边框,则图像开始交替移动,但仅左右移动几个像素。
如果你真的改变方向,最好使用其他一些技术来代替marquee. 例如,可以使用 JavaScript 实现简单的运动图像,使用计时器循环更改位置,然后您也可以轻松实现交替方向。或者,可能更简单但不那么健壮(由于浏览器支持有限),您可以使用 CSS3 动画。
HTML:
<div id="cloud">image</div>
CSS:
#cloud{
width:180px;
padding-left:30px;
opacity:0.7;
animation:slide 10s infinite;
-moz-animation:slide 10s infinite;//Firefox
-webkit-animation:slide 10s infinite;//chrome and safari
-o-animation: slide 10s infinite;//Opera
}
@keyframes slide{
0% {-transform: translate(0px, 0px); }
100% {-transform: translate(500px,0px); }
}
@-moz-keyframes spin{
0% {-moz-transform: translate(0px, 0px); }
100% {-moz-transform: translate(500px, 0px); }
}
@-webkit-keyframes slide{
0% {-webkit-transform: translate(0px, 0px); }
100% { -webkit-transform: translate(500px,0px); }
}
@-o-keyframes slide{
0% {-o-transform: translate(0px, 0px); }
100% {-o-transform: translate(500px, 0px); }
}
这是小提琴:
用图片替换文字。
Marquee 已被弃用,因此将在不同的浏览器上显示未指定的行为。
谁说没有?
在 Chromium 83.0.4103.61(官方构建)上构建在 Ubuntu 上,在 Ubuntu 18.04(64 位)上运行,它可以完美运行。
不过,没有在 Chrome 上测试。