CSS注意事项: 针对 Safari(WebKit)

时间:2008-10-29 11:57:00 

 Google Chrome 的发布,使我们更加的注重基于 WebKit 核心的浏览器的表现情况,但我们很多时候“不小心”就会出现问题。考虑下面极端的情况。

.box {
    background: red;
    #
    background: yellow;
    background: #green; 
}

经过测试发现,Exploer 系列浏览器会显示黄色(yellow),Firefox 与 Opera 则会显示红色(red),而 Safari 以及 Chrome 则会显示绿色(green)。


按照本人的理解,这是各浏览器 CSS 解释上的差异造成的。首先,Safari 会对于 #red 这样的“常量颜色值”会尝试解析,而其他浏览器则取“#”后面的 16 进制色值。

然后对于

.box {
    #
    background: yellow;
}

的理解,Exploer 系列会直接解析成 background: yellow; 而其他浏览器则等待“;”然后连接起来,所以不起作用。类似的可以使用

.box {
    .
    background: yellow;
}

测试下。但如果语句后面加上分号“;”

.box {
    #; /* 或者 .; */
    background: yellow;
}

则会恢复正常。可以参考这里,获得更进步的详细信息。


总结下的结论,首先,比如你想针对 Exploer 仅 Hack 一条语句,那么可以在其上行简单加个“.”或者“#”,这仅适合临时调试使用。

其次,期前如果不小心写成 #red 这样的色值,可能会无关要紧。但就目前众多的浏览器情况而言,可能就会有上述意想不到的结果,所以 CSS 方面的细节我们要更慎重的对待。

标签:Chrome,Safari,浏览器,css
0
投稿

猜你喜欢

  • 数据库大战: MS SQL Server & IBM DB2

    2009-08-25 16:24:00
  • 如何隐藏IP地址的最后一位

    2011-04-04 16:38:00
  • FSO组件之文件操作(中)

    2010-05-03 11:05:00
  • 详解MySQL数据库之更新语句

    2010-08-08 09:15:00
  • asp正则表达式详细说明

    2008-10-23 16:23:00
  • 两个非常规ASP木马(可躲过扫描)

    2011-03-11 10:38:00
  • Oracle数据库与SQL Server数据库镜像对比

    2009-04-11 16:24:00
  • Oracle 数据库 临时数据的处理方法

    2009-07-02 11:48:00
  • ASP返回某年总共有多少天的代码

    2012-12-04 20:36:30
  • ThinkPHP基于think-queue的队列插件实现消息推送

    2023-05-25 05:59:12
  • MySQL中delimiter的作用

    2010-10-25 20:26:00
  • JavaScript中的私有成员 Javascript教程

    2008-12-02 17:57:00
  • js打开新窗口方法代码收集

    2007-09-05 19:20:00
  • ASP实现数据输入、查询的实例

    2010-05-03 10:48:00
  • MySQL高级特性之集合函数

    2009-02-26 16:19:00
  • 关于ASP循环表格的问题之解答[比较详细]

    2011-04-08 11:14:00
  • banner字体设计与应用

    2009-07-06 14:42:00
  • 站长必须要了解的九条平面设计常识

    2008-06-07 14:33:00
  • 网马解密大讲堂——网马解密中级篇(Freshow工具使用方法)

    2009-09-16 15:09:00
  • ASP中实现分页显示的七种方法

    2007-09-20 13:19:00
  • asp之家 网络编程 m.aspxhome.com