html和body之間空白解決,以及元素預設margin和padding
在研究元素定位的時候,突然注意到HTML和BODY之間還是有空白的。
找了下這個問題的解決方法,如下:
首先,單純設定body是不行的。需要設定全部元素。於是引出一個問題,就是HTML中的元素都是有預設margin或padding的。
<style type="text/css">
html,body
{margin: 0;
padding: 0;}
</style>
<style type="text/css"> * { margin: 0; padding: 0; } </style>
總結元素的預設margin和padding
一.h1~h6標籤:
有預設margin(top,bottom且相同)值,沒有預設padding值。
在chrome中:16,15,14,16,17,19;
在firefox中:16,15,14,16,17,20;
在safari中:16,15,14,16,17,19;
在opera中:16,15,14,14,17,21;
在maxthon中:16,14,14,15,16,18;
在IE6.0中:都是19;
在IE7.0中:都是19;
在IE8.0中:16,15,14,16,17,19;
二.dl標籤:
有預設margin(top,bottom且相同)值,沒有預設padding值。
在Chrome,Firefox,Safari,Opera,Maxthon,IE8.0中:margin:12px 0px;
在IE6.0,7.0中:margin:19px 0px;
dd標籤有預設margin-left:40px;(在所有上述瀏覽器中)。
三.ol,ul標籤:
有預設margin-(top,bottom且相同)值,有預設padding-left值;
在Chrome,Firefox,Safari,Opera,Maxthon,IE8.0中:margin:12px 0px;
在IE6.0,7.0中:margin:19px 0px;
預設padding-left值:在Chrome,Firefox,Safari,Opera,Maxthon,IE8.0中都是padding-left:40px;在IE6.0,7.0中沒有預設padding值,因為ol,ul標籤的邊框不包含序號。
四.table標籤:
table標籤沒有預設的margin,padding值;th,td標籤沒有預設的margin值,有預設的padding值。
在Chrome,Firefox,Safari,Opera,Maxthon中:padding:1px;
在IE8.0中:padding:0px 1px 1px;
在IE7.0中:padding:0px 1px;
相同內容th的寬度要比td寬,因為th字型有加粗效果。
五.form標籤在Chrome,Firefox,Safari,Opera,Maxthon,IE8.0中沒有預設的margin,padding值,但在IE6.0,7.0中有預設的margin:19px 0px;
六.p標籤有預設margin(top,bottom)值,沒有預設padding值。
在Chrome,Firefox,Safari,Opera,Maxthon,IE8.0中:margin:12px 0px;
在IE6.0,7.0中:margin:19px 0px;
七.textarea標籤在上述所有瀏覽器中:margin:2px;padding:2px;
八.select標籤:
在Chrome,Safari,Maxthon中有預設的margin:2px;
在Opera,Firefox,IE6.0,7.0,8.0沒有預設的margin值;
option標籤只有在firefox中有預設的padding-left:3px;