css初學者在剛開始用div+css布局的時候,常常被一個問題所困擾:當定義一個屬性時,是使用id,還是使用class?在這我談下自己在工作中對id和class的使用原則。希望對初學者有所幫助。
[b]id的使用原則[/b]
我們知道id具有唯一性,也就是說在整個xhtml中id是不能重復的,所以我們在寫網頁的時候,大的結構用id,比如:logo、導航、主體內容、版權等,根據命名規范分別命名為#logo、#nav、#contenter、#copyright。還有一種情況就是:我們要通過js作用一個層,以實現某種效果的時候,用id。這也是由id的唯一性決定的。
[b]class的使用原則[/b]
class在css定義中具有普遍性,可以無限次的重復使用,這也體現了div+css布局的優越性。class常用于結構內部,這樣做的好處是有利于網站代碼的后期維護與修改,這樣會讓所有的class成為id的子級或者孫級。
另外需要注意一點的是盡量不要讓class包含id,比如.ff #childer{。..},這樣做顯然不可取,不符合書寫習慣。前面也介紹過良好的書寫習慣,對寫出規范的代碼,和其他同事的合作,以至于后期的維護都是很有好處的。
]]>1. 檢查HTML元素是否有拼寫錯誤、是否忘記結束標記
即使是老手也經常會弄錯div的嵌套關系。可以用dreamweaver的驗證功能檢查一下有無錯誤。
2. 檢查CSS是否正確
檢查一下有無拼寫錯誤、是否忘記結尾的 } 等。可以利用CleanCSS來檢查 CSS的拼寫錯誤。CleanCSS本是為CSS減肥的工具,但也能檢查出拼寫錯誤。
3. 確定錯誤發生的位置
假如錯誤影響了整體布局,則可以逐個刪除div塊,直到刪除某個div塊后顯示恢復正常,即可確定錯誤發生的位置。
4. 利用border屬性確定出錯元素的布局特性
使用float屬性布局一不小心就會出錯。這時為元素添加border屬性確定元素邊界,錯誤原因即水落石出。
5. float元素的父元素不能指定clear屬性
MacIE下假如對float的元素的父元素使用clear屬性,四周的float元素布局就會混亂。這是MacIE的聞名的bug,倘若不知道就會走彎路。
6. float元素務必指定width屬性
很多瀏覽器在顯示未指定width的float元素時會有bug。所以不管float元素的內容如何,一定要為其指定width屬性。
另外指定元素時盡量使用em而不是px做單位。
7. float元素不能指定margin和padding等屬性
IE在顯示指定了margin和padding的float元素時有bug。因此不要對float元素指定margin和padding屬性(可以在float元素內部嵌套一個div來設置margin和padding)。也可以使用hack方法為IE指定非凡的值。
8. float元素的寬度之和要小于100%
假如float元素的寬度之和正好是100%,某些古老的瀏覽器將不能正常顯示。因此請保證寬度之和小于99%。
9. 是否重設了默認的樣式?
某些屬性如margin、padding等,不同瀏覽器會有不同的解釋。因此最好在開發前首先將全體的margin、padding設置為0、列表樣式設置為none等。
10. 是否忘記了寫DTD?
假如無論怎樣調整不同瀏覽器顯示結果還是不一樣,那么可以檢查一下頁面開頭是不是忘了寫下面這行DTD:
<!DOCTYPE HTML PUBLIC \”-//W3C//DTD HTML 4.01 Transitional//EN\” \”http://www.w3.org/TR/html4/loose.dtd\”>
]]>