- 在分配ID和類名是盡量與表現(xiàn)方式無關(guān),想想如果頁面都已表現(xiàn)方式命名,如表單通知都為red類,當(dāng)要讓通知顯示為黃色時(shí),就不好改了。所以應(yīng)該以它是什么命名,而不是“它們的外觀如何”來命名.
- 類功能強(qiáng)大但也可能被過度使用或?yàn)E用。css新手常常在幾乎所用東西上添加類,從而試圖更精細(xì)地控制它們nederland樣式。早期的WYSIWYG編輯器也傾向于在應(yīng)用樣式的每個(gè)地方都添加類,這是一個(gè)壞習(xí)慣,稱為‘多類癥’,在文檔中添加了無意義的代碼。
<h2 class="news-head">this is new head</h2>
<p class="news-text">
this is news text
</p>
<p class="news-text"><a href='news.php' class="news-link">More</a></p>
這里每個(gè)元素被標(biāo)為新聞的一部分。但是不需要這么多,可以將新聞條目放在一部分,并加上類名news,從而標(biāo)識(shí)整個(gè)新聞條目。
<div class='news'>
<h2>this is new head</h2>
<p>
this is news text
</p>
<p><a href='news.php'>More</a></p>
</div>
這種方式刪除不必要的類有助于簡化代碼,從而使頁面跟整潔,更組件化,大大提高靈活性。
- 文檔類型,DOCTYPE切換和瀏覽模式
3.1. DTD(文檔類型定義)是一組機(jī)器可讀的規(guī)則,它們定義XML或HTML的特定版中中允許什么,不允許什么。在網(wǎng)頁解析時(shí)通過這檢查網(wǎng)頁的有效性并采取相應(yīng)措施。瀏覽器通過DOCTYPE聲明來了解使用哪個(gè)DTD由此知道使用HTML的哪個(gè)版本。
XHTML1.0聲明
3.2. 瀏覽器模式
當(dāng)瀏覽器廠商創(chuàng)建與標(biāo)準(zhǔn)兼容的瀏覽器時(shí),他們希望確保向后兼容,所以創(chuàng)建了兩種呈現(xiàn)模式:標(biāo)準(zhǔn)模式和混雜模式。在標(biāo)準(zhǔn)模式中,瀏覽器根據(jù)規(guī)范呈現(xiàn)頁面;混雜模式中以寬松的向后兼容的方式。
兩種模式的差異,最顯著的是在IE6中,標(biāo)準(zhǔn)模式下是正確的盒式模型,在混雜模式下使用老式的專有模型。Opera7和更高版本也在混雜模式中使用老式IE盒式模型。
Mozilla和Safari還有第三種模式,‘幾乎標(biāo)準(zhǔn)的模式’,除了在處理表格的方式上有些差異外,這種模式與標(biāo)準(zhǔn)模式相同。
3.3. DOCTYPE切換
瀏覽器根據(jù)DOCTYPE是否存在以及使用哪種DTD來選擇呈現(xiàn)方法。如果XHTML文檔包含形式完整的DOCTYPE,一般以標(biāo)準(zhǔn)模式呈現(xiàn)。對于HTML4.01文檔,包含嚴(yán)格DTD的DOCTYOE常常導(dǎo)致頁面以標(biāo)準(zhǔn)模式呈現(xiàn)。包含過渡DTD和URI的DOCTYPE也是以標(biāo)準(zhǔn)模式呈現(xiàn),但是過渡DTD而沒有URI則以混雜模式呈現(xiàn)。DOVTYPE不存在或形式不正確則以混雜模式呈現(xiàn)。
小結(jié)
本章了解命名的原則,html版本,瀏覽器間的差異