回复内容:
这还是技术和技巧的问题。如果认为学习兼容ie6/7就是撑握一堆css hack那没必要,css hack无非是利用css错误处理的差异绕过一些浏览器,这都是技巧,碰到一个搜一下就有答案。了解一下css错误处理有点用,重要是合理的html/css写法可以避免很多兼容性的问题,典型就是滥用float,如果是从更合理的设计html结构,运用更好的布局技术,从这个角度出发,解决兼容问题就不是撑握css hack,而是撑握一些fallback的方案,这是对的,也是有意义的。
ie6/7没了,新的兼容问题又会出现。桌面浏览器和手机浏览器的差异,低端手机浏览器不亚于ie6。前端工程师很长一段时间内都会面对兼容性问题。学会正确面对兼容性问题是有必要的。
绝对没有必要。
【更新:楼下那些说有必要的,麻烦你们切题清楚点,你们自己要兼容IE6你公司可能是为此付钱给你,但是提问者还是在校生,有人付钱让他学习兼容IE6吗?】
目前(2012年10月)IE6、IE7的市场占有率即使在最小白的市场,份额也下降到了25%以下。考虑你还是在校生,意味着你进入可以承担较为独立的工作岗位时,至少还有2年以上时间,届时IE6、7的占有率估计至少将跌至10%以下,甚至可能小于5%。这意味着届时只有很少的互联网产品才会考虑兼容,比如那些最最基础的互联网应用和网站,而这类网站、应用往往都是已经非常成熟的codebase,没你什么事。
另外,作为在校生,我不建议你现在就确定前端开发方向。前端开发的职业前景并不乐观。如果你想从事编程类工作,最好是把计算机基础打好,例如数据结构、算法、编译原理等。甚至好好学习下互联网基础协议,比如HTTP(1.1和未来2.0草案),绝对比花时间在IE6、7上有价值。
首先,有一个误区就是,一说要“兼容 IE6”,就等于让网站在 IE6 下和在现代浏览器下一模一样。
破除这个误区和强迫症,你就没什么可纠结的了。你要接受 IE6 和其他浏览器不一样,优雅降级,至少给 IE6 用户一个提示。对于新的、符合标准的技术,要敢用会用,如果在 IE6 下不支持,那就不支持好了(但是你要考虑到解决方法,而不是彻底不管)。所有 IE6 的问题,我相信都可以在标准的框架下面得到解决,不一定是完美解决(不要勉强)。
至于那些 hack 什么的奇技淫巧还是少接触为妙。当然,你在自学的时候,可以尝试任何东西,但是就怕你产生了依赖,以为那样是正常无可厚非的的(业内的一种奇怪的论调“管用就行”)。从这个角度讲,岂止是兼容 IE6 的问题,还有很多问题是需要你做选择的。比如经常遇到的元素的垂直居中、背景图的“填充”效果等有很多的近乎 hack 的技巧:div 套 div,把背景图改成 img 元素什么的。你直接 copy 代码,然后实现了这样的效果,却没有思考这样做的合理性和必要性——长此以往,你的水平也不会有本质的提高。
我觉得,在一开始,能够用 CSS 把设计意图表达清楚就不错了(很多人未必能做到),不用要求一模一样。
你在参加工作之前,没有人逼着你必须做出某种效果来否则就滚蛋,也没有整天嚷嚷着“没有什么是技术上实现不了的”的上司,那么你何苦呢?
你可以有态度,但你首先必需有能力。如果客户要求你支持ie6,ie7,你做不出却跟他谈态度?没有能力为基础的态度,就是bullshit。
jQuery支持ie6,难道是因为John Resig没有态度?如果John Resig的Javascript能力不足以支持他开发出兼容ie6的库来,他的态度再高傲,jQuery也不会像今天这样流行。现在,你们享受着jQuery的便利,却来嘲笑那些为技术做出贡献的人,John Resig的付出到底是为谁的脑残付账?
一个html和javascript工程师,如果不懂基本的兼容ie的技巧,你还是最好自己创业吧。这无关ie6,ie7的市场占有率,而是关乎学习的本质。你说你Javascript牛逼,证明给我看,别跟我扯什么态度。
用明天的技术,不要用昨天的技术——吉姆 格雷
不需要。
做技术和做产品,甚至做媒体都一样,需要有态度。
没有态度的结果是,你在用你的技术生涯,前途回报,甚至直白些说,在用你的生命为别人的脑残标准付账。
IE 6,7 甚至 8 的反人性我想不用多说了。而花时间去对应这些会付出实在的机会成本。有这个时间,还不如去深入今天最新的标准和前端框架。
你会做的更愉快,也赚的更多。更重要的,为世界带来更好的东西。
否则?
VB 或者 .Net 程序员就是你很好的前车之鉴。
好吧,我也是在校的。
虽然去兼容 IE6/7/8 的话会花掉大量的时间,但是目前在去兼容这些古老浏览器的同时,你能学到的不仅仅是一个兼容性问题的解决方案,在你解决一个兼容性问题的时候你要考虑的东西会很多,包括浏览器发展的历史,IE 特有的 hasLayout,BFC,更深入的是在你解决这个这个问题的同时你可能会去考虑,这是一个 bug 还是特性?设计者在支持这个功能的是怎样考虑的?这些都是基础,了解一下不至于花上你那么多的时间。
虽然只是解决一些兼容性的问题,但是在你解决一个问题的同时你可能得到的更多。假如一直在符合规范,支持最新特性的浏览器里做开发,因为都是最新的标准,你写的代码都能信手拈来,你写着很舒服的代码,一些本质性的东西你可能会被忽略掉。
当然也不是很虐心的每次都要去做 ie6/7/8 的兼容,但是渐进增强,平稳退化,至少要保证可访问性,这也是一个前端必须做到的吧?
目前 IE6/7 的份额还保持在 30% (不包括 360 安全浏览器之类的 IE 加壳浏览器)左右,虽然说两年之后的份额会下降很多,但是下降到可以忽略不计的时候还没有那么快。
至于说做以后只做移动端的,可以不做 IE6/7 的兼容,但是学多一点没什么坏处吧?
不同意第一名的回答,必须有必要稍微了解一下IE6浏览器兼容性的处理方法(IE7就不需要了),因为IE6至今在国内依旧是很大的一块市场份额,
http://brow.data.m.sbmmt.com/
这里有浏览器市场份额数据,可以看出,IE6至今仍然是互联网排名第2的浏览器,众多xp都是自带IE6,而至今电脑城负责装机的帅哥们都是首推xp,他们手里的xp盘又都是很老的那些番茄花园之类的ghost盘,去年我去修电脑的时候,甚至听到了一哥们说,qq我只要08版.这些人构成了互联网用户的最低层,只要你能搞定IE,你的网站就可以侵占那21%的市场,你认为多少boss会放弃呢
而主要的问题就是IE6消亡时间问题,我查看了2012年1月份的数据,市场份额是25%左右,整个市场波动图在这里看http://brow.data.m.sbmmt.com/main.php?s=brow_detail&uv=&brow=&st=2012-01-25&et=2012-10-24
我觉得之所以IE6能够下降这么快,估计还有360的功劳,但是短时间内下降的趋势已经不会很明显了,所以除非体问者是刚刚上大学的小朋友,不然我觉得至少需要去了解下兼容,其实个人认为刚上大学的同学不会这么快想到未来的方向吧,总之,如果你还有2年就毕业的话, 就了解下,不一定要精通,其实就算你想精通,也必须等到工作的时候.
如果时间还很久,我觉得还是多学点东西吧,不用局限于前端
个人以为,浏览器兼容性的问题并非IE6消失了就解决了
虽然有W3C,但是各个浏览器厂商为了凸显自己产品的特性还是各自为政。
HTML5和CSS3标准还没出来,各浏览器的实现程度都不一样,即使出来了,又会有HTML6、CSS4……,到时候可能又会有人举起呐喊“打倒IE9”
对于一些配置比较差但依然服役的PC而言,XP+IE6的性能要优于比较现代的浏览器,而随着浏览器功能的增多,对硬件的要求越高,IE9可能为了兼顾用户的硬件不回持续更新而紧跟新标准
IE6的问题不过是科技进步的副作用,对于有些做Windows程序的人而言,可能使用Win7的Win32API,同样得想办法兼容XP
回到这个问题本身,在下也是做网站的,前段后端的代码都写,就在下的经验来看,只要按着CSS本身的设计理念和机制来做,少用浮动,慎用定位(相对定位和绝对定位),熟悉盒式模型,多用流布局,其他的如文字样式、颜色、背景等都没什么兼容问题,一些修饰性的CSS3特性如渐变、阴影、高光等IE9都不支持,不用也不影响用户阅读,就不用考虑IE6了。选择器方面有些不兼容的可能需要js代替,不建议使用复杂的选择器。
至于该不该花时间去处理兼容性,应该说,各个浏览器之间都有差异,当初IE6也是非常先进的,如今受人唾弃,而如今这些现代的浏览器也都有布这后尘的一天,也许有人说浏览器都像Chrome一样后台升级不就玩了,但是软件可以升级,硬件无法升级,浏览器新特性的增加是有瓶颈的,尤其是以后大量应用直接运行在浏览器中,性能更堪忧
低版本的浏览器基本上保持一致,不影响用户阅读就可以了。重点还是熟悉CSS的运行机制和各浏览器的实现机制,多学多模仿多练,各浏览器的差异了解多了自然就没那么不淡定了,所以,技术和心态很重要。
借用古语结束:无他,唯手熟尔
学习兼容ie6和ie7没必要,你可以把做好的网站在ie6和ie7上测试下,显示没问题就行。
但是我不能同意某一个开发者所说的抵制ie6用户和ie7用户。这样的国外网站我见过,也很少,多数是想赚名声的。
如果在国内:不兼容ie6和ie7 ? 你一个网站想要挟用户升级浏览器? 那一定脑子进水了。
国内网站有哪个敢这么说?如果他能活下去再来吹这个牛吧
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn