XHTML 十二 結構化1

2021-10-24 06:41:09 字數 3351 閱讀 8055

我們曾經為本節撰寫的標題是:「xhtml : 簡單的規則,容易的方針。」原因之一是,本節討論的規則和方針是簡單和容易的。原因之二是,一本簡單和容易的 web 設計圖書,就像超級市場的新式的免費商品一樣,雖然常見卻可以有效地吸引人的眼球,這樣的東西可以刺激人的興趣,並且鼓勵人們嘗試。

我確實希望本節的內容可以激發你的興趣,並鼓勵你去嘗試。為什麼這麼說呢?因為一旦你掌握了本章包含的簡單容易的理念,你就會重新思考網頁運作的方式,並開始改變建造它們的方法。然而我並不希望你只是將**重新改寫一遍。我希望你可以實實在在地以另一種方式思考和工作。

另一方面,重構才是 xhtml 真正的意義。

在本章,我們將研究結構化標記的機制和涵義。如果你正在將**標準融入你的開發專案,你或許會覺得本章的內容有些熟悉。不過即便是這方面的老手,也會從本章發現意外的收穫。

將傳統的 html 轉換為 xhtml 1.0 是快捷且**的,只要你遵守一些簡單的規則和容易的方針。不管是否使用過 html,都不會妨礙你使用 xhtml。

xml、xhtml、和html 4.0 文件的預設字符集是 unicode,乙個由 unicode 聯盟定義的標準。unicode 是一套全面的字符集,它為每個字元提供了乙個特定的唯一的數字,不論平台、程式和語言。unicode 也是我們擁有的最接近通用字母表的事物,儘管它並不是乙個字母表,而是一套數字對映方案。

儘管 unicode 是 web 文件預設的字符集,開發人員依然可以自由地選擇更適合他們的其他字符集。比方說,美國和西歐的**常常使用 iso-8859-1 (latin-1) 編碼,而中華人民共和國的國家標準是 gb2312。

記住:請最大限度地使用 css 來進行布局。在 web 標準的世界裡,xhtml 標記與表現無關,它只與文件結構有關。

結構良好的文件可以向瀏覽器傳達盡可能多的語義,不論是瀏覽器位於掌上電腦還是時髦的桌面圖形瀏覽器。結構良好的文件都能向使用者傳達視覺化的語義,即使是在老的瀏覽器,或是在被使用者關閉了 css 的現代瀏覽器中。

不是每個站點都能立即拋棄 html **布局。css 的發明者,w3c,直到 2002 年 11 月才將官方**轉換為 css 布局。然而,即使是頑固的唯標準主義者也不總是將表現從結構中完全分離處理,至少在 xhtml 1 中是做不到的。但是現在,我們可以向這個理想邁出重大的一步,通過將表現從結構中分離(或者說將資料從設計中),即使是混合的傳統的布局也可從中受益。

下面有一些提示,可以幫助你通過更結構化的方式進行思維:

在語法學校,我們中的大部分人都被迫使用標準的提綱格式來寫文章。現在,我們成為了設計師,可以多麼自由地擺脫提綱的限制,然後大膽地投身於獨特的個人表達的自由領域(也許我們的宣傳冊和商業站點還不是那麼獨特和個人化)。但是至少我們不會再受到提綱的困擾了。

實際上,依照 html,我們應該將內容結構化為有組織的層級。在瀏覽器不支援 css 的時期,我們無法在交付可供銷售的布局的同時做到這一點。但是今天,在將我們的設計不折不扣地實現的同時,我們有能力交付內在結構良好的文件。

當你將供網路使用的文字進行標記,或者當你將已有的文字文件轉換為網頁時,請使用傳統提綱的這些條目進行思考。

介紹性文字

相關文字

同時,避免使用已被廢棄的 html 元素比如 ,或者無語義的元素比如

,來模擬其實不存在的邏輯結構。

比如,不要像這樣做:

我的主題

介紹性文字

補充性的觀點

相關文字

我們中一些人已經陷在了乙個壞習慣中,當我們僅僅需要乙個大號字的文字時使用h1,或者在我們需要在前面加乙個圓點符號時使用 li。就像我們在前面的章節討論過的,瀏覽器一直都習慣於將設計屬性強加於 html 元素之上。我們都一直習慣於認為,h1 意味著大號字,而li意味著圓點,或者 blockquote 意味著文字縮排。我們中的大多數人還在使用結構化元素模擬表現效果的方式來胡亂地寫作 html。

同樣地,假如設計師希望所有的標題使用相同的字型大小,她會將所有的標題設定為 h1,即使這麼做毫無結構化語義可言。

我們必須把我們的小把戲放到一邊,然後開始根據元素的語義來使用它們,而不是根據它們看上去的樣子。實際上,h1可以成為你希望的任何樣子。通過 css,h1 可以成為非粗體的小號的羅馬字型,而 p 文字可以成為粗體的大號字,li 也可以沒有圓點(你或者可以使用小貓小狗或者公司標誌的 png,gif 或者 jpeg 取而代之)等等。

從今天開始,我們將要使用 css 來決定元素的外觀。我們甚至可以根據元素在頁面中或者在站點中所在的位置來改變它們的外觀。 css 可以將表現從結構中徹底抽離,並且允許你按照你喜歡的樣式來格式化任何元素。

h1, h2, h3, h4, h5, h6
你為什麼要這麼做呢?這麼做的目的是為了在圖形瀏覽器中獲得品牌化的外觀和感覺的同時,在文字瀏覽器、無線裝置、html 格式的電子郵件中,文件的結構得到保留。

我們並不想在關於 xhtml 的章節講述更多 css 方面的技術。我們只是希望展示文件結構和可視表達是兩個完全不同的事物,並且結構化元素應被用來轉換文字,而不是強加顯示效果。

由於我們已經忘記或者根本不知道 html 和 xhtml 的用途是傳達結構化的意義,許多 html 爭論者這樣使用標籤來插入列表:

專案一

專案二專案三

考慮一下使用有序或者無序列表取而代之:

"但是li給我乙個圓點,而我不需要圓點!"你也許會這麼說。根據上面的章節,css不對元素被期望的外觀做任何假定。它等待你來告訴它你所期待的元素外觀。關閉圓點是 css 的最基本的能力。它有能力使列表看起來和普通文字沒有兩樣,也可以使列表看起來像圖形導航欄,具有完整的反轉效果。

所以,請使用列表元素來標記列表。相似地,使用 strong 來代替 b,使用 em 代替 i,等等。在大多數桌面瀏覽器預設狀態下,strong 的顯示效果和 b 相同,而 em 和 i 相同,同時也可以在不破壞文件結構的情況下建立你期待的視覺效果。

儘管 css 不會為任何元素的顯示作假設,瀏覽器卻作了很多假設,並且我們還沒有碰到乙個將 strong 顯示為其他效果而不是粗體字的瀏覽器(除非是被設計師建立的 css 指示以其他方式顯示)。假如你擔心某個陌生的瀏覽器不會將 strong 顯示為粗體字,你可以編寫這麼一條 css 規則:

strong
web 標準不僅要求我們使用何種科技,而且還要遵守使用這些技術的方式。使用 xhtml 來編寫標記,同時使用 css 來處理一部分或者全部的布局,並不一定會使站點更易用更輕便,同時節約多少頻寬。就像我們在早期使用的技術那樣,xhtml 和 css 也會被誤用和濫用。冗長的 xhtml 和冗長的 html 一樣,都會浪費使用者的頻寬和時間。冗長的過度的 css 也不能完全的代替表現 html **;這只不過是一種糟糕的東西被另一種代替了而已

結構化 半結構化和非結構化資料

在實際應用中,我們會遇到各式各樣的資料庫如nosql非關聯式資料庫 memcached,redis,mangodb rdbms關聯式資料庫 oracle,mysql等 還有一些其它的資料庫如hbase,在這些資料庫中,又會出現結構化資料,非結構化資料,半結構化資料,下面列出各種資料型別 結構化資料 ...

結構化 半結構化和非結構化資料

在實際應用中,我們會遇到各式各樣的資料庫如nosql非關聯式資料庫 memcached,redis。mangodb rdbms關聯式資料庫 oracle,mysql等 另一些其他的資料庫如hbase,在這些資料庫中。又會出現結構化資料。非結構化資料。半結構化資料,以下列出各種資料型別 結構化資料 可...

結構化 半結構化和非結構化問題

結構化程度 是指對某一決策問題的決策過程 決策環境和規律,能否用明確的語言 數學的或邏輯學的 形式的或非形式的 定量的或定性的 給予說明或描述清晰程度或準確程度。按照決策問題的結構化程度不同把決策問題分成結構化問題 半結構化問題和非結構化問題三種型別。1 結構化決策問題 結構化決策問題相對比較簡單 ...