跨浏览器css规则:Mozila、chrome、safari和css2与css3

跨浏览器css规则:Mozila、chrome、safari和css2与css3,css,cross-browser,Css,Cross Browser,到目前为止,我忽略了两个问题,但我真的很想了解其中的一些情况 首先:我如何解决Safari、Chrome和Firefox之间的差异以及它们的引擎呈现的不同标签?我是否应该在同一css规则中为每个属性写下正确的属性?没有更好的办法了吗 有没有办法像我在IE上做的那样,将这些浏览器的CSS页面分开?这是推荐的吗 第二:CSS3属性如何?我是否应该在CSS2属性之后以相同的规则再次编写它们 这是否会导致使用WC3验证CSS时出现问题?欢迎:) 如果开始时没有前缀,通常应首先使用所有语义上合适的标记编写

到目前为止,我忽略了两个问题,但我真的很想了解其中的一些情况

首先:我如何解决Safari、Chrome和Firefox之间的差异以及它们的引擎呈现的不同标签?我是否应该在同一css规则中为每个属性写下正确的属性?没有更好的办法了吗

有没有办法像我在IE上做的那样,将这些浏览器的CSS页面分开?这是推荐的吗

第二:CSS3属性如何?我是否应该在CSS2属性之后以相同的规则再次编写它们

这是否会导致使用
WC3
验证
CSS
时出现问题?

欢迎:)

如果开始时没有前缀,通常应首先使用所有语义上合适的标记编写代码

然后,你可以决定你的目标是什么

如果您想要W3C兼容的CSS文件,那么默认情况下需要去掉特定于供应商的前缀。这将允许最新的浏览器选择标准化的CSS属性(如果它们支持的话)

这将减少你的目标市场比你可能希望的,那么你应该问,如果渐进增强是一种可能性。如果您可以通过在页面加载后应用css合理地增强视觉效果,例如使用jQuery、MooTools或原型库应用样式,并且这些库已经在您的网站中发挥作用,那么您可以在这些库中应用其他样式(并可能将其与Modernizer结合使用,以确定您可能需要额外支持哪些元素

但是,浏览器很可能会跳过它不理解的属性,并呈现它所理解的属性,因此我建议,如果您先将其编码为W3C标准,然后在最终(正确)之前添加额外的供应商前缀首先,您可能已经满足了合理的措施,以符合要求并满足设计需求

编辑: 以下各项的验证结果之间有一点混淆:

并编写与供应商前缀相关的有效代码,以跨浏览器获得CSS效果:

对于使用某些跨浏览器CSS,您可能会发现,对于IE与某些CSS3属性的兼容性,对于跨浏览器渐变和为您提供可选供应商前缀的代码(包括对许多不同属性的不同版本的IE支持)非常有用

关于验证,以下是W3C对它的看法:(参见此处的评论:)以及此处的官方文档:

如果您首先根据规范编写代码,并根据规范测试代码,然后添加供应商前缀,以便在您想要支持的浏览器上获得相同的效果(请参阅渐进增强:)这样,您就可以更加确信您的代码支持适当的标准,为那些具有更高级浏览器的代码增加了价值,并且对那些没有附加功能的代码仍然有用(如果您想编写一个更具包容性的站点,请参阅WAI III compliance、508 compliance和其他内容)


注意事项:Web应用可能并不总是包含所有内容或遵循这些指导原则,这取决于受众是谁。

如果您在网站上使用
jquery
,您可能需要查看。它是一个为您添加供应商前缀的脚本,因此,例如,您的css中的put
border radius:6px;
,它会读取br我喜欢它,因为它可以让我的
css
文档更可读。

你是指“标签”(例如),还是指特定于供应商的前缀,比如-webkit,-khtml,-moz,-ms,-o。我是指特定于供应商的前缀,比如-webkit,-khtml,-moz,-ms,-o,谢谢你的更正:),顺便说一句,这是一个基于joomla的网站,如果这在任何方面都很重要的话,供应商前缀是CSS中的“属性”。标记指的是HTML元素的一部分。我们是否应该有一个关于HTML5标记和CSS3属性的wiki,这样我们就可以让人们清楚地了解这些内容?感谢详细的回答。如果我理解正确,我应该先写一篇文章将得到验证的通用css,然后在通用css之前添加所有基于供应商和基于css3的属性,它将得到验证。此外,可以在其他属性之后写入所有特定于供应商的标记。我在jquery或其他库方面没有经验(但愿我有,我更多的是joomla专有技术和图形设计师,而不是前端开发人员)我希望这样做。再次非常感谢。@user1154641-供应商前缀是有效的CSS并写入规范,但会被验证程序标记为错误。@user1154641-尽管代码实际上是有效的代码(如Rob所述)如果你想在“通过”验证,那么你可以先写那些没有前缀的,然后在确定没有错误的情况下添加它们。我会按照你所说的做,但这两种方法都是有效的。我想要验证的原因也是谷歌评级,对于验证标签,我想我可以“作弊”有了这个。我应该把另一个CSS和所有未经验证的预修复放在一起吗?这合乎逻辑吗?这是一个好的实践吗?这是一个愚蠢的想法吗?有人可以附加一个链接到不同供应商之间的差异列表以及每个供应商的正确属性,我在任何地方都找不到……):,谢谢…谢谢,听起来很棒,我很欣赏,我会尝试一下,它对商业网站足够好吗?是的,我在公司网站上使用它没有问题,我们有来自世界各地的访问者使用各种浏览器。