查看: 8885|回复: 2
打印 上一主题 下一主题

IE8、IE7、IE6、Firefox2.0.0.12的一些CSS HACK测试

[复制链接]
跳转到指定楼层
1#
发表于 2009-4-16 17:17:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
对IE8、IE7、IE6、Firefox2.0.0.12做了简单的一些CSS HACK测试。下文中的 IE8 暂时仅代表IE8 beta1)。
  CSS定义:p {color:#f00;}
  xhtml结构:<p>文字</p>
  主要是测试“文字”这个颜色在不同浏览器下使用hack的一些结果报告:

  * html  p {color:#f00;}   支持 IE6        不支持FF IE7 IE8b
  *+html p {color:#f00;}   支持 IE7 IE8b        不支持FF IE6
  p {*color:#f00;}      支持 IE7 IE6        不支持FF IE8b



  相关测试:





  IE8 中增加了 CSS3 中的子串匹配的属性选择器(substring matching attribute selectors),具体规则与正则中的匹配很相似:

E[att^=’val’] //子串以’val’ 开始
E[att$=’val’] //子串以’val’ 结束
E[att*=’val’] //子串中包含’val’
  IE8 支持绝大多数基本的 CSS2.1 选择器,不支持的包括但不限于:[:first-line] 、[:first-letter]。

  对于 CSS2.1 中的 generated content 部分,即通过使用伪元素 :before 和 :after 添加文本内容,IE8 中支持 并未完全 。

  而对于几乎在其他浏览器中都支持的 opacity 和 RGBA ,IE8 中依旧没有支持。

  对于原来用来区分 IE 的 HACK 在 IE8 中基本失效(比如*property:value、*property:value等)。

  原有 IE 的 list-item whitespace bug 在 IE8 中依旧存在。
  原有 IE 的 z-index bug 在 IE8 中依旧存在。
  IE8 中产生新的 bug:当 line-heigth 小于正常值时,超出的部分将被裁切掉。
  IE8 中依然不支持 display:table 。
  IE8 中依然不支持 border 的 transparent 值。
  IE8 中 @import 只支持三层嵌套。

  IE8中 border的 transparent 不被支持
  IE8中产生新的BUG:line-heigth BUG

  /*/p{ color:#1e90ff}/*/ 只针对IE8的hack,可以是属性也可以是类

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
2#
 楼主| 发表于 2009-4-17 10:41:11 | 只看该作者
台州网址导航
今天看到hiccblogs里面一个关于IE8的兼容,一句话很简单,可惜只是针对IE兼容的,而且是建立在IE7的核心之上,局限性很大。自认为css兼容做的相对比较熟练,既然出了IE8,那就把IE8的兼容也研究一下。

    CSS兼容性一直是大家头疼的问题,IE6、IE7和FF已经让大家够呛,在以前的文章中,很多这方面的知识介绍。IE8正式版发布以来,就想在找一种区别IE8正式版的方法.在百度搜索有很多个结果,google搜索的结果更多。IE8正式版和测试版在hack上是有很大区别的.而且网络上的方法几乎都是相互转载,出现频率最高的要数那张linxz.cn的hack图片了,可惜这张图里的方法对IE8正式版无效。 

   经过分析和总结,有了下面的行之有效的解决方案,或许以后还会有更好更简单的hack,但就目前来说这个方法可以解决燃眉之急.
  
Simple Example:
•"\9" 例:"margin:0px auto\9;".
•这里的"\9"可以区别所有IE和FireFox.
•"*" IE6、IE7可以识别.IE8、FireFox不能.
•"_" IE6可以识别"_",IE7、IE8、FireFox不能

.class{
background-color:# FFFF00;/*所有浏览器*/
* background-color:#00FF00;/*IE*/
_ background-color:# 00FFFF;/*IE6*/
}

@media all and(min-width:0){
.class{
background-color:#FF00FF; /*Opera */
} }/*只有Opera识别*/

@media all and (min-width:0){
.class{
background-color:#FF00FF; /*Opera和Sa */
html* .class{
background-color:# 808080; /*Sa*/
}
}}
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
3#
 楼主| 发表于 2009-4-17 10:41:22 | 只看该作者
台州网址导航
下面的代码,大家可以COPY过去测试一下.发现颜色的变化.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>区别IE6、IE7、IE8、FireFox的CSS hack</title>
<style type="text/css">
<!--
#test,#note{
margin:0 auto;
text-align:center;
}
.note{ text-align:left; text-indent:40px;}
#test {
width:200px;
height:30px;
border: 1px solid #000000;
color:#fff;
line-height:30px;
}
.color{
background-color: #CC00FF;  /*所有浏览器都会显示为紫色*/
background-color: #FF0000\9; /*IE6、IE7、IE8会显示红色*/
*background-color: #0066FF;  /*IE6、IE7会变为蓝色*/   
_background-color: #009933;  /*IE6会变为绿色*/

}
-->
</style>
</head>

<body>
<div id="test" class="color">测试方块 zss</div>
<div id="note">
<strong style="color:#009933">IE6 最终为绿色</strong>
<strong style="color:#0066FF">IE7 最终为蓝色</strong>
<strong style="color:#FF0000">IE8 最终为红色</strong>
<strong style="color:#CC00FF">FireFox 最终变为紫色</strong>
    <div class="note">
    今天看到hiccblogs里面一个关于IE8的兼容,一句话很简单,可惜只是针对IE兼容的,而且是建立在IE7的核心之上,局限性很大。自认为css兼容做的相对比较熟练,既然出了IE8,那就把IE8的兼容也研究一下。
    </div>
<div class="note">CSS兼容性一直是大家头疼的问题,IE6、IE7和FF已经让大家够呛,在以前的文章中,很多这方面的知识介绍。IE8正式版发布以来,就想在找一种区别IE8正式版的方法.在百度搜索有很多个结果,google搜索的结果更多。IE8正式版和测试版在hack上是有很大区别的.而且网络上的方法几乎都是相互转载,出现频率最高的要数那张linxz.cn的hack图片了,可惜这张图里的方法对IE8正式版无效。
  经过分析和总结,有了下面的行之有效的解决方案,或许以后还会有更好更简单的hack,但就目前来说这个方法可以解决燃眉之急.<br />
  
</div>

   
<div class="note">
<ul>
<li style="list-style:none;"><strong style="color:#009933">Simple Example:</strong></li>
<li>"\9" 例:"margin:0px auto\9;".</li>
<li>这里的"\9"可以区别所有IE和FireFox.</li>
<li>"*" IE6、IE7可以识别.IE8、FireFox不能.</li>
<li>"_" IE6可以识别"_",IE7、IE8、FireFox不能</li>
</ul>
  </div>  
   
</div>
</body>
</html>
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表