1. 程式人生 > >html和body之間空白解決,以及元素預設margin和padding

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;