当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > Marquee标记在XHTML代码中该如何用

HTML/XHTML教程
CSS 循序渐进(四)表里春秋
精通 CSS 滤镜(五)
让css使网页图片半透明
实现页面图片阴影特效
发现CSS控件的好处
用CSS缩写给你的网站加速
CSS在IE和Nascape的显示差别
利用CSS,不通过replace替换标引HTML标记
拒绝单调 让网页超链接拥有多姿多彩的下划线
对CSS类及id的规范化命名
利用css里expression来实现界面对象的批量控制
利用CSS控制打印
第一章 CSS的基本认识
第二章 CSS的应用方式
第三章 CSS的应用补充
第四章 颜色背景的CSS
第五章 文字性质的CSS
第六章 区块性质的CSS
HTML之其他标记
HTML之链接标记

HTML/XHTML教程 中的 Marquee标记在XHTML代码中该如何用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-03   浏览: 119 ::
收藏到网摘: n/a

在论坛中看到网友jeanjean20提到Marquee怎么样修改才能符合标准。我看了一下朋友们的跟帖觉得说得都挺好,版主greengnn指明 Marquee是不符合标准的已经被W3C抛弃了。有朋友大打不平的说觉得去得没道理,本来挺好的效果现在变没了。也有朋友说去了好,看着就烦。大家都有 自己的理解角度,但是我们自己怎么理解是一回事,但是我们要弄清楚为什么,在这里我就greengnn的结论之后修改并补充一些内容,希望大家理解并能想通。

首先要更正的一点是:Marquee被W3C抛弃了。这句话其实这是错误的,为什么呢,因为Marquee从来都没有被W3C视 为正式标签使用。W3C从来就没有制定这一标签,就更没有“抛弃”一说。这就好比还没结婚就说离婚一样。其实Marquee与很多其它的标签一样是由微软 与网景等公司私制的,而W3C一直以来都没有承认这一标签。这有钱公司就是有不讲理这点毛病,不过这不盈利的组织就是嘴硬!

为什么 W3C一直不承认Marquee呢?要说这个标签在广大网页设计人员的眼里也算是把螺丝刀啊!在早年还是我们引以为技术力量作为炫耀的资本呢。可现在不主 张用了(这里要题外话:很多人说W3C不许用了,这都是错的,W3C没权限制你不许用或是不能用。),为什么呢那我们要明确这个标准是什么。标准并不是一 项技术,标准只是一种规范与提议。我们用的依然是原来的HTML4.0中的标签,标准没有给我们的XHTML中加入什么标签,而是给出了哪些是推荐使用的 (例:p,div,ul,dl,span,em…),哪些是主张不使用的(例:font,b,u,i…),并且主张了要语义化与使用规范。当然标准不只是 XHTML同时还包括了CSS与DOM还有脚本语言。很多人以为CSS是标准后才产生的,其实不是,CSS很早就有了,标准之于CSS也是一样,主张不使 用一些浏览器厂商制定的一些CSS,比如CSS滤镜。

在标准中还有很重要的一点,那就是功能性分离。分成为结构、样式、行为三个部 分,这三个部分分别包括了,结构(xHTML、XML),样工(CSS),行为(DOM、ECMAScript)。到这里我们返回来想想那个 Marquee为什么不被W3C所承认,我想大家伙都应明白了。他与FONT、B等标签一样已经不是结构性标签了。他们中带有了样式与行为特性,再把他们 划在结构的范畴里很明显是多多余了。

所以,大家希望Marquee的效果能被保留或是实现就需要多多关注一下JavaScript,脚本语言一定能让你的网页动起来。要想让你指定的地方动起来当然要注重标签中的ID与CLASS的使用。

为了方便大家使用这个有意思的效果,我特意请嗷嗷写了一段JS,看以下代码:

JS代码:

代码如下:

function getElementsByClass(searchClass,tagName) {
var classElements = new Array();
if ( tagName == null )
tagName = '*';
var els = document.getElementsByTagName(tagName);
var elsLen = els.length;
var pattern = new RegExp("(^|\s)" searchClass "(\s|$)");
for (i = 0, j = 0; i < elsLen; i ) {
if ( pattern.test(els[i].className) ) {
classElements[j] = els[i];
j ;
}
}
return classElements;
}
function ccMarquee(className){
var a=getElementsByClass(className);
for (i = 0; i < a.length; i ) {
a[i].innerHTML="<marquee>" a[i].innerHTML "</marquee>";
}
}window.onload = function () {
ccMarquee("ccMarquee");
}

XHTML代码:


代码如下:

<div class="ccMarquee">
<a href="" title="">这里是滚动的</a>
</div>

请大家注重,需要用到滚动效果的地方只要在其何外围的标签上加上Class="ccMarquee"即可。注重大小写。

附: <marquee>标签属性详解

请大家先看下面这段代码


代码如下:

<marquee direction=up behavior=scroll loop=3 scrollamount=1 scrolldelay=10 align=top bgcolor=#ffffff height=300 width=30% hspace=20 vspace=10 onmouseover=this.stop() onmouseout=this.start()> 此处输入滚动内容 </marquee>

现在让我们来具体分析一下

◎ direction表示滚动的方向,值可以是left,right,up,down,默认为left
◎ behavior表示滚动的方式,值可以是scroll(连续滚动)slide(滑动一次)alternate(往返滚动)
◎ loop表示循环的次数,值是正整数,默认为无限循环
◎ scrollamount表示运动速度,值是正整数,默认为6
◎ scrolldelay表示停顿时间,值是正整数,默认为0,单位似乎是毫秒
◎ align表示元素的垂直对齐方式,值可以是top,middle,bottom,默认为middle
◎ bgcolor表示运动区域的背景色,值是16进制的RGB颜色,默认为白色
◎ height、width表示运动区域的高度和宽度,值是正整数(单位是像素)或百分数,默认width=100% height为标签内元素的高度
◎ hspace、vspace表示元素到区域边界的水平距离和垂直距离,值是正整数,单位是像素。
◎ onmouseover=this.stop() onmouseout=this.start()表示当鼠标以上区域的时候滚动停止,当鼠标移开的时候又继续滚动。