首页 > 开发 > CSS > 正文

绝对定位才是WEB的精髓

2024-07-11 08:26:21
字体:
来源:转载
供稿:网友
若是你从未碰到过此问题,并且非得用纯CSS来实现,我想你一时半了也是束手无策吧。这里不讨论如何实现的细节,网上关于此问题的解决方法也是层出不穷,但都有共同点:复杂,取巧。

      且不论纯CSS的实现是否有意义,光是其CSS的代码就违背的HTML的思想:用简单的方法实现复杂的效果。这里的简单不仅仅是指代码上的简短,更重要的是体现一种容易实现的解决方案。显然,先前提到的方案里,用纯CSS是最不容易实现的。当然,你已有现成的例子或许更加简单,但更多的时候面对的是一些从未经历过的问题,如果非得用纯XXX实现的话,岂不是事倍功半。事实上,HTML里包含的每个特征都是为了简化开发者的工作量而设计的。CSS,JS,Flash。。。以至于未来的HTML5,新的特征不仅仅是为了丰富内容,更多的是为了简化原先的实现!

      仍旧是垂直居中的问题,我们抛弃纯CSS,用JS辅助CSS实现,会发现总体代码并没有增加多少;相反,每条每句都是那么容易的理解,完全可以抛弃那一堆hack,以及一些晦涩的,没有注释根本没法琢磨的CSS代码。最终呈现在用户眼里的都是一样的效果,又何不选择一条实现简单容易的方法,而要走崎岖不平的山路呢?

      有些人认为纯XXX的实现是一种水平的体现,我认为是完全错误的观点。你用纯css制作了各种各样的特效,说明这方面积累的比较多,你需要了解每个浏览器的怪异特征,并逐一测试,还需不时的关心浏览器升级过后这些特征是否发生了变化。然而,配合利用JS来实现,其解决方法就要简单明了的多。

      且不论渲染效率谁快谁慢,光是开发效率后者要高的多,即便是渲染要慢些,那也仅仅是忽略不计的那一丁点(事实上是不会比纯CSS的慢)。此前也常常在网上看见不少人发帖提问,XXX效果用纯CSS怎么实现。大家于是开始琢磨,但不是这个浏览器有问题,就是那个浏览器不兼容。最后终于出现正确答案,一大堆乱七八糟的CSS,甚至还加了无用的元素,仅仅是为了影响周围一些变化。大家看了也是一知半解,但测试了下的确可以,于是纷纷发帖佩服,表示高深,很强大。

      然而,回过头仔细想想,把各种浏览器的怪异现象利用的淋漓尽致,究竟是一种高明呢,还是一种退步?在过去,IE独占天下的时候,WEB的开发时一件很轻快的事,因为即使我们不按标准去做,但只要IE里运行正常就可以了。那个时候应该有不少和我一样,连document.getElementById这样基础的东西都不知道,因为IE里不需要。与其说是WEB开发,不如说是IE开发。然而,随着各种浏览器的不断冒出,WEB开发已不再像过去那样轻快了,相反是件头疼的事,我们需要花大量的时间在与内容毫不相干的事上,甚至连总结差异也成了WEB开发的一部分。每个浏览器虽然大致相同,但细节方面却各有所异。过去IE的页面在其他浏览器里或许变得支离破碎,原因也很简单,无非两个:1.我们本来就没有按照标准去做,2.其他的浏览器没有严格按标准去实现。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表