CSS 選取項 是不是邏輯表現?

最近跟朋友討論到這
我想聽聽大家對於這點的看法
麻煩有興趣的回個文說一下自己觀點
2010-10-13 17:44 發佈
文章關鍵字 css 邏輯
老實講我看不懂你再說些什麼
可以解釋更清楚嗎??
你指的是這個嗎
http://zh.wikibooks.org/zh/CSS#.E9.81.B8.E5.8F.96.E9.A0.85.28Selector.29
選取項的語法(Syntax of selector)
恩 沒錯 CSS 選取項 也有翻譯是選取器

例如
body div a{color:#FF0000;}
body div a.btn {color:#0000FF;}

我說 這其實可以看成 if 的邏輯判斷

把它轉換可以看成是

if ( el.tagName == 'body' )
{
  foreach( var i in el.elements )
  {
    var el_s = el.elements[i];
     if (el_s.tagName == 'div')
    {
      foreach( var j in el_s.elements )
      {
         var el_ss = el_s.elements[j];
         if (el_ss.tagName == 'a' && el_ss.className == 'btn')
         {設定此Tag字體顏色為 #0000FF}

         else if (el_ss.tagName == 'a')
         {設定此Tag字體顏色為 #FF0000}
      }
    }
  }
}

可以把上面的兩行描敘看成這種虛擬CODE
所以 其實 CSS選取項的語法就是IF邏輯語法
以上是我的觀點

PS.
會有這些討論是因為原本在聊 物件導向類別怎麼規劃
然後談到 為什麼我要自己寫一個 樣板混合器
然後聊到 純用 CSS layout 也是克服不了 頁數一多 CSS 的 HTML樣版 "硬編碼" 部分需要做調整時的麻煩

舉例來說 #banner span{color:#FF0000;}
以負責 layout的CSS設計師來看 也許這CSS設定沒什麼問題
因為自己切的版 所以他知道banner 裡面只有 一個地方是span標籤
而那地方要設定為紅色
但是 萬一... JS程式設計 後來在裡面套了圖片輪播套件或什麼的
JS套件 也是會利用DIV SPAN等比較通用的標籤來作介面設計
那這時候就會衝突
所以這時候也許語法會改成 #banner span.slog{color:#FF0000;}
那這時候 HTML上的 "硬編碼" 就多了 class="slog";

在描敘中 我無意的提到了 "所以 以CSS的邏輯語法來說...." 這句話
之後就演變成 "CSS有邏輯?" 這個討論=.=

在我的觀念
並不是某種語法中有if else 才算是有邏輯
而是能把你腦中的邏輯表達 轉換成給計算機看的語言

這討論 看起來很鑽牛角尖...... 用另一種層面來解釋 是會有不同答案
PO上來只是想看看其他人觀點
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?