1.不同浏览器默认的内外边距不同
* {
margin: 0;
padding: 0;
}
2.鼠标移动到元素上显示手型
cursor: pointer; // 所有浏览器都识别
cursor: hand; // safari、firefox不支持
3.块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的大
// 在float的标签样式控制中加入 display:inline;将其转化为行内属性
{
display: inline;
}
4.设置较小高度标签(一般小于10px),在ie6,ie7,遨游中高度超出自己设置高度
给超出高度的标签设置overflow:hidden;或者设置行高line-height 小于你设置的高度。
5.透明度的兼容
{
filter: alpha(opacity: 30); // IE
opacity: 0.3; // FIrefox、chrome
}
/* css hack*/
使用hacker 我可以吧浏览器分为3类:ie6 ;ie7和遨游;其他(ie8 chrome ff safari opera等)
ie6认识的hacker 是下划线_ 和星号 *
ie7 遨游认识的hacker是星号 *
比如这样一个css设置 height:300px;*height:200px;_height:100px;
ie6浏览器在读到 height:300px的时候会认为高时300px;继续往下读,他也认识*heihgt, 所以当ie6读到*height:200px的时候会覆盖掉前一条的相冲突设置,认为高度是200px。继续往下读,ie6还认识_height,所以他又会覆盖掉200px高的设置,把高度设置为100px;
ie7和遨游也是一样的从高度300px的设置往下读。当它们读到*height200px的时候就停下了,因为它们不认识_height。所以它们会把高度解析为200px;
剩下的浏览器只认识第一个height:300px;所以他们会把高度解析为300px。
因为优先级相同且想冲突的属性设置后一个会覆盖掉前一个,所以书写的次序是很重要的。