温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

解决浏览器兼容性的技巧是什么

发布时间:2022-03-23 10:34:20 来源:亿速云 阅读:120 作者:iii 栏目:web开发

本篇内容主要讲解“解决浏览器兼容性的技巧是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“解决浏览器兼容性的技巧是什么”吧!

  一、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的判断来实现最小宽度。
解决浏览器兼容性的技巧是什么

到此,相信大家对“解决浏览器兼容性的技巧是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI