① web浏览器兼容性问题怎么解决办法
浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。
碰到频率:100%
解决方案:css里 *{margin:0;padding:0;}
备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的css文件开头都会用通配符*来设置各个标签的内外补丁是0。
浏览器兼容问题二:块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的大
问题症状:常见症状是ie6中后面的一块被顶到下一行
碰到频率:90%(稍微复杂点的页面都会碰到,float布局最常见的浏览器兼容问题)
解决方案:在float的标签样式控制中加入 display:inline;将其转化为行内属性
备注:我们最常用的就是div+css布局了,而div就是一个典型的块属性标签,横向布局的时候我们通常都是用div float实现的,横向的间距设置如果用margin实现,这就是一个必然会碰到的兼容性问题。
浏览器兼容问题三:设置较小高度标签(一般小于10px),在ie6,ie7,遨游中高度超出自己设置高度
问题症状:ie6、7和遨游里这个标签的高度不受控制,超出自己设置的高度
碰到频率:60%
解决方案:给超出高度的标签设置overflow:hidden;或者设置行高line-height 小于你设置的高度。
备注:这种情况一般出现在我们设置小圆角背景的标签里。出现这个问题的原因是ie8之前的浏览器都会给标签一个最小默认的行高的高度。即使你的标签是空的,这个标签的高度还是会达到默认的行高。
② 怎么能更好的提高网页浏览器兼容性呢
现今浏览器有多种内核,老牌的ie,firefox,以及op等等,由于各个浏览器对margin定位以及js都有不同的理解,导致同一份文件出现各个浏览器不兼容得情况,解决方法有以2几点(我常用的2点,不怎么详细)1.使用比较兼容的对象编写,比如js获取form1表单中的txt1的value采用document.getElementById("txt1")这种形式比document.form1.txt1兼容性要好,2.针对各个浏览器写对应的css,ie家族里面有个折磨程序员的版本:ie6,这是让很多程序员深恶痛绝的ie版本,在对margin定位和float的时候经常出现div跑位、文字消失、图片消失等离奇诡异的现象,对此可以针对ie6写css,比如margin-top:30px;可以在他下面加_margin-top:30(前面加下划线为ie6专用)*margin-top(加星号为ie专用),针对float浮动导致元素消失,可以在该元素之前加一个div 给个style="clear:both;",ie6还有个蛋疼的bug,不支持png透明格式图片,解决方法有:网络一个js文件,名字叫DD_belatedPNG.js,下载好后放在js目录下,然后在要透明的页面引入该文件:<!--[if IE 6]>
<script language="javascript" type="text/javascript" src="js/lib/DD_belatedPNG-min.js"></script>
<![endif]-->,最后,重要的一步,别忘记fix一下, DD_belatedPNG.fix("div, a, span, li, img,input");括号里面放你png图片所在的标签或者id或者class名,谢谢采纳
③ web前端主要兼容哪些浏览器
一、浏览器的占有率:
④ Web前端中常见的浏览器兼容问题有哪些
使用Trident内核的浏览器:IE、Maxthon、TT; 使用Gecko内核的浏览器:Netcape6及以上版本、FireFox; 使用Presto内核的浏览器:Opera7及以上版本; 使用Webkit内核的浏览器:Safari、Chrome。
而我现在所说的兼容性问题,主要是说IE与几个主流浏览器如firefox,google等。而对IE浏览器来说,IE7又是个跨度,因为之前的版本更新甚慢,bug甚多。从IE8开始,IE浏览器渐渐遵循标准,到IE9后由于大家都一致认为标准很重要,可以说在兼容性上比较好了,但是在中国来说,由于xp的占有率问题,使用IE7以下的用户仍然很多,所以我们不得不考虑低版本浏览器的兼容。
对浏览器兼容问题,一般分,HTML,Javascript兼容,CSS兼容。 其中html相关问题比较容易处理,无非是高版本浏览器用了低版本浏览器无法识别的元素,导致其不能解析,所以平时注意一点就是。特别是HTML5增加了许多新标签,低版本浏览器有点影响时代进步啊
问题一:不同浏览器的标签默认的外补丁和内补丁不同
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。
碰到频率:100%
解决方案:css里*{margin:0;padding:0;}
备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的css文件开头都会用通配符*来设置各个标签的内外补丁是0。
问题二:块属性标签float后,又有横行的margin情况下,在ie6显示margin比设置的大
问题症状:常见症状是ie6中后面的一块被顶到下一行
碰到频率:90%(稍微复杂点的页面都会碰到,float布局最常见的浏览器兼容问题)
解决方案:在float的标签样式控制中加入 display:inline;将其转化为行内属性
备注:我们最常用的就是div+css布局了,而div就是一个典型的块属性标签,横向布局的时候我们通常都是用div float实现的,横向的间距设置如果用margin实现,这就是一个必然会碰到的兼容性问题。
问题三:设置较小高度标签(一般小于10px),在ie6,ie7,遨游中高度超出自己设置高度
问题症状:ie6、7和遨游里这个标签的高度不受控制,超出自己设置的高度
碰到频率:60%
解决方案:给超出高度的标签设置overflow:hidden;或者设置行高line-height 小于你设置的高度。
备注:这种情况一般出现在我们设置小圆角背景的标签里。出现这个问题的原因是ie8之前的浏览器都会给标签一个最小默认的行高的高度。即使你的标签是空的,这个标签的高度还是会达到默认的行高。
问题四:行内属性标签,设置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的话,它的高宽就不可设了。这时候我们还需要在display:inline后面加入display:talbe。
问题五:图片默认有间距
问题症状:几个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;当内容高度大于这个值时,容器高度被撑高,而不是出现滚动条。这时候我们就会面临这个兼容性问题。
问题七:透明度的兼容css设置
技巧一:css hack
使用hacker 我可以把浏览器分为3类:ie6 ;ie7和遨游;其他(ie8 chrome ff safari opera等)
ie6认识的hacker 是下划线_ 和星号 *
ie7 遨游认识的hacker是星号 * (包括上面问题6中的 !important也算是hack的一种。不过实用性较小。)
因为优先级相同且相冲突的属性设置后一个会覆盖掉前一个,所以书写的次序是很重要的。
越少的浮动,就会越少的代码,会有更灵活的页面,会有扩展性更强的页面。这不多说,归结为到一定水平了,浮动会用的较少。另外,您也会避免使用浮动+margin的用法。所以,越后来越不易遇到这种bug。
技巧二:padding,marign,height,width
注意是技巧,不是方法: 写好标准头http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>http://www.w3.org/1999/xhtml”>尽量用padding,慎用margin,height尽量补上100%,父级height有定值子级height不用100%,子级全为浮动时底部补个空clear:both的div宽尽量用margin,慎用padding,width算准实际要的减去padding
技巧三:显示类(display:block,inline)
display:block块元素,元素的特点是: 总是在新行上开始;高度,行高以及顶和底边距都可控制;宽度缺省是它的容器的100%,除非设定一个宽度
display:inline就是将元素显示为行内元素,元素的特点是:和其他元素都在一行上;高,行高及顶和底边距不可改变;宽度就是它的文字或图片的宽度,不可改变。span,a,label,input,img,strong和em是 inline 元素的例子
技巧四:怎样使一个div层居中于浏览器中?
1)
2)div里的内容,IE默认为居中,而FF默认为左对齐,可以尝试增加代码margin: 0 auto;
技巧五:float的div闭合;清除浮动;自适应高度
① 例如:<div id="floatA"><div id="floatB"><div id="NOTfloatC">
这里的NOTfloatC并不希望继续平移,而是希望往下排。(其中floatA、floatB的属性已经设置为float:left;)
这段代码在IE中毫无问题,问题出在FF。原因是NOTfloatC并非float标签,必须将float标签闭合。在<divclass="floatB"><div class="NOTfloatC">之间加上<div class="clear">这个div一定要注意位置,而且必须与两个具有float属性的div同级,之间不能存在嵌套关系,否则会产生异常。并且将clear这种样式定义为为如下即可:.clear{clear:both;}
②作为外部 wrapper 的 div 不要定死高度,为了让高度能自适应,要在wrapper里面加上overflow:hidden; 当包含float的box的时候,高度自适应在IE下无效,这时候应该触发IE的layout私有属性(万恶的IE啊!)用zoom:1;可以做到,这样就达到了兼容。
例如某一个wrapper如下定义:
③对于排版,我们用得最多的css描述可能就是float:left.有的时候我们需要在n栏的float div后面做一个统一的背景,譬如:
比如我们要将page的背景设置成蓝色,以达到所有三栏的背景颜色是蓝色的目的,但是我们会发现随着left centerright的向下拉长,而page居然保存高度不变,问题来了,原因在于page不是float属性,而我们的page由于要居中,不能设置成float,所以我们应该这样解决:
再嵌入一个float left而宽度是100%的DIV解决之。
④万能float 闭合(非常重要!)
关于 clear float 的原理可参见 [How To ClearFloats Without Structural Markup],将以下代码加入Global CSS 中,给需要闭合的div加上class=”clearfix”即可,屡试不爽。
或者这样设置:.hackbox{display:table; //将对象作为块元素级的表格显示}
技巧六:div嵌套时 y轴上 padding和 marign的问题
FF里 y 轴上 子div 到 父div 的距离为 父padding + 子marign
IE里 y 轴上 子div 到 父div 的距离为 父padding 和 子marign 里大的一个
FF里 y 轴上 父padding=0 且 border=0 时,子div 到 父div 的距离为0,子marign 作用到 父div 外面
⑤ 什么浏览器适合WEB程序员
应该是IE
采纳哦
⑥ web前段开发怎么解决浏览器兼容性
不同浏览器对HTML标记所具有的内外边距属性具有不同的定义。
因此如果想消除这种差距,应该在相应的CSS部分加入以下CSS代码:*{margin:0px;padding:0px;}借于此,所有标记的内外边距被统一起来。
优先级问题:
对于同一标记属性所给定的值,有不同的优先级。其中优先级最高的是内联代码,其实是页内CSS,接下来是浏览器默认设置,最后才是外部CSS所做的限制。
Margin不一致的问题:
当有多张图片需要排在一行时,我们通常使用“Float:Left”来实现,这样一来,浏览器就存在兼容性问题。导致图片与后面的内容存在margin不一致的问题。对此一种解决方法就是给图片添加“Display:inline”项即可。
DIV居中问题:
通常我们会利用“vertical-align:middle”来实现,这对于搜狗浏览器来说,是正常的,但是对于IE浏览器来说,却并没有效果。对此,一种较好的解决方法是:将文字的行高设置与DIV一样时即可解决问题。
内外边框合并问题。通常情况下,对于两个相关DIV块,相邻时采用外边距合并原则,其结果只最两个DIV块中Margin最大值做为两个DIV之间的间距。包含的两个DIV之间的间距也遵行同样的规则。
掌握了这一规则,在利用DIV块进行布局时我们就可以做的更加得心应手。
⑦ 做web程序设计,用什么浏览器好火狐吗
做web程序设计没有那个浏览器最好,因为不同的浏览器有不同的机制,你做得程序要跟不同的浏览器兼容,所以你最好多装几个浏览器。不过火狐的好处是可以装脚本调试。脚本检测起来比较方便,所以要看你项目的侧重来选择浏览器。
⑧ Web开发瓶颈:为何浏览器兼容困难重重
对于开发和设计都由程序员兼着的小公司的信息部门来说,更是雪上加霜。就连京东商城,包括网络做出了的东西,也都很难保证主流浏览器的完全兼容。其中最典型的是京东,经常性地用Firefox打不开,看来是只兼容IE族啊。一次在京东上给孩子买奶粉的时候,还以为京东被黑了,可是换了IE浏览器一切正常。我给京东写过邮件反映过此问题,现在情况好多了,但还是偶尔会遇见火狐打不开的情况。而本以为网络在兼容性方面做得天衣无缝,可是今天在上传文档到网络文库的时候,出现了Firefox不能上传而IE可以的情况。看来要做好兼容性谈何容易? 我认为原因主要有以下几点: 浏览器种类和版本多,并且其渲染引擎的工作原理不一样,俗称的浏览器内核不一样。导致了要做到兼容工作量很大。随着web标准的推行,这种问题虽然比以前有所减少,但还是不容乐观。导致Web前端设计者每改变一点代码,就要在所有主流浏览器上跑一遍。并且一旦发现了不兼容的情况,要找出问题原因并给出解决方案并不是一件容易的事。这一点我很有体会,导致我对web前端的编码非常小心,有时根本不敢写,想实现一些特殊的效果,只能到别人的网站上借鉴:)。在这个过程中Firebug帮了我不少忙,也学习了很多前端知识。但如果要我选择BS还是CS哪种方式,我会首选CS,因为BS方式的开发经验告诉我很难做好,开发体验很不愉快。看来Silverlight真是程序员需要的(浏览器中的C/S开发),门户网站因为存在部署成本,相对于HTML+JS的方式,很难大面积推广。 浏览器的javascript引擎工作原理不一样,尤其是JS和DOM在一起写代码的时候,你也不敢写,同样不能保证兼容性。于是JQuery等框架满天飞,当然借助这些框架可以节省我们很多宝贵的时间。但是毕竟我们不是专业的前端开发者,你对JS很熟悉吗?比对C#还熟悉?而且,使用框架的尴尬是不敢跳出框架的范围,一旦跳出了,就担心兼容性是否被破坏了。 前端开发是需要经验积累的职业。知识零碎是我的第一印象,HTMLcss和js哪一样要想精通都不容易。然而,业内对其技术含量并不尊重,没有好用和专业的IDE这一点就可见一斑,Js被大多数人看作脚本语言,更说明了很多人根本没给予充分的重视。开发者都不重视了,还怎么做到兼容性。我敢说公司要招聘到一个有经验的前端工程师并不容易。 其实企业选择Silverlight开发也是无奈之举,毕竟C#+XAML就能搞定一切,成本低。就让程序员兼着前端开发吧,我不用招聘2倍的人。毕竟,内部应用部署个SL很轻松,更何况SL更强大,想怎么做就怎么做,更适合行业软件的开发。程序员也更喜欢这种C#前后端一体化开发的方式。 然而,HTML应用不会被任何东西取代,我也仍然需要积累前端开发的知识,其实也不用悲观,因为有大量的成熟网站可以被我们拿来研究。
⑨ 哪个电脑浏览器最适合程序员
个人体验,再加上问了一下深度程序员的老公,推荐一下chrome浏览器。
首先,chrome的兼容性是最好的。不管是windows,IOS,还是LINUX系统,基本上都会定期升级,而chrome基本上很少出现因为系统升级导致的兼容性不良的情况,按照老公的经验,甚至连手机上都可以安装。这种良好的兼容稳定性使得你可以长期使用chrome浏览器,而不需要担心因为更换电脑,软件升级等原因导致的当机。
其次,其实Google在设计chrome系统的时候,就是一直在大肆鼓吹chrome的速度。在chrome游览器的介绍中,也是宣扬自己是启动速度和载入网页速度最快的游览器之一。想必所有的程序猿,都不希望自己的办公效率因为电脑软硬件没有达到最优状态,而不断不断出现卡顿吧?
像我这种连做个PPT都能卡住的电脑,我老公这种资深程序控强迫症是根本接受不了的,而自从用上chrome,基本上他就没再换过其他的了。
第三,chrome本身的页面设计非常的简洁。没有启动网页,没有无关的广告栏,收藏栏,插件,Google的设计就是一切都从简,但是这对于一位程序员来说,不就是最棒的选择?
“我需要的是一张白纸......对,就像chrome这样。”
第四,开发者插件。
chrome游览器是可以从plugin库中下载专业的开发者工具,这里面其实是很多的程序员自行开发的插件,在浏览器的plugin库中你都能找到。总之,一款非常简洁大方的浏览器,但是内部的可拓展及可探索空间确实极为壮阔,是不是感觉世界很美好?
然而,比较可惜的一点是,因为Google和中国say bye bye导致多数中国区用户无法使用gmail和Google账户,chrome 的同步与更新的优势无法让大多数中国用户感受到。如果你实在无法忍受账户被各种屏蔽各种禁用,可以尝试用用360极速,因为基本上用的也是chrome的UI。
⑩ web前端开发过程中,出现浏览器兼容问题,一般从什么角度考虑解决
1、写代码的时候遵循W3C标准,按照最新稳定版本的IE或WebKit内核浏览器进行编码。
2、遇到部分无法全面解决浏览器兼容的时候,采取CSS的hack手段进行针对性微调。
3、遇到特别难解决的,可以用JS强制修改。