id和class到底要用哪一個(gè)?
首先要明白id和class的各自的優(yōu)缺點(diǎn)。這樣才能根據他們的各自的特點(diǎn)進(jìn)行使用。
id的優(yōu)點(diǎn)(class的缺點(diǎn)):id寫(xiě)在css用"#"選擇器,class寫(xiě)在css中用"."選擇器。"#"選擇器的優(yōu)先級高于"."選擇器大約 10倍,所以當你需要提升優(yōu)先級的時(shí)候,id標簽,或者id容器內的標簽將是很容易和有效的。而class標簽,或者class容器內的標簽將可能導致優(yōu) 先級的提升失敗。
id的缺點(diǎn)(class的優(yōu)點(diǎn)):id應該是唯一的,所以它的可復用性是很差的,而class是可以復用的。所以如果一塊東 西是多個(gè)頁(yè)面,甚至一個(gè)頁(yè)面都會(huì )使用多次的,那么一定要使用class來(lái)作為樣式選擇器。id是唯一的,當一個(gè)控件的id的產(chǎn)生是不可控的,那么這個(gè)id 選擇器將失去意義,但是任何一個(gè)控件即使是動(dòng)態(tài)產(chǎn)生的,他的cssClass仍然是可定制的,所以當你的這個(gè)標簽需要用服務(wù)器端控件替代的時(shí)候,而服務(wù)器 端控件的id是不確定的,那么請使用class選擇器,這樣只要將服務(wù)器端控件的cssClass設為你class選擇器的名稱(chēng)即可。(當然,這個(gè)還需要 大量的經(jīng)驗的積累,項目做的多了就會(huì )逐步的改進(jìn))
padding和margin到底要用哪一個(gè)?
padding和margin可以讓一塊區域的外觀(guān)顯示完全一樣。所以可能讓很多人認為padding和margin是可以互換的。其實(shí)它們的差別很 大,而且選擇哪個(gè)需要認真和慎重地考慮。我認為對容器使用padding還是對容器內的標簽使用margin的原則:當隱藏這個(gè)容器或者容器內的標簽時(shí) (現實(shí)項目中其實(shí)經(jīng)常需要將某個(gè)部件隱藏、顯示),對整體布局影響最小為益。
對于padding再說(shuō)一句:ie6,ie7(FF)對帶有 padding樣式的標簽的寬度的解析是不一樣的。ie6的標簽寬度不包含padding-left和padding-right的值,而ie7和ff則 是包含的。例如一個(gè)div的width設置100px,padding設為10px,而在ie6中它要占據的寬度是120px(包含10個(gè) padding-left和10個(gè)padding-right),而在ie7和ff中則占據100px的寬度。因為ie7和ff會(huì )認為100已經(jīng)包含了 20px的padding。
min-height和height
如果你只 需要兼容ie6那么你完全不需要注意min-height這個(gè)樣式,因為ie6根本就不支持這個(gè)樣式。但是當你的頁(yè)面需要照顧到ie7和ff的時(shí)候,這個(gè) 樣式一定要注意。因為很多在ie6下設置了height=固定值的樣式,當容器被里面的東西撐的大于這個(gè)高度的時(shí)候,ie7和ff是不會(huì )自適應高度的。從 而導致布局的混亂。要想在ie6,ie7和ff中都可以自適應高度,正確的做法是設置min-height和用cssHack設置height。例如: copyright cneduit
min-height:600px;
_height:600px; copyright cneduit
這樣,在容器里面的東西很少的時(shí)候,它顯示固定高度600px,但當里面的東西很多的時(shí)候,它也會(huì )自適應的增長(cháng)高度。
對于height的設置一定要特別注意,如果是布局用的容器的height則需要特別的注意,否則在ff中會(huì )導致無(wú)法浮起,從而使布局混亂。 內
詳文鏈接:
http://www.cneduit.com/Design/web/
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。