本文從索緒爾語言哲學等理論高度認為不需要CSS中的class屬性。
CSS的好處是:HTML元素可以在不依賴class屬性的情況下實現各種風格的樣式化,文章試圖證明class屬性是過時的,不適合于布局,不用class可以訓練我們創建更多可用,可重用的內容。
如果同一類型的兩個元素屬于出現在相同的上下文中,則它們是相似的 ,怎么辦?
索緒爾對語言作為一個系統的理解基于兩種基本關系; 范式和語段(聚合關系和組合關系):
范式
范式是是一組詞 ,具有功能相似性但在含義上有細微或根本的差異。比如“螃蟹位于龍蝦旁邊”,“位于”這個詞屬于一種替代詞的范式,還可以代指包括“休息于”和“蹲伏于”以及“站立于”,這是一種替代關系。
在英語中替換有一定的規則,動詞不能用名詞替換,就像在HTML中一樣,內聯元素(表示內聯這樣的動作動詞)不能總是用塊級元素(名詞)替換。
語段
一個語段基本上是一個由范式選擇組成的結構段。在英語中,句子,段落,章節和書籍都是語段。在HTML中,由您選擇的元素組成的代碼塊可以被視為一種語段。
每個語段都有自己的語義系統,較小的語段可以屬于較大的語段系統,就像一個段落可以屬于一個章節,
用處?
索緒爾的語言模型可以識別或寫出數TB的小說,小說,散文和戲劇,不必發明新詞或重新定義舊詞。如果這個模型對于諸如英語之類的自然語言來說已經足夠好了,那么它對于諸如HTML之類的簡單元語言來說已經足夠好了。當然,隨著時間的推移,新詞會被創造出來,就像HTML規范中慢慢引入新元素一樣,但這是通過仔細的審議和共識來完成的。class沒有這樣的授權過程。
索緒爾模型為我們提供了足夠的優雅和發明空間,并禁止我們做出錯誤的選擇。通過根據它們的內容和位置what and where來構造元素的樣式從而組成我們文檔,那么現在誤導或混淆用戶就變得極其困難,我們所做的只是使用CSS來顯示頁面的固有結構。
語境的重要性
從符號學的角度來看,也許兩個相似的事物之間唯一真正的區別在于它們的背景:它們被發現的環境。英國本土人和法國本地人在基因上相似但在文化上有所不同。他們的國籍背景使他們以許多值得注意的方式不相同。
下面這段Html/CSS:
<font><i>// HTML:</i></font><font><article> <h1 <b>class</b>=</font><font>"main-title"</font><font>>Article Title</h1> <aside> <h1 <b>class</b>=</font><font>"main-title"</font><font>>Aside Title</h1> </aside></article></font><font><i>// CSS:</i></font><font>.main-title { font-size:30px;}</font>
創造class類型為.main-title,我們創建了一個翻譯器來幫助我們輕松地為所有頂級標題設置相似的樣式。但是,我們示例中的兩個標題h1并不相似,任何理解HTML5解析器的人都會知道,有一個標題h1屬于aside組合,而另外一個標題h1直接屬于article內,這兩種關系哪個最重要?
直接屬于article:
<article> <h1 <b>class</b>=<font>"main-title"</font><font>>Article Title</h1></font>
直接屬于aside, aside屬于article:
<article> <h1 <b>class</b>=<font>"main-title"</font><font>>Article Title</h1> <aside> <h1 <b>class</b>=</font><font>"main-title"</font><font>>Aside Title</h1></font>
解析器將把aside的h1標題視為僅僅是副標題,屬于第一個標題之后的副標題。
這個例子中的class是多余的:我們可以使用h1 style屬性來設置元素的樣式如font-size: 30px。關鍵是如果我們根據上下文區分這兩個元素,那么區分上下文的辦法是使用 派生選擇器 :aside h1,那么CSS將綁定到HTML的結構(aside h1是一種結構,h1屬于小語段,aside屬于大語段,h1小語段被包含在大語段aside中),并且元素的外觀將與其計算的含義一致。
模塊化和可移植性
使用Class屬性的方法其實是一種面向對象方法,面向對象的方法是想讓一個元素在任何地方都看起來一樣,不受環境背景的影響,這如同一個英國人移民到其他國家,拒絕說當地語言,這是不恰當的。
我不認為CSS是面向對象的; 我認為它是面向接口的。CSS的目的不是讓單個項目看起來像我們想要的那樣,而是提供一個接口來樣式化HTML文檔,這些接口具有說服力和可讀性。為了使接口具有最佳可理解性,所有組件應該禮貌地協同工作,并且應該尊重整體視覺結構,無論組件來自何處。
簡而言之,我們的目標應該是真正區分樣式和內容,允許內容在不同樣式界面接口之間傳播,但樣式界面仍然不動。在任何格式正確的文檔中,屬性應該是表達內容來源的(class作為元素屬性卻不是表達內容來源,而是表達內容來源的類型)。
總結
以上所述是小編給大家介紹的Html/CSS中的符號學,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
新聞熱點
疑難解答