CSS标准被打破了吗?
不同的浏览器选择以他们自己喜欢的方式呈现CSS,有一个标准有什么意义CSS标准被打破了吗?,css,web-standards,cross-browser,Css,Web Standards,Cross Browser,不同的浏览器选择以他们自己喜欢的方式呈现CSS,有一个标准有什么意义 简单的事情,比如创建一个可以在所有浏览器上运行的流畅的3列布局,可能会让人沮丧。您如何处理这个问题,或者使跨浏览器兼容开发不那么痛苦?该标准有一些缺点。这也是一件很难实现的事情。问题出在执行上,而不是标准上 使用像YUI这样的东西,很多聪明的人都做了很多艰苦的工作,让这些东西在各种浏览器中工作。像往常一样,所有这些背后都有一个原因 标准没有被打破(一个标准不能被打破),只是一些浏览器,比如IE,没有完全遵守它 这主要是因为IE
简单的事情,比如创建一个可以在所有浏览器上运行的流畅的3列布局,可能会让人沮丧。您如何处理这个问题,或者使跨浏览器兼容开发不那么痛苦?该标准有一些缺点。这也是一件很难实现的事情。问题出在执行上,而不是标准上
使用像YUI这样的东西,很多聪明的人都做了很多艰苦的工作,让这些东西在各种浏览器中工作。像往常一样,所有这些背后都有一个原因 标准没有被打破(一个标准不能被打破),只是一些浏览器,比如IE,没有完全遵守它 这主要是因为IE是在创建任何标准之前开发的,当时它是最好的浏览器,几乎没有竞争对手(我读到netscape是另一种选择,它比IE差得多) 然后人们意识到需要一个标准,他们创建的标准显然不包括任何IE专有代码和特性。IE被迫选择与以前的版本向后兼容,或者坚持这个新的“标准”,他们绝对统治着浏览器市场,所以选择是显而易见的 随着新版本的出现,IE试图越来越符合标准,他们说IE8成功地通过了ACID2测试,因此标准乌托邦(慢慢地)成为现实 同时,检查包含有用的跨浏览器信息的网站->。另外,请尝试在线查看任何关于“IE box model”的文章,不要在IE中填充内容。如果您也使用第三方javascript库(JQuery、Prototype、Dojo),您应该很好(或者像我们任何人一样好)
尊敬。拥有标准的一个主要目的是让我们避免另一场浏览器大战。你知道网景和微软一直在浏览器中添加尽可能多的专有功能。与当时相比,今天的跨浏览器开发是一件轻而易举的事 拥有标准的另一个很好的理由是,您知道浏览器的未来版本将走向何方。遵循这些标准是对未来浏览器工作方式的最佳预测
您可以在这个问题中找到许多跨浏览器提示:标准是公开的,因此不符合标准的浏览器可以查看和学习。该标准很重要,因为它是您希望使网页在所有页面上正确显示的唯一方法 还要记住,制定的标准绝不是为了过去,而是为了未来。如果在过去一些浏览器没有确认标准,这并不意味着我们不应该有标准 事实上,该标准的诞生是因为浏览器都在做自己的事情,那时就需要该标准 如果您按照标准编写代码,浏览器将对此进行确认
有希望的朋友 标准是紧急的,不是预先定义的。好吧,至少应该是这样。与我交谈过的许多开发人员似乎发现我对Web标准的看法有点异端,但请继续关注我 在实施之前尝试创建标准时,会出现以下问题:
- 在有用的实现出现之前有很长的延迟。没有人有一个可供参考的工作实现,而且由于没有人使用该标准的任何特性(因为它还不存在),因此实际实现它的动力很小。鸡和蛋的问题
- 无法实际实施的标准的可能性。在有人真正尝试之前谁能确定呢?HLA标准就是一个很好的例子,国防部不得不写一份“解释”备忘录,试图通过掩盖实际标准中的一些错误来设定事实标准
- 不满足任何实际需要的标准的潜力。人们真的想要这个吗?参见XForms的例子,它已经陷入了一个奇怪的服务器端利基。或者,我想不出我见过的任何人会认为CSS“宽度不包括填充”框模型是直观的
- 标准实施者无法将其产品与竞争对手区分开来,从而导致顽固地希望在实践中违反标准或以令人鼓舞的方式锁定。参见CORBA的例子
.box {css rules}
*+html .box {css rules to override in ie7}
* html .box {css rules to override in ie6}