Marquee為什么不符合WEB標(biāo)準(zhǔn)?_Div+CSS教程

      編輯Tag賺U幣
      教程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");
      }

        XHTML代碼:

      示例代碼 [www.wf0088.com]
      <div class="ccMarquee">
      <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)。

        

      來(lái)源:無(wú)憂整理//所屬分類:Div+CSS教程/更新時(shí)間:2007-02-14
      相關(guān)Div+CSS教程