浏览器的适配
Ⅰ 什么是浏览器的兼容性
浏览器的兼容性是指网页在各种浏览器上的显示效果可能不一致而产生浏览器和专网页间的属兼容问题。
在网站的设计和制作中,做好浏览器兼容,才能够让网站在不同的浏览器下都正常显示。而对于浏览器软件的开发和设计,浏览器对标准的更好兼容能够给用户更好的使用体验。浏览器兼容的重要性:
1、网站做好了浏览器兼容,能够让网站在不同的浏览器下都正常显示。
2、浏览器兼容能够抓住更多的网站访客。
3、浏览器兼容能够给客户更好的体验。
(1)浏览器的适配扩展阅读:
兼容趋势
1、浏览器大战后期的Internet Explorer和Netscape Navigator两大浏览器都支持html 4.0和CSS 1,使得许多专用语法失去意义而被废止。
2、客户端脚本方面,浏览器大战的产物DOM变成了浏览器间操控技术的共同界面;对专有方法已有涵盖。
3、浏览器市场扩大,网站为了宣称自己的兼容能力,一般都能在Mozilla Firefox、Opera、Safari和传统阵营的Internet Explorer、Netscape Navigator正常被浏览。
4、浏览器的兼容能力日益受到需要;浏览器亦因应趋势,使自己的浏览器提供更多兼容功能。
Ⅱ 经常遇到的浏览器的兼容性有哪些
1,浏览器兼容问题一:不同浏览器的标签默认的margin和padding不同
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。
碰到频率:100%
解决方案:
CSS里加一行
1
*{margin:0;padding:0;}
备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设置各个标签的内外补丁是0。
2,浏览器兼容问题二:块属性标签float后,又有横行的margin情况下,在IE6显示margin比设置的大
问题症状:常见症状是IE6中后面的一块被顶到下一行
碰到频率:90%(稍微复杂点的页面都会碰到,float布局最常见的浏览器兼容问题)
解决方案:在float的标签样式控制中加入 display:inline;将其转化为行内属性
备注:最常用的就是div+CSS布局了,而div就是一个典型的块属性标签,横向布局的时候通常都是用div float实现的,横向的间距设置如果用margin实现,这就是一个必然会碰到的兼容性问题。
3,浏览器兼容问题三:设置较小高度标签(一般小于10px),在IE6,IE7,遨游中高度超出自己设置高度
问题症状:IE6、7和遨游里这个标签的高度不受控制,超出自己设置的高度
碰到频率:60%
解决方案:给超出高度的标签设置overflow:hidden;或者设置行高line-height 小于你设置的高度。
备注:这种情况一般出现在设置小圆角背景的标签里。出现这个问题的原因是IE8之前的浏览器都会给标签一个最小默认的行高的高度。即使你的标签是空的,这个标签的高度还是会达到默认的行高。
4,浏览器兼容问题四:行内属性标签,设置display:block后采用float布局,又有横行的margin的情况,IE6间距bug
问题症状:IE6里的间距比超过设置的间距
碰到几率:20%
解决方案:在display:block;后面加入display:inline;display:table;
备注:行内属性标签,为了设置宽高,需要设置display:block;(除了input标签比较特殊)。在用float布局并有横向的margin后,在IE6下,它就具有了块属性float后的横向margin的bug。不过因为它本身就是行内属性标签,所以再加上display:inline的话,它的高宽就不可设了。
5,浏览器兼容问题五:图片默认有间距
问题症状:几个img标签放在一起的时候,有些浏览器会有默认的间距,加了问题一中提到的通配符也不起作用。
碰到几率:20%
解决方案:使用float属性为img布局
备注:因为img标签是行内属性标签,所以只要不超出容器宽度,img标签都会排在一行里,但是部分浏览器的img标签之间会有个间距。去掉这个间距使用float是正道。(我的一个学生使用负margin,虽然能解决,但负margin本身就是容易引起浏览器兼容问题的用法,所以我禁止他们使用)
6,浏览器兼容问题六:标签最低高度设置min-height不兼容
问题症状:因为min-height本身就是一个不兼容的CSS属性,所以设置min-height时不能很好的被各个浏览器兼容
碰到几率:5%
解决方案:如果要设置一个标签的最小高度200px,需要进行的设置为:{min-height:200px; height:auto !important; height:200px; overflow:visible;}
备注:在B/S系统前端开时,有很多情况下有这种需求。当内容小于一个值(如300px)时。容器的高度为300px;当内容高度大于这个值时,容器高度被撑高,而不是出现滚动条。这时候就会面临这个兼容性问题。
(2)浏览器的适配扩展阅读:
浏览器兼容性解决方案:
1,对于一般用户来说:
应该用ie8兼容模式浏览网页, 而不应该用ie9或ie10渲染模式. 很多用户安装ie10后发生很多网页显示错乱, 就是兼容性的原因, 因为ie10默认的渲染模式是ie10. 此时应该将其改为ie7渲染模式。
用ie6/7渲染模式的原因如下:
中国所有网页肯定都支持ie,支持ie就是支持ie内核的所有浏览器. 但并不一定支持chrome, firefox,双核浏览器的高速模式,原因很简单,网页开发人员没有那么多时间和精力去兼容及测试那么多浏览器,开发人员能让网页在ie下正常工作已经不错了。
2,对于网站开发者来说:
暂没有统一的能解决这样的工具,最普遍的解决办法就是不断的在各浏览器间调试网页显示效果,通过对css样式控制以及通过脚本判断并赋予不同浏览器的解析标准。
如果所要实现的效果可以使用 框架,那么还有另一个解决办法是在开发过程中使用当前比较流行的JS,CSS框架框架,如jQuery,YUI等等,因为这些框架无论是底层的还是应用层的一般都已经做好了浏览器兼容,所以可以放心使用。
除此之外,CSS提供了很多hack接口可供使用,hack既可以实现跨浏览器的兼容,也可以实现同一浏览器不同版本的兼容。
Ⅲ 如何让网页在浏览器自适应屏幕大小
方法:
1、在网页头部加上这样一条meta标签:<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />
解释:
width=device-width :宽度等于设备屏幕的宽度
initial-scale=1.0:表示:初始的缩放比例
minimum-scale=0.5:表示:最小的缩放比例
maximum-scale=2.0:表示:最大的缩放比例
user-scalable=yes:表示:用户是否可以调整缩放比例
另外:如果想控制字体的大小的话,应该使用相对大小,可以用下面这段代码,一般不用也可,这里只是说明一种方法。
相对大小的字体
字体也不能使用绝对大小px,而只能使用相对大小em。
body {font: normal 100% Helvetica, Arial, sans-serif;}
上面的代码指定,字体大小是页面默认大小的100%,即16像素。
h1 {font-size: 1.5em; }
然后,h1的大小是默认大小的1.5倍,即24像素(24/16=1.5)。
small {font-size: 0.875em;}
small元素的大小是默认大小的0.875倍,即14像素(14/16=0.875)。
2、让网页适应不同的浏览器
浏览器的格局现在是两分天下,一分是IE,另一分是NetScape,在国内Ie有绝对的占有率,在这种情况下我们设计的网页只要兼容它就行了,但NetScape在国外还是有很多人使用,毕竟它是浏览器的元老。
虽然没有办法做出让所有浏览器都兼容的网站,但只要注意以下几点,做出来的网页在各个浏览器都中能达到比较好的显示效果:
a、不要混合使用层和表格排版,如果是父子关系,如层中表格,不在此原则范围内。
b、内联式的 CSS 在 Netscape Navigator 中经常会出现问题,使用链式或内嵌式。
c、有时需要在空层插入表格或者透明图片,以保证在 Netscape Navigator 里的效果。
d、对于只有几个像素宽度或高度的层,改用图片来实现。
e、避免使用 W3C 组织不推荐的排版属性,用 CSS 代替。
Ⅳ 怎样调整浏览器兼容
以360浏览器为例,
打开360浏览器。
默认都是工作在极速模式。在地址栏右侧找到如下绿色闪电图标。
对某个网站设置为兼容模式后,以后再次打开仍然保持在兼容模式状态。
同样方式,可以由兼容模式调整为极速模式。
Ⅳ 如何让网页在浏览器自适应屏幕大小
想要网页宽度自适应,需要把网页元素宽度设置为百分比,还要在网页头部加上代码: <meta name="viewport" content="width=device-width,initial-scale=1.0" />。
图片自适应,且不超过原始大小,需要设置最大宽度,代码如下: img{ width:100%; max-width:100%;}。
Ⅵ DIV+CSS怎么适配浏览器
DIV+CSS适配浏览器,意思就是对于div+css的布局,在各个浏览器中的显示,而且回是正确的显示,也就是IE,chrom、firefox等等,要满答足也就是说在各个浏览器中不会出现错位等问题,要实现这些就需要通过hack,或者是说一些浏览器的兼容技术来实现,如一个透明度,一般在ie中用的是filter:alpha(opacity=0);这个属性来设置div或者是块级元素的透明度,而在firefox中,一般就是直接使用opacity:0,要做到兼容就是在css中2种都写到,具体看下代码:
<html>
<head>
#div1{
width:200px;
height:600px;
margin:0 auto;
opacity:0;
filter:alpha(opacity=0); //0 代表的是隐藏,就是透明度最低。
}
</head>
<body>
<div id='div1'>
<p>测试文字。</p>
</div>
</body>
</html>
Ⅶ 电脑浏览器兼容性怎么弄
这样的情况,打开浏览器,在浏览器的地址栏后面会有兼容模式选择,极速模式或是兼容模式,切换一下就可以了