從語言學、邏輯學和系統論的角度看CSS
劉建文(http://blog.csdn.net/keminlau
)
key: 語言學 邏輯學 系統論 CSS
引子
CSS是一種文檔樣式描述的語言。作為一種語言,CSS會有語言的基本要素,比如文法、語義;另外,用CSS編寫的“程式”是一種聲明式語言程式,這種邏輯程式是編寫給瀏覽器的渲染引擎“閱讀"的,語言、程式和瀏覽器的關係涉及語言、邏輯和系統論的內容。我們就從語言學、邏輯學和系統論三個側面瞭解一下CSS作一種機器語言的功能和角色。
從語言學的看CSS
CSS(Cascading Style Sheets)是一種樣式表語言,它是一種聲明式語言,與常用的命令式語言(像C語言,JavaScript等)相對;作為一種語言(一種人工語言),CSS會有語言的基本要素,比如文法、語義,還有語言【交流的目的】和語言【交流的邏輯主體】等。
#featured h2 a, #featured h2 a:visited {
padding: 0px 0px 1px 0px;
color: #c00;
border-bottom: 1px solid #c00;
}
自然語言【交流的邏輯主體】一般是人,【交流的目的】是傳遞思想,完成生活任務;
CSS【交流的邏輯主體】一方是程式員,一方是瀏覽器;【交流的目的】是呈現結構化文檔的樣式。
自然語言的語義來自生活,來自客觀世界的事物;
CSS的語義只涉及文檔樣式相關,比如格式、顏色、於文檔中位置、文本排版等。
自然語言是為了傳遞思想,文法是主謂結構;
CSS是為了呈現結構化文檔的樣式,樣式規則也是一種完整的思想,文法是主謂結構。
自然語言中語句主謂結構中【主語】【謂語】都是來自客觀世界的事物及事物屬性;
CSS的語句的【主謂結構】中【主語】是XTHML標籤、DOM對象、自訂類、偽類等;而【謂語】是樣式屬性,比如格式、顏色、定位、文本排版等。
對照CSS 術語,CSS語言的語句就是【規則】,語句的主語就是【選取器】,謂語是【聲明】。
從邏輯學角度看CSS
既然可從語言的角度看CSS,那就一定可以從邏輯的角度研究CSS,因為語言和邏輯是一體兩面。邏輯學是研究思維的,包括思維規律和思維的形式。思維不會在真空中進行,它必須藉助語言進行。在CSS的使用情境中,思維的不是人,而是瀏覽器的渲染引擎。
p.warning {font-weight: bold;}
這條CSS規則譯成自然語言是,任何警告型的段落的字型風格是粗體。
對照CSS術語,CSS的【規則】就是命題;比如:“……字型風格是粗體”;【選取器】和【聲明】中的【屬性與值】就是概念;比如【段落】、【警告】、【字型風格】和【粗體】;整個聲明就是【選取器】概念的內涵;【選取器】選中的文檔對象集合就是【選取器】概念的外延。
從系統論角度看CSS
眾所周知,語言是交際工具,交際主體——【人】和【瀏覽器的渲染引擎】都是一種系統。而語言是用以實現系統間資訊傳送,完成系統做功。言語交流是一來一回的過程,可以對其進行進一步的抽象,簡化為【言語做功】是兩系統間單方向的【資訊】傳送。【一條完整的資訊】必須是主謂結構的,因為單獨主語或謂語不做功,沒有做功或功差為零。如果資訊不是主謂結構,一般是做功情境中已經預設,比標誌語言HTML。傳送資訊的種類有描述型和命令型兩種,相對系統做功同樣存在兩種形式。
系統做功是系統對外界“發送資訊”的過程,目的為了使做功目標是從初始狀態到目標狀態的轉換。
言語過程算是系統做功的一個特殊形式,參考:
對照CSS術語,CSS【交流的邏輯主體】是瀏覽器,就是系統;【交流的目的】是呈現結構化文檔的樣式,就是系統做功;CSS聲明式程式就是【言語過程】,就是系統做功形式;CSS規則就是做功“語句”。