我想知道是否有任何方法只使用CSS专门为Safari编写CSS.我知道那里必须有东西,但我还没有找到它.
我认为这个问题是有效的.我同意其他答复,但这并不意味着这是一个可怕的问题.我只需要使用Safari CSS hack一次作为临时解决方案,然后摆脱它.我同意你不应该只针对Safari,但知道如何做就没有坏处.
仅供参考,这个黑客只针对Safari 3,也针对Opera 9.
@media screen and (-webkit-min-device-pixel-ratio:0) { /* Safari 3.0 and Opera 9 rules here */ }
你可以在CSS中使用一些hack来仅定位Safari,比如在分号后面放一个hash/pound(#),这会导致Safari忽略它.例如
.blah { color: #fff; }
.blah { color: #000;# }
在Safari中,颜色将是白色,在其他所有颜色中都是黑色.
但是,您不应该使用黑客攻击,因为它可能会在将来导致浏览器出现问题,并且在旧版浏览器中可能会产生不良影响.最安全的方法是使用服务器端语言(如PHP)检测浏览器,然后根据用户使用的浏览器提供不同的CSS文件,或者您可以使用JavaScript执行相同操作,并切换到一个不同的CSS文件.
服务器端语言是更好的选择,因为不是每个人都在浏览器中启用了JavaScript,这意味着他们看不到正确的样式.此外,JavaScript会在页面正确显示之前为需要加载的信息量增加开销.
Safari使用WebKit,它非常适合渲染CSS.我从来没有遇到任何在Safari中不起作用的东西,但在其他现代浏览器中也是如此(不包括IE,它本身就有它自己的问题).我建议确保你的CSS 符合标准,因为问题可能在于CSS,而不是在Safari中.