首页前端开发CSS解决浏览器兼容性的小技巧

解决浏览器兼容性的小技巧

时间2024-05-21 01:10:03发布访客分类CSS浏览41
导读:一、chrome下会让小于12px的文本字体默认为12px显示,让chrome支持小于12px的字体 box{font-size:8px;-webkit-text-size-adjust:none;} 但是,上面这个方法chrome...
一、chrome下会让小于12px的文本字体默认为12px显示,让chrome支持小于12px的字体 box{ font-size:8px; -webkit-text-size-adjust:none; } 但是,上面这个方法chrome27以后就不能用了。但我们可以用css3解决这个问题 box{ font-size:12px; -webkit-transform:scale(0.75); } 二、不同浏览器的标签默认的外补丁和内补丁不同,随便写几个标签,不加样式控制的情况下,各自的margin和padding差异较大,碰到频率:100% 解决方案: *{ margin:0; padding:0; } 备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的css文件开头都会用通配符来设置各个标签的内外补丁是0。 三、设置较小高度标签(一般小于10px),在ie6,ie7,遨游中高度超出自己设置高度 问题症状:ie6、7和遨游里这个标签的高度不受控制,超出自己设置的高度 碰到频率:60% 解决方案:给超出高度的标签设置overflow:hidden; 或者设置行高line-height小于你设置的高度。 备注:这种情况一般出现在我们设置小圆角背景的标签里。出现这个问题的原因是ie8之前的浏览器都会给标签一个最小默认的行高的高度。即使你的标签是空的,这个标签的高度还是会达到默认的行高。 四、图片默认有间距 问题症状:几个img标签放在一起的时候,有些浏览器会有默认的间距,加上问题一中提到的通配符也不起作用。 碰到几率:20% 解决方案:使用float属性为img布局 备注:因为img标签是行内属性标签,所以只要不超出容器宽度,img标签都会排在一行里,但是部分浏览器的img标签之间会有个间距。去掉这个间距使用float是正道 五、标签最低高度设置min-height不兼容 问题症状:因为min-height本身就是一个不兼容的css属性,所以设置min-height时不能很好的被各个浏览器兼容 碰到几率:5% 解决方案:如果我们要设置一个标签的最小高度200px,需要进行的设置为: { min-height:200px; height:auto!important; height:200px; overflow:visible; } 备注:在B/S系统前端开时,有很多情况下我们有这种需求。当内容小于一个值(如300px)时。容器的高度为300px;当内容高度大于这个值时,容器高度被撑高,而不是出现滚动条。这时候我们就会面临这个兼容性问题。 六、const问题 说明:Firefox下,可以使用const关键字或var关键字来定义常量; IE下,只能使用var关键字来定义常量. 解决方法:统一使用var关键字来定义常量. 七.window.location.href问题 说明:IE或者Firefox2.0.x下,可以使用window.location或window.location.href; Firefox1.5.x下,只能使用window.location. 解决方法:使用window.location来代替window.location.href. 八、ul和ol列表缩进问题 消除ul、ol等列表的缩进时,样式应写成: list-style:none; margin:0px; padding:0px; 经验证,在IE中,设置margin:0px可以去除列表的上下左右缩进、空白以及列表编号或圆点,设置padding对样式没有影响;在Firefox中,设置margin:0px仅仅可以去除上下的空白,设置padding:0px后仅仅可以去掉左右缩进,还必须设置list-style:none才能去除列表编号或圆点。也就是说,在IE中仅仅设置margin:0px即可达到最终效果,而在Firefox中必须同时设置margin:0px、padding:0px以及list-style:none三项才能达到最终效果。 九、IE与宽度和高度的问题 IE不认得min-这个定义,但实际上它把正常的width和height当作有min的情况来使。这样问题就大了,如果只用宽度和高度,正常的浏览器里这两个值就不会变,如果只用min-width和min-height的话,IE下面根本等于没有设置宽度和高度。 比如要设置背景图片,这个宽度是比较重要的。要解决这个问题,可以这样: box{ width:80px; height:35px; } html> body#box{ width:auto; height:auto; min-width:80px; min-height:35px; } 十、页面的最小宽度 如上一个问题,IE不识别min,要实现最小宽度,可用下面的方法: container{ min-width:600px; width:expression(document.body.clientWidth<600?"600px":"auto"); } 第一个min-width是正常的;但第2行的width使用了Javascript,这只有IE才认得,这也会让你的HTML文档不太正规。它实际上通过Javascript的判断来实现最小宽度。






本文转载自中文网

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 解决浏览器兼容性的小技巧
本文地址: https://pptw.com/jishu/664528.html
编程高手用什么电脑 在深圳学什么编程

游客 回复需填写必要信息