CSS 多浏览器兼容性问题及解决方案
css的兼容性也是大家关注的热点。大家一定要注意多测试。
兼容性处理要点
1、DOCTYPE 影响 CSS 处理
2、FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width
3、FF: 支持 !important, IE 则忽略, 可用 !important 为 FF 特别设置样式
4、div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行
5、在mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法:
div{margin:30px!important;margin:28px;}
注意这两个margin的顺序一定不能写反,!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样:
div{maring:30px;margin:28px}
重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx!important;
浏览器差异
1、ul和ol列表缩进问题
消除ul、ol等列表的缩进时,样式应写成:list-style:none;margin:0px;padding:0px;
其中margin属性对IE有效,padding属性对FireFox有效。
[注] 经验证,在IE中,设置margin:0px可以去除列表的上下左右缩进、空白以及列表编号或圆点,设置padding对样式没有影响;在 Firefox 中,设置margin:0px仅仅可以去除上下的空白,设置padding:0px后仅仅可以去掉左右缩进,还必须设置list- style:none才 能去除列表编号或圆点。也就是说,在IE中仅仅设置margin:0px即可达到最终效果,而在Firefox中必须同时设置margin:0px、 padding:0px以及list-style:none三项才能达到最终效果。
2、CSS透明问题
IE:filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60)。
FF:opacity:0.6。
[注] 最好两个都写,并将opacity属性放在下面。
3、CSS圆角问题
IE:ie7以下版本不支持圆角。
FF: -moz-border-radius:4px,或者-moz-border-radius-topleft:4px;-moz- border- radius-topright:4px;-moz-border-radius-bottomleft:4px;-moz- border- radius- bottomright:4px;。
[注] 圆角问题是CSS中的经典问题,建议使用JQuery框架集来设置圆角,让这些复杂的问题留给别人去想吧。不过jQuery的圆角只看到支持整个区域的圆角,没有支持边框的圆角,不过这个边框的圆角可以通过一些简单的手段来实现,下次有机会介绍下。
4、cursor:hand VS cursor:pointer
问题说明:firefox不支持hand,但ie支持pointer ,两者都是手形指示。
解决方法:统一使用pointer。
5、字体大小定义不同
对字体大小small的定义不同,Firefox中为13px,而IE中为16px,差别挺大。
解决方法:使用指定的字体大小如14px。
并列排列的多个元素(图片或者链接)的div和div之间,代码中的空格和回车在firefox中都会被忽略,而IE中却默认显示为空格(约3px)。
6、CSS双线凹凸边框
IE:border:2px outset;。
FF: -moz-border-top-colors: #d4d0c8 white;-moz-border-left-colors: #d4d0c8 white;-moz-border-right-colors:#404040 #808080;-moz-border-bottom-colors:#404040 #808080;
浏览器bug
1、IE的双边距bug
设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。
解决方案:在这个div里面加上display:inline;
例如:
<#div id=”imfloat”>
相应的css为
以下为引用的内容:
复制代码
代码如下:
#IamFloat{
float:left;
margin:5px;/*IE下理解为10px*/
display:inline;/*IE下再理解为5px*/
}
#IamFloat{
float:left;
margin:5px;/*IE下理解为10px*/
display:inline;/*IE下再理解为5px*/
}
关 于CSS中的问题实在太多了,甚至同样的CSS定义在不同的页面标准中的显示效果都是不一样的。一个合乎发展的建议是,页面采用标准XHTML标准编写, 较少使用table,CSS定义尽量依照标准DOM,同时兼顾IE、Firefox、Opera等主流浏览器。很多情况下,FF和 Opera的CSS解释标准更贴近CSS标准,也更具有规范性。
2、IE选择符空格BUG
今天在给博客的段落样式设置首字符样式的时候发现,原来一个空格也可以使样式失效。
请看以下代码:
复制代码
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="//www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
<!--
p{font-size:12px;}
p:first-letter{font-size:300%}
-->
</style>
</head>
<body>
<p>对于世界而言,你是一个人;但是对于某个人,你是他的整个世界。纵然伤心,也不要愁眉不展,因为你不知是谁会爱上你的笑容。</p>
</body>
</html>
[/code]
复制代码
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="//www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
<!--
p{font-size:12px;}
p:first-letter{font-size:300%}
-->
</style>
</head>
<body>
<p>对于世界而言,你是一个人;但是对于某个人,你是他的整个世界。纵然伤心,也不要愁眉不展,因为你不知是谁会爱上你的笑容。</p>
</body>
</html>
这 段代码对<p>的首字符样式定义在IE6上看是没有效果的(IE7没测试),而在p:first-letter和{font- size:300%}加上空格,也就是p:first-letter {font-size:300%}后,显示就正常了。但是同样的代码,在FireFox下看是正常的。按道理说,p:first- letter{font-size:300%}的写法是没错的。那么问题出在哪里呢?答案是伪类中的连字符”-”。IE有个BUG,在处理伪类时,如果伪 类的名称中带有连字符”-”,伪类名称后面就得跟一个空格,不然样式的定义就无效。而在FF中,加不加空格都可以正常处理。
相关推荐
根据给定的文件信息,我们可以深入探讨VMware的硬件兼容性列表,这主要涉及VMware vSphere、ESX、vCenter Server以及与之相关的客户端、插件和其他组件之间的兼容性问题。以下是对文件中提到的关键知识点的详细解析...
### VMware vSphere兼容性列表深度解析 在IT领域,尤其是虚拟化技术方面,VMware vSphere作为行业标准,其兼容性列表对系统架构师、IT管理员以及任何与虚拟化环境打交道的专业人士而言至关重要。这份文档提供了详尽...
西门子定期发布PCS-7的兼容性列表,这些列表通常以Excel表格的形式提供,包含了不同版本的PCS-7与各种组件、硬件模块、操作系统、数据库和其他软件之间的相互兼容性信息。例如,压缩包中的文件如"PCS-7_V9.0_...
介绍了VMware官网怎么用,介绍了各产品License版本比较(包括vsphere、VCenter、vsan、nsx......),介绍了如何获取技术文档和产品文档,介绍了各产品怎么查找兼容性(服务器与ESXI的兼容性、产品间兼容性、 产品升级...
华为FusionStorage兼容性列表 华为FusionStorage是一款数据存储解决方案,旨在为企业提供高效、可靠的数据存储服务。本文档详细介绍了华为FusionStorage的兼容性列表,涵盖服务器、IO板卡、虚拟化平台和操作系统等...
在IT行业中,兼容性测试是确保软件产品在各种硬件、操作系统、浏览器或其他环境下的正常运行的关键环节。本文将深入探讨一些通用的兼容性测试用例,以帮助开发者和测试工程师们构建更健壮、更适应多变环境的应用程序...
在安装此版本的WINCC前,了解其兼容性至关重要,因为这关系到系统的稳定运行和功能发挥。下面将详细讨论与"WINCC 7.0 兼容性查询表"相关的知识点。 1. **硬件兼容性**:WINCC 7.0支持多种硬件平台,包括不同型号的...
系统兼容性是软件开发中的重要考虑因素,尤其是在构建大型企业级应用时,必须确保系统能在各种不同的硬件平台、操作系统、浏览器以及数据库系统上稳定运行。本篇文档将深入探讨系统兼容性的解决方案,主要关注跨平台...
IBM SVC 7.8 版本的兼容性列表是针对这个特定版本的SVC所列出的与之兼容的硬件、固件以及软件组件的详细清单。这份兼容性列表对于确保IBM SVC能够稳定运行并充分发挥其功能至关重要。 在IBM SVC 7.8的兼容性列表中...
标题中提到的“WinCC与STEP7兼容性一览表”涉及到的是两个著名的西门子工业软件产品WinCC(Windows Control Center)和STEP7(用于编程和配置西门子PLC的软件)之间的兼容性问题。这份一览表的主要目的是为了帮助...
本参考资料“西门子自动化软件(TIA博途等)与电脑操作系统兼容性检查参照表”提供了详细的兼容性信息,帮助用户避免可能出现的兼容性问题。 首先,我们要了解TIA博途的主要组件,包括Step 7(用于S7系列PLC编程)...
在互联网技术日新月异的时代,浏览器的兼容性问题一直是开发者面临的重要挑战。尤其是在IE8这样的老版本浏览器中,由于其独特的渲染引擎和对标准的支持程度,开发人员需要额外关注其兼容性视图(Compatibility View...
#### 二、兼容性概述 根据提供的部分数据,我们可以看到SIMATIC-NET的不同版本支持多种Windows操作系统,包括但不限于Windows XP、Windows Server 2008等。接下来,我们将针对每个操作系统及其对应的SIMATIC-NET版本...
为了确保硬件设备在ESXi环境中能够稳定、高效地运行,设备的微码(firmware)和驱动程序(driver)的兼容性至关重要。本篇文章将详细介绍如何查询ESXi设备微码和驱动的兼容性,以及如何获取相关的更新和下载方法。 ...
### Symantec Backup Exec 2010 软件兼容性列表 #### 简介 Symantec Backup Exec 2010 和 2010 R2 软件兼容性列表(SCL)是Symantec公司在2010年发布的一份重要文档,它详细列出了与Backup Exec 2010和2010 R2兼容...
APP 端兼容性及 WEB 端兼容性测试方案 兼容性测试是软件测试过程中一个非常重要的环节,对软件的质量和用户体验有着非常重要的影响。下面,我们将从兼容性测试的定义、分类、方法、步骤和作用等方面进行详细的介绍...
在进行Web测试时,兼容性测试是至关重要的一个环节,它确保了网站或应用程序在不同浏览器、操作系统、设备以及屏幕分辨率下都能正常运行并提供一致的用户体验。以下是一些关于Web测试兼容性的关键知识点: 1. **...
西门子软件兼容性是工业自动化领域中的一个重要话题,尤其对于使用西门子PCS 7(Process Control System 7)的用户来说。PCS 7是一款先进的分布式控制系统,广泛应用于各种工业生产过程,如化工、石油天然气、制药...
本篇文档介绍的是一套在线软件产品兼容性工具的使用方法,该工具专门用于帮助用户确认西门子软件产品之间以及西门子软件产品与其他第三方软件之间的兼容性问题。 首先,文档中提到的“软件兼容性”是一个重要的概念...
### Linux发行版支持的硬件兼容性列表大全 #### 概述 随着Linux系统的普及与技术进步,越来越多的用户选择Linux作为他们的操作系统。然而,在选择Linux系统之前,了解自己的硬件是否能得到良好的支持至关重要。为此...