`
Andy_Dou
  • 浏览: 232914 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

10要点解决IE6兼容问题

    博客分类:
  • CSS
阅读更多

1、使用声明
你必须经常在html网页头部放置一个声明,推荐使用严格的标准。例如

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”"http://www.w3.org/TR/html4/strict.dtd”>
or, for XHTML:
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>

最后你需要是ie6进入兼容模式,这已经足够兼容了。
2、使用position: relative
设置一个标签position: relative可以解决很多问题,特别是曾经有过看不见的经历或者奇怪布局的框架。明显的,你需要小心,绝对位置放置的子元素是否都参照找到新位置。
3、为浮动元素使用display:inline
浮动元素会有一个著名的ie6双边距margin bug。假如你设置了左边距5px但实际上得到了10px左边距。display:inline可以解决这个问题,尽管它不是必需的,但是css仍然有效。
4、设置元素启动hasLayout
大部分ie6(ie7)的渲染问题都可以通过起来元素的hasLayout属性来兼容。这是ie内置的设定,确定一个内容块相对其它内容块是有界限和位置的。当你需要设置一个行内元素例如一个连接变成块状元素或者是透明效果,设置hasLayout也是必须的。
5、修复重复字符的bug
复杂的布局会触发一个bug:浮动对象的最后字符会出现在已经清除浮动的元素后面。这里有几种解决的办法,部分是理想的,并且一些测试和出错是必须的。
a、确保浮动元素都使用:display:inline;
b、最后一个浮动元素使用margin-right:-3px;
c、在浮动对象最后一个元素后使用一个条件注释。例如<!—>这里输入注释…<![endif]
d、在容器内的最后使用一个div空标签(它也必须设置90%宽度甚至更小)
6、使用a标签完成可点击和hover原理
Ie6只支持a标签的css定义hover效果
你可以使用它去控制javascript启动的widgets,使得他们仍然保持键盘操作。这里有个二择一的问题,但是a标签是所有解决方案中最可靠的。
7、使用!important,或是高级选择符替代ie特定代码
在外置的css文件里,放弃凭借传统的hacks和条件判断,使用有效的css代码去针对ie6仍然是有可能的。例如:最小高度可以使用一下定义。
#element {
min-height: 20em;
height: auto !important; /* understood by all browsers */
height: 20em; /* IE6 incorrectly uses this value /*
}

Ie6不支持“min-height”并且错误的将20em重写为“auto”。不过,当内容大于设置的空间时,它会增加它的尺寸。
另外一个选择是使用高级选择符。例如

#element {
min-height: 20em;
height: 20em;
}

8、避免百分比定义
百分比在ie下比较混乱。除非你非常小心每个父元素的尺寸,这样就大概可以最后避免了。你仍然可以对其他浏览器使用!important来使用百分值。例如:
body {
margin: 2% 0 !important;
margin: 20px 0; /* IE6 only */
}

9、早点和经常测试
在你的网站和应用程序完成之前,不要放弃ie6的测试。问题将会更加严重并且需要很长时间去修复。如果你的网站可以运行于firefox和ie6,它将差不多肯定可以在其它浏览器下运行。
10、重构你的代码
经常的,修复会比重新考虑布局问题更加花费时间。Html细微的修改和更加简单的css经常是最有效的。这意味着你要放弃完美的合法的代码,但是将会更少的问题出现,并且你知道怎样处理将要出现的情况。

 /* ignored by IE6 */
#element[id] {
height: auto;
}

代码部分试了下语法着色,貌似有点乱了,这里是英文原文的链接:
http://www.sitepoint.com/blogs/2009/03/06/10-fixes-for-ie6-problems/

分享到:
评论

相关推荐

    解决不同版本IE浏览器兼容问题

    ### 解决不同版本IE浏览器兼容问题 #### 一、引言 随着Web技术的发展,不同浏览器之间的兼容性问题一直是前端开发者关注的重点之一。特别是在早期,Internet Explorer(简称IE)的不同版本间存在诸多差异,给开发者...

    百度编辑器1.4.3.3版本IE8兼容性问题

    在IT行业中,兼容性问题一直是开发者们关注的重点,特别是对于前端开发者来说,浏览器兼容性问题更是常见挑战。本文将深入探讨“百度编辑器1.4.3.3版本IE8兼容性问题”,并提供解决方案。 百度编辑器(UEditor)是...

    IE6、IE7、Firefox之间的兼容写法

    本文将重点探讨IE6、IE7以及Firefox之间的CSS兼容性写法,帮助开发者更好地解决实际项目中的兼容性问题。 #### 二、CSS Hack技术概述 为了确保网页在不同浏览器中的表现一致,开发者常常会采用一种名为“CSS Hack”...

    ie6与ie7 8区别

    - **IE6、IE7、IE8的识别方式**:为了实现不同版本IE浏览器下的样式兼容性,开发者通常会采用CSS Hack技术来针对特定版本的IE编写样式规则。例如,使用`_`前缀可以让IE6识别,而不会被其他版本的IE或非IE浏览器识别...

    IE与FF脚本兼容性问题

    本文列举了IE与FF在脚本执行时的常见兼容性问题,并提供了相应的解决方案。通过上述方法,可以确保Web应用程序能够在不同的浏览器环境中稳定运行。同时,建议开发者在开发过程中遵循良好的编码习惯,避免使用特定...

    IE6,7,8兼容

    ### IE6、7、8兼容问题详解 #### 一、引言 随着Web技术的不断发展,浏览器兼容性问题一直是前端开发者关注的重点之一。特别是在早期Web2.0时代,不同的浏览器对于CSS的支持程度不同,导致了诸多兼容性问题。本文...

    IE和FF兼容问题

    ### IE和FF兼容问题详解 #### 一、引言 随着互联网技术的不断发展与普及,网页设计者们面临着越来越复杂的浏览器兼容性挑战。在众多浏览器中,Internet Explorer(简称IE)与Firefox因其庞大的用户基数而成为了...

    javascript解决浏览器兼容性问题

    本文将详细介绍如何使用JavaScript解决浏览器兼容性问题,特别是针对XMLHttpRequest对象的创建及对不同版本IE浏览器的识别。 #### 二、XMLHttpRequest对象的兼容性创建 XMLHttpRequest对象是用于执行异步请求的...

    最全的CSS浏览器兼容问题整理(IE6.0、IE7.0 与 FireFox)

    ### 最全的CSS浏览器兼容问题整理(IE6.0、IE7.0 与 Firefox) 在Web开发过程中,确保网站能够在不同的浏览器上正确显示是非常重要的一步。尤其在早期的Web开发时代,面对像IE6、IE7这样的浏览器,以及当时主流的...

    CSS兼容IE6,,IE7,I8 FIREFOX

    本文将详细解析如何通过CSS技巧来解决跨浏览器兼容性问题,特别是针对IE6、IE7、8以及Firefox等浏览器的兼容性处理方法。 #### 二、CSS Hack概述 **CSS Hack**是一种特定的技术手段,用于编写能够被某些特定浏览器...

    解决shopex与ie9兼容的办法

    本文将详细介绍如何解决ShopEx电商平台与IE9之间的兼容性问题。 #### ShopEx概述 ShopEx是一款非常流行的开源电子商务平台解决方案,广泛应用于各类在线商店和商城系统中。它提供了丰富的功能模块和良好的用户体验...

    兼容IE日期控件

    6. **现代浏览器的考虑**:虽然重点是兼容IE,但也要考虑其他现代浏览器,如Chrome、Firefox和Safari。因此,选择的日期控件应具备良好的跨浏览器兼容性,确保在所有主流浏览器中都能提供一致的用户体验。 7. **...

    CSS兼容IE6,IE7和FF的总结 .

    本文将详细探讨如何通过特定的 CSS hack 技巧来实现跨浏览器的兼容性,重点针对IE6, IE7 和 Firefox 这三种浏览器。 #### CSS Hack 基础 CSS Hack 是一种针对不同浏览器的特性编写特殊代码的技术,以便解决浏览器...

    IE和Firefox之间兼容性问题

    本文将详细探讨IE浏览器和Firefox浏览器之间的兼容性问题,并提供一些解决方案。 #### 二、CSS浏览器兼容性概述 CSS(Cascading Style Sheets)是用于描述HTML文档外观和格式的语言。不同的浏览器可能对CSS的支持...

    火狐与IE浏览器兼容代码

    在Web开发中,兼容性问题一直是开发者关注的重点之一。特别是在早期的浏览器版本中,不同浏览器对某些特性的支持差异导致了开发者不得不采取一些特定的技术手段来实现功能的跨浏览器一致性。本文将详细介绍如何在...

    IE6(Internet Explorer 6)绿色版,免安装版

    5. **JavaScript问题**:IE6对某些JavaScript特性的支持不足,开发者可能需要使用额外的库(如jQuery)来解决兼容性问题。 6. **DOM操作**:IE6的DOM(文档对象模型)实现与W3C标准有差异,可能导致JavaScript脚本...

    DIV+CSS相对IE6 IE7和IE8浏览器行为区别及兼容性问题整理

    本文向大家简单描述一下DIV+CSS相对IE6 IE7和IE8兼容问题整理,重点介绍一下IE6 IE7和IE8等浏览器的区别和联系,相信本文介绍一定会让你有所收获。 DIV+CSS相对IE6 IE7和IE8兼容问题整理 1.区别IE和非IE浏览器 ...

    编译器ie7 ie8 都能用

    2. **封装兼容性处理**:可以创建一个通用的函数来处理兼容性问题,比如使用`addEventListener`和`attachEvent`两种方式分别针对现代浏览器和旧版本IE来绑定事件监听器。 3. **避免使用`eval`**:尽量采用其他方式...

    兼容ie低版本的星星评分

    在IT行业中,兼容性问题一直是开发者们关注的重点,尤其是在处理老旧浏览器如IE6、IE7、IE8时。本文将详细解析一款专为这些低版本IE设计的星星评分插件,帮助你理解其工作原理和实现方式,以及如何在其他项目中应用...

Global site tag (gtag.js) - Google Analytics