IE6、jQuery、CSS——这三个东西似乎没有什么直接的关系,但在前端开发中,它们的结合却是不可避免的。下面我们就来一次梳理。
首先是IE6,这是一个什么样的浏览器呢?它在2001年发布,是当时的主流浏览器,但它的渲染引擎对标准的支持非常不好,特别是对一些常用的CSS属性(例如position:fixed)支持不足,在当时的网页设计中常常会因为IE6的兼容问题而出现各种诡异的问题。
于是,一些前端工程师开始调研探索,如何以尽量少的代码改善IE6的兼容问题。这时候就需要提到jQuery这个JavaScript库了,它能够使开发者以更加简单易读的方式操作DOM、处理事件等操作,不仅让开发效率大大提高,也能够解决一些兼容性问题。更重要的是,jQuery以最大限度保持对IE6的兼容,为此它需要特别的处理一些浏览器兼容问题,而这正是避免使用原生JavaScript时,IE6带来麻烦的原因——当你需要特别处理IE6时,就需要翻开JS书籍或者前人写的代码对IE6进行照顾,而IE6存在一些诡异的行为,令这项工作非常复杂。
$(window).scroll(function() { if($.browser.msie && $.browser.version == '6.0') { var scrollTop = $(window).scrollTop(); $('div#container').css('position', 'absolute'); $('div#container').css('top', scrollTop + 50 + 'px'); } });
那么我们来看下上面这段jQuery代码的作用:当用户在IE6中滑动屏幕时,获取滑动的高度(scrollTop),然后将div#container的position属性改为absolute,让其自动移动到离页面顶部50像素的位置。这个操作对其他浏览器并无半毫影响,但恰恰让IE6具备了更好的表现。
最后再提到CSS,它是前端开发中不可或缺的一环。jQuery的强大之处在于它对DOM操作的封装,它通过处理一些常用的CSS样式,并通过合理的使用JavaScript,让开发者可以快速地掌握前端开发的技能:让HTML页面呈现出一种优美的风格。
本文可以说是一次前端技术的展示,我们从IE6浏览器的问题,到jQuery的引入优化,再到CSS的加持来进行一次探究。随着前端技术的不断进步,我们相信IE6的问题,也会再没有出现,前端工程师的开发效率会越来越高,开发出来的产品也会越来越出色。