CSS網(wǎng)頁布局語義化探討_Web標準教程

      編輯Tag賺U幣
      教程Tag:語義化添加
        在過去的文章中,我們不止一次的提到語義,結(jié)構(gòu)。這是Mb5u.com一直持有的觀點。任何時候,HTML文檔都顯得比CSS更重要,學習CSS網(wǎng)頁布局,其實重視的是HTML而并非只是CSS本身。CSS網(wǎng)頁布局的語義化不僅只是限定在HTML!
        網(wǎng)格的內(nèi)容,為什么我反對這個思想的流傳?首先聲明的我不是反對關(guān)于設(shè)計的網(wǎng)格化,我是反對重構(gòu)的網(wǎng)格化。這里應該特指是YUI方式的類名綁定式的網(wǎng)格化。大家可以看看下面的一段代碼:

      示例代碼 [www.wf0088.com]
      <div id="yui-main">
      <div class="yui-b">
      <div class="yui-g">
      <div class="yui-u first"></div>
      <div class="yui-u"></div>
      </div>
      </div>
      </div>

        大家可以很清晰的看到這里的yui-u,或者yui-g他的名稱是并無意義的。還有與表現(xiàn)相關(guān)的first。不知道大家都看過的《網(wǎng)站重構(gòu)》一書當時配同的PPT里面的一句話——“把頁面中的外觀標記去除以后,重新設(shè)計現(xiàn)有的站點和內(nèi)容將變得非常節(jié)省人力 (同時便宜得多)。如果想改變站點的輸出,你只需要改動一下樣式表就行了,而完全不必改動頁面本身。”像上面的那段代碼不能達到結(jié)構(gòu)、表現(xiàn)、行為三者分離,如果強行改變會出現(xiàn)下面的一些問題:

        改變表現(xiàn)的時候必須動到html,一次美觀上面的修改要動到三條工作線,極大的人力資源耗費。
        會出現(xiàn)排在第五個的叫做“first”的框
        會出現(xiàn)實際為240寬的叫做“180寬”的框
        會出現(xiàn)實際為三列的叫做“四列”的布局
        會出現(xiàn)實際為紅色的叫做“blue”的字
        這些也就是相當于現(xiàn)在很多人流行的“left_box”和“right_box”,快速改版以后變成了在左邊的“right_box”。這不就是相當于歪曲事實的真理么?但其實最重要的是第一點,這樣的工作方式和我們以往的table布局工作方式有差別么?你提個改個樣式需求,全公司(設(shè)計、頁面、開發(fā)、功能測試、CE數(shù)據(jù)監(jiān)測)都跟著你去跑,這是很不智的。

        上面說完不對的,下面給大家看看代碼段:
        HTML代碼:

      示例代碼 [www.wf0088.com]
      <div id="index_news" class="mode">
      <h3 class="title">公益新聞</h3>
      <div class="content">
      <ul>
      <li><a href="#">新聞標題Mb5u.com</a></li>
      <li><a href="#">CSS網(wǎng)頁布局的語義化不僅只是限定在HTML!Mb5u.com</a></li>
      <li><a href="#">新聞標題Mb5u.com</a></li>
      <li><a href="#">CSS網(wǎng)頁布局的語義化不僅只是限定在HTML!Mb5u.com</a></li>
      <li><a href="#">新聞標題Mb5u.com</a></li>
      <li><a href="#">CSS網(wǎng)頁布局的語義化不僅只是限定在HTML!Mb5u.com</a></li>
      <li><a href="#">新聞標題Mb5u.com</a></li>
      <li><a href="#">CSS網(wǎng)頁布局的語義化不僅只是限定在HTML!Mb5u.com</a></li>
      </ul>
      </div>
      <a class="more" href="#">更多</a> </div>

      CSS代碼:

      示例代碼 [www.wf0088.com]
      .mode{
      position:relative;
      float:left;
      font-size:12px;
      }
      .mode h3.title,
      .mode h4.title{
      color:#234C00;
      padding:5px 10px;
      font-size:14px;
      }
      .mode .more{
      top:5px;
      right:10px;
      font-size:12px;
      color:#4282ab;
      position:absolute;
      }
      .mode .content{
      clear:both;
      }
      .mode .content:after {
      content:"";
      display:block;
      height:0;
      line-height:0;
      clear:both;
      visibility:hidden;
      }
      #index_news.mode,
      #index_bbs.mode,
      #index_area.mode{
      background:url(small_gray_grid.png) repeat-y -400px bottom;
      width:200px;
      margin:5px 0 5px 5px;
      }
      #index_news.mode h3.title,
      #index_bbs.mode h3.title{
      background:url(small_gray_grid.png) no-repeat -200px top;
      }
      #index_news.mode .content,
      #index_bbs.mode .content,
      #index_area.mode .content{
      background:url(small_gray_grid.png) no-repeat -600px bottom;
      display:table;
      }

        大家可以看到模塊化思想的優(yōu)勢在于哪:
        可以半自動化的取用當前已有的模塊來節(jié)省代碼開發(fā)時間以及精力。
        可以高度自由化的適應任何產(chǎn)品經(jīng)理、任何老板的不同變態(tài)需求。
        任何關(guān)于表現(xiàn)上面的修改不需要動用到開發(fā)人員,不需要功能測試。
        CE數(shù)據(jù)監(jiān)測綁定到id,不需要重新調(diào)整接口。
        每個人擔任單個模塊的快速迭代開發(fā)。
        另外就代碼而言。標題就是標題,內(nèi)容就是內(nèi)容;總不會那種歪曲事實、自己打自己嘴巴的狀態(tài)。

        我有個怪癖。我很喜歡在面試的時候我總是要先考面試人XHTML。就好像以前師傅招收學徒一樣,能力和慧根屬其次,人品首當其沖。
        我以為,XHTML好比一個人的本質(zhì),CSS好比人的處事方式和態(tài)度,JS好比人做事的行為以及作風。三者的分離再加上些周邊的SEO、人機交互也就是我們所說的網(wǎng)站重構(gòu),也就是一個很不錯的人。之前總是有一部分人認為CSS就是網(wǎng)站的最主要的元素,其實自然而然的也就代表了一種人生觀。的確,一個人沒有好的處事方式和態(tài)度很難在現(xiàn)在的社會很好的存活;但是這個處事的方式和態(tài)度位置過于偏重了,就成了一個善于欺騙、做事不擇手段的人。您的見解歡迎與我分享,可以在Mb5u.com評論,也可以到W3Cbbs.com發(fā)貼。

        這個是一直想說的,有了CSS你可以將左右順序變成右左順序,他就是一個網(wǎng)頁中的魔術(shù)師。你總不能把他亂用,去成了一個善于欺騙、做事不擇手段的人。
        
        

      來源:52CSS//所屬分類:Web標準教程/更新時間:2012-06-17
      相關(guān)Web標準教程