我刚开始工作的一个漂亮的大公司和我的小组负责管理他们所有的面向公众的网站。我打开的样式表中的第一次今天看到的超过20个实例的设计师使用的语音的家庭黑客修复一个即错误。(我不知道他们为什么允许平面设计师编写的任何种类的标记在所有)

什么是一般公众舆论的声音--家庭破解。它是值得花时间来建议使用即有条件的意见,包括自定义风格的床单?

有帮助吗?

解决方案

黑客的任何一种是危险的,因为他们是容易出现意外影响在未来的浏览器(很多打破了IE7).安全方面的筛选CSS是:

  • (IE)的使用条件的意见。这些会总的工作于Microsoft浏览器和始终被忽略,通过所有其他浏览器,它们在评论
  • 功能针对使用CSS选择,只能支持现代浏览器停止旧的浏览器试图解释规则。然而事实上,浏览器中承认语法并不意味着它处理的是正确的。所有你所能保证的是,旧的浏览器就不会试图渲染这些规则不是现代人会做正确

只要有可能使用的子集CSS支持正确地通过所有主要的浏览器。这是改进,随着时间推移老年buggier浏览器下降到可以忽略的百分比的用户。

其他提示

“语音家庭” hack,更为人熟知的是Tantek Celik Box Model Hack,用于在Windows上隐藏IE4 / 5中的特定CSS规则,因为这些浏览器中的CSS标准实现不正确。它试图向所有浏览器提供最正确的单一样式表,而无需借助浏览器嗅探和多个样式表。

具有讽刺意味的是,这种破解是许多工时(数月?)的实验和测试的结果,以开发符合标准的样式表,适用于较旧的,较新的和未来的浏览器。这是为弥补浏览器符合CSS标准的可怕状态而创建的几种解决方法之一。

请参阅Jeffrey Zeldman的使用Web标准进行设计深入了解为什么坚持标准(尽可能多)是一个有价值的目标,以及为什么使用浏览器嗅探和多个样式表只会导致头痛对于开发者:

http://www.amazon.com/Designing-Web-Standards-Jeffrey -Zeldman / DP / 0321385551 /

一个例子是军备竞赛以跟上浏览器/操作系统的组合,更不用说移动电话和其他具有浏览功能的设备了。检测代码必须随每个新组合而改变,并且由于许多浏览器伪装成Netscape Navigator的方式,检测可以成为全职工作。

另一个很好的参考是Web标准项目,它有很多关于这个主题的好的信息和教程:

http://www.webstandards.org/

如果您将编码风格转向符合标准,则通常不必担心未来浏览器的发布。是的,您仍然需要对它们进行测试,但您不必编写,然后为每个样式测试自定义样式表。

我对这样的黑客的感觉是,如果可以,你应该避免它们。如果可以在不诉诸此类恶作剧的情况下跨浏览器获得正确的呈现,那么您应该以正确的方式进行。但是,有时浏览器有错误的CSS实现,并且有必要使用这样的黑客。

不要使用条件包含。使用 CSS选择器,它更加优雅。您可以在各个浏览器(和/或版本)上定位类:

.myClass {...}

.ie6 .myClass {...}

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top