css样式表定义时*与body的区别
今天看到有人问*和body的区别,大家的回答莫衷一是,下面就我对这两个的理解谈论一下用法。
首先看一下正解:
- 通配选择符 语法:* {sRules} 说明:选定文档目录树(DOM)中的所有类型的单一对象
- 类型选择符 语法:E {sRules} 说明:以文档语言对象(Element)类型作为选择符
大家在做网站时,规划样式表许多朋友首先会用*{margin:0;padding:0;},这里的*是通配符,意思就是将文档目录树中的所有类型单一对象的内边距和外边距都设置为0,为什么这样呢?因为许多元素,如h类,ul,body,p默认都有内边距或外边距,这样可以一次方便将这些元素的内外边距设置为0,很是方便,但我并不建议大家使用,因为我在做网站时,当页面调用了mapbar的地图后,会将地图上的标点设置到地图左上角,不管它在哪个位置。还有文本框内的文字也会贴在边上显示,在这种情况下就不能用*来定义了,所以我建议大家还是使用body定义,另外可以使用body,ul,h1,h2,h3,h4,h5,h6,form,dl,p { padding:0; margin:0;}将其它默认有内外边距的元素设置为0,这样可以避免出现类似这样的问题。