Marquee為什么不符合WEB標(biāo)準(zhǔn)?_Div+CSS教程
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!
在經(jīng)典論壇中看到網(wǎng)友jeanjean20提到Marquee怎么樣修改才能符合標(biāo)準(zhǔn)。我看了一下朋友們的跟帖覺(jué)得說(shuō)得都挺好,版主greengnn指明Marquee是不符合標(biāo)準(zhǔn)的已經(jīng)被W3C拋棄了。有朋友大打不平的說(shuō)覺(jué)得去得沒(méi)道理,本來(lái)挺好的效果現(xiàn)在變沒(méi)了。也有朋友說(shuō)去了好,看著就煩。大家都有自己的理解角度,但是我們自己怎么理解是一回事,但是我們要弄清楚為什么,在這里我就greengnn的結(jié)論之后修改并補(bǔ)充一些內(nèi)容,希望大家理解并能想通。
首先要更正的一點(diǎn)是:Marquee被W3C拋棄了。這句話其實(shí)這是錯(cuò)誤的,為什么呢,因?yàn)镸arquee從來(lái)都沒(méi)有被W3C視為正式標(biāo)簽使用。W3C從來(lái)就沒(méi)有制定這一標(biāo)簽,就更沒(méi)有“拋棄”一說(shuō)。這就好比還沒(méi)結(jié)婚就說(shuō)離婚一樣。其實(shí)Marquee與很多其它的標(biāo)簽一樣是由微軟與網(wǎng)景等公司私制的,而W3C一直以來(lái)都沒(méi)有承認(rèn)這一標(biāo)簽。這有錢公司就是有不講理這點(diǎn)毛病,不過(guò)這不盈利的組織就是嘴硬!
為什么W3C一直不承認(rèn)Marquee呢?要說(shuō)這個(gè)標(biāo)簽在廣大網(wǎng)頁(yè)設(shè)計(jì)人員的眼里也算是把螺絲刀啊!在早年還是我們引以為技術(shù)力量作為炫耀的資本呢。可現(xiàn)在不主張用了(這里要題外話:很多人說(shuō)W3C不許用了,這都是錯(cuò)的,W3C沒(méi)權(quán)限制你不許用或是不能用。),為什么呢那我們要明確這個(gè)標(biāo)準(zhǔn)是什么。標(biāo)準(zhǔn)并不是一項(xiàng)技術(shù),標(biāo)準(zhǔn)只是一種規(guī)范與提議。我們用的依然是原來(lái)的HTML4.0中的標(biāo)簽,標(biāo)準(zhǔn)沒(méi)有給我們的XHTML中加入什么標(biāo)簽,而是給出了哪些是推薦使用的(例:p,div,ul,dl,span,em…),哪些是主張不使用的(例:font,b,u,i…),并且主張了要語(yǔ)義化與使用規(guī)范。當(dāng)然標(biāo)準(zhǔn)不只是XHTML同時(shí)還包括了CSS與DOM還有腳本語(yǔ)言。很多人以為CSS是標(biāo)準(zhǔn)后才產(chǎn)生的,其實(shí)不是,CSS很早就有了,標(biāo)準(zhǔn)之于CSS也是一樣,主張不使用一些瀏覽器廠商制定的一些CSS,比如CSS濾鏡。
在標(biāo)準(zhǔn)中還有很重要的一點(diǎn),那就是功能性分離。分成為結(jié)構(gòu)、樣式、行為三個(gè)部分,這三個(gè)部分分別包括了,結(jié)構(gòu)(xHTML、XML),樣工(CSS),行為(DOM、ECMAScript)。到這里我們返回來(lái)想想那個(gè)Marquee為什么不被W3C所承認(rèn),我想大家伙都應(yīng)明白了。他與FONT、B等標(biāo)簽一樣已經(jīng)不是結(jié)構(gòu)性標(biāo)簽了。他們中帶有了樣式與行為特性,再把他們劃在結(jié)構(gòu)的范疇里很明顯是多多余了。
所以,大家希望Marquee的效果能被保留或是實(shí)現(xiàn)就需要多多關(guān)注一下JavaScript,腳本語(yǔ)言一定能讓你的網(wǎng)頁(yè)動(dòng)起來(lái)。要想讓你指定的地方動(dòng)起來(lái)當(dāng)然要注重標(biāo)簽中的ID與CLASS的使用。
為了方便大家使用這個(gè)有意思的效果,我特意請(qǐng)嗷嗷寫了一段JS,看以下代碼:
JS代碼:
示例代碼 [www.wf0088.com]
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");
}
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代碼:
示例代碼 [www.wf0088.com]
<div class="ccMarquee">
<a href="" title="">這里是滾動(dòng)的</a>
</div>
<a href="" title="">這里是滾動(dòng)的</a>
</div>
請(qǐng)大家注重,需要用到滾動(dòng)效果的地方只要在其何外圍的標(biāo)簽上加上Class="ccMarquee"即可。注重大小寫。
附: <marquee>標(biāo)簽屬性詳解
請(qǐng)大家先看下面這段代碼
示例代碼 [www.wf0088.com]
<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()> 此處輸入滾動(dòng)內(nèi)容 </marquee>
現(xiàn)在讓我們來(lái)具體分析一下
示例代碼 [www.wf0088.com]
◎ direction表示滾動(dòng)的方向,值可以是left,right,up,down,默認(rèn)為left
◎ behavior表示滾動(dòng)的方式,值可以是scroll(連續(xù)滾動(dòng))slide(滑動(dòng)一次)alternate(往返滾動(dòng))
◎ loop表示循環(huán)的次數(shù),值是正整數(shù),默認(rèn)為無(wú)限循環(huán)
◎ scrollamount表示運(yùn)動(dòng)速度,值是正整數(shù),默認(rèn)為6
◎ scrolldelay表示停頓時(shí)間,值是正整數(shù),默認(rèn)為0,單位似乎是毫秒
◎ align表示元素的垂直對(duì)齊方式,值可以是top,middle,bottom,默認(rèn)為middle
◎ bgcolor表示運(yùn)動(dòng)區(qū)域的背景色,值是16進(jìn)制的RGB顏色,默認(rèn)為白色
◎ height、width表示運(yùn)動(dòng)區(qū)域的高度和寬度,值是正整數(shù)(單位是像素)或百分?jǐn)?shù),默認(rèn)width=100% height為標(biāo)簽內(nèi)元素的高度
◎ hspace、vspace表示元素到區(qū)域邊界的水平距離和垂直距離,值是正整數(shù),單位是像素。
◎ onmouseover=this.stop() onmouseout=this.start()表示當(dāng)鼠標(biāo)以上區(qū)域的時(shí)候滾動(dòng)停止,當(dāng)鼠標(biāo)移開(kāi)的時(shí)候又繼續(xù)滾動(dòng)。
◎ behavior表示滾動(dòng)的方式,值可以是scroll(連續(xù)滾動(dòng))slide(滑動(dòng)一次)alternate(往返滾動(dòng))
◎ loop表示循環(huán)的次數(shù),值是正整數(shù),默認(rèn)為無(wú)限循環(huán)
◎ scrollamount表示運(yùn)動(dòng)速度,值是正整數(shù),默認(rèn)為6
◎ scrolldelay表示停頓時(shí)間,值是正整數(shù),默認(rèn)為0,單位似乎是毫秒
◎ align表示元素的垂直對(duì)齊方式,值可以是top,middle,bottom,默認(rèn)為middle
◎ bgcolor表示運(yùn)動(dòng)區(qū)域的背景色,值是16進(jìn)制的RGB顏色,默認(rèn)為白色
◎ height、width表示運(yùn)動(dòng)區(qū)域的高度和寬度,值是正整數(shù)(單位是像素)或百分?jǐn)?shù),默認(rèn)width=100% height為標(biāo)簽內(nèi)元素的高度
◎ hspace、vspace表示元素到區(qū)域邊界的水平距離和垂直距離,值是正整數(shù),單位是像素。
◎ onmouseover=this.stop() onmouseout=this.start()表示當(dāng)鼠標(biāo)以上區(qū)域的時(shí)候滾動(dòng)停止,當(dāng)鼠標(biāo)移開(kāi)的時(shí)候又繼續(xù)滾動(dòng)。
相關(guān)Div+CSS教程:
- DIV+CSS設(shè)計(jì)的誤區(qū)
- CSS基礎(chǔ):常用CSS英文字體介紹
- IE6和IE7中border邊框斷線現(xiàn)象
- border:none;與border:0;的有什么不同?
- div+css下js對(duì)聯(lián)廣告不隨屏幕滾動(dòng)的解決方法
- HTML元素的ID和Name屬性的區(qū)別
- divcss教程:深入了解css的行高Line Height屬性
- CSS文檔流,塊級(jí)元素和內(nèi)聯(lián)元素
- 5個(gè)你該知道的CSS3新技術(shù)
- 用正則表達(dá)式替換a標(biāo)記href值
- 30個(gè)優(yōu)秀的CSS導(dǎo)航和按鈕設(shè)計(jì)教程
- css中px和em有什么區(qū)別
Div+CSS教程Rss訂閱Div+Css教程搜索
Div+CSS教程推薦
猜你也喜歡看這些
- CSS折疊菜單一例:可自由伸縮折疊
- CSS實(shí)例:kijiji社區(qū)頭像CSS效果
- DIV CSS布局入門示例(三)頁(yè)面頂部制作
- CSSFloatLayoutBasics-CSS浮動(dòng)布局基礎(chǔ)
- CSS布局教程:DIV CSS三列式布局的實(shí)現(xiàn)方法
- 用“ul li”及css制作韓國(guó)風(fēng)格菜單
- DivCSS布局關(guān)于分辨率與100%自適應(yīng)問(wèn)題的探討!
- CSS JavaScript打造鼠標(biāo)懸停圖片漸顯效果!
- CSSFormExample:帶有小圖標(biāo)的清爽CSS表單設(shè)計(jì)!
- DivCSS布局實(shí)例:詳解建立Flash上面浮動(dòng)層
- 相關(guān)鏈接:
- 教程說(shuō)明:
Div+CSS教程-Marquee為什么不符合WEB標(biāo)準(zhǔn)?。