DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> CSS學習筆記:id與class、padding和margin、min-heig
CSS學習筆記:id與class、padding和margin、min-heig
編輯:CSS詳解     

 id和class到底要用哪一個?

  首先要明白id和class的各自的優缺點。這樣才能根據他們的各自的特點進行使用。


  id的優點(class的缺點):id寫在css用"#"選擇器,class寫在css中用"."選擇器。"#"選擇器的優先級高於"."選擇器大約10倍,所以當你需要提升優先級的時候,id標簽,或者id容器內的標簽將是很容易和有效的。而class標簽,或者class容器內的標簽將可能導致優先級的提升失敗。


  id的缺點(class的優點):id應該是唯一的,所以它的可復用性是很差的,而class是可以復用的。所以如果一塊東西是多個頁面,甚至一個頁面都會使用多次的,那麼一定要使用class來作為樣式選擇器。id是唯一的,當一個控件的id的產生是不可控的,那麼這個id選擇器將失去意義,但是任何一個控件即使是動態產生的,他的cssClass仍然是可定制的,所以當你的這個標簽需要用服務器端控件替代的時候,而服務器端控件的id是不確定的,那麼請使用class選擇器,這樣只要將服務器端控件的cssClass設為你class選擇器的名稱即可。(當然,這個還需要大量的經驗的積累,項目做的多了就會逐步的改進) 

  padding和margin到底要用哪一個? 

  padding和margin可以讓一塊區域的外觀顯示完全一樣。所以可能讓很多人認為padding和margin是可以互換的。其實它們的差別很大,而且選擇哪個需要認真和慎重地考慮。我認為對容器使用padding還是對容器內的標簽使用margin的原則:當隱藏這個容器或者容器內的標簽時(現實項目中其實經常需要將某個部件隱藏、顯示),對整體布局影響最小為益。


  對於padding再說一句:ie6,ie7(FF)對帶有padding樣式的標簽的寬度的解析是不一樣的。ie6的標簽寬度不包含padding-left和padding-right的值,而ie7和ff則是包含的。例如一個div的width設置100px,padding設為10px,而在ie6中它要占據的寬度是120px(包含10個padding-left和10個padding-right),而在ie7和ff中則占據100px的寬度。因為ie7和ff會認為100已經包含了20px的padding。 

  min-height和height

  如果你只需要兼容ie6那麼你完全不需要注意min-height這個樣式,因為ie6根本就不支持這個樣式。但是當你的頁面需要照顧到ie7和ff的時候,這個樣式一定要注意。因為很多在ie6下設置了height=固定值的樣式,當容器被裡面的東西撐的大於這個高度的時候,ie7和ff是不會自適應高度的。從而導致布局的混亂。要想在ie6,ie7和ff中都可以自適應高度,正確的做法是設置min-height和用cssHack設置height。例如:

.52css.com]   min-height:600px;
  _height:600px;


  這樣,在容器裡面的東西很少的時候,它顯示固定高度600px,但當裡面的東西很多的時候,它也會自適應的增長高度。


  對於height的設置一定要特別注意,如果是布局用的容器的height則需要特別的注意,否則在ff中會導致無法浮起,從而使布局混亂。 

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved