条款一:*{margin:0; padding:0;},清除有可能的默认脏边距;

如何正确清除浏览器默认脏数据

验证平台:

WebKit : chrome | safari

Presto :opera

Gecko :firefox

Trident :ie9

 一、body脏外边距   

第一个程序足以让我困惑,简单的给htmlbody分别设置背景色。会有以下三种情况并且所有平台表现一致,可见,浏览器对htmlbody有点儿特殊对待,当然尝试用z-index也无法改变结果。无伤大雅,疑惑的跳过这个鬼东西吧。

 条款一:*{margin:0; padding:0;},清除有可能的默认脏边距;_第1张图片

条款一:*{margin:0; padding:0;},清除有可能的默认脏边距;_第2张图片

 

 

可是,当我们写一个div的时候,表现依旧很不好,看看吧

 条款一:*{margin:0; padding:0;},清除有可能的默认脏边距;_第3张图片

 

添加代码 


条款一:*{margin:0; padding:0;},清除有可能的默认脏边距;_第4张图片 

 

所有的浏览器表现一致,分析可得以下观点:

1、bodymargin;必须是要清除的。

2、body有点div的样子

3、如果html没有background-color,单单bodybackground-color会突破margin

4、body没有padding

                       

条款一:*{margin:0; padding:0;},清除有可能的默认脏边距;_第5张图片

 

结论:

html{ magin:0; padding:0; }这个其实不是用来清除的;理解上讲,没用,??

body{ magin:0;padding:0; }这种,就是清除浏览器有可能默认设置边距;

正确的清除默认脏值的写法:body{magin:0;}

 

但是,浏览器的兼容没必要研究,没必要冒险,而且从代码通用和健壮,规范的写法一定是这样的,清除所有元素的脏边距。

 条款一:*{margin:0; padding:0;},清除有可能的默认脏边距;_第6张图片

 

你可能感兴趣的:(effective,FE)