CSS中*和body有什麼區別,CSSbody區別
CSS中*和body有什麼區別:
建議:儘可能的手寫代碼,可以有效提高學習效率和深度。
在介紹它們兩個我們首先應該知道這兩個符號在CSS檔案中充當的是什麼角色。在CSS檔案中*是萬用字元選取器,它可以選擇文檔中所有的元素,也就是說是一個通殺選取器。body是一個普通的類型選取器,只能夠選中body這麼一個元素。而之所大家會感覺到*和body選取器有時候作用是相同的,主要是因為body是絕大多數布局元素的父元素,如果元素的CSS屬性居有繼承性的話,那麼兩者的效果確實一樣。例如:
body{font-size:12px;}*{font-szie:12px;}
以上兩個代碼的作用是完全一樣的,因為font-size是居右繼承性的。但是大家還是要明白它們的原理是不一樣的,*選取器確實是選擇了每一個元素並且把它們的字型大小設定為12px,body則是通過繼承將字型設定為12px的。
建議:
在很多CSS頁面的開頭都有這麼一句代碼:
*{ margin:0; padding:0}
因為很多元素都有預設的內邊距或者外邊距,例如body、ul、p和標題元素h1-h6等。使用以上代碼可以很輕鬆的清除所有元素的外邊距和內邊距,但是也會帶來問題。例如:
<!DOCTYPE html><html><head><meta charset=" utf-8"><meta name="author" content="http://www.softwhy.com/" /><title>螞蟻部落</title><style type="text/css">*{ margin:0px; padding:0px;}input{height:40px;}</style></head><body><input type="text" name="mytest" /></body></html>
以上代碼可能會造成在一些瀏覽器中文字框輸入的文字顯示在左上方,並不是所以瀏覽器都這樣。建議還是使用以下方式來統一定義樣式:
body,ul,h1,h2,h3,h4,h5,h6,form,dl,p{ 樣式代碼}
原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=4758