`

编写可兼容css样式(转)

    博客分类:
  • css
 
阅读更多
现在大部分都是用!important来 hack,对于ie6和firefox测试可以正常显示,但是ie7对!important可以正确解释, 会导致页面没按要求显示!找到一个针对IE7 不错的hack方式就是使用“*+html”,现在用IE7浏览一下,应该没有问题了现在写一个CSS可以这样。

一、针对firefox ie6 ie7的css样式
现在大部分都是用!important来 hack,对于ie6和firefox测试可以正常显示,但是ie7对!important可以正确解释, 会导致页面没按要求显示!找到一个针对IE7 不错的hack方式就是使用“*+html”,现在用IE7浏览一下,应该没有问题了现在写一个CSS可以这样:
#abc { color: #333; } /* Moz */
* html #abc { color: #666; } /* IE6 */
*+html #abc { color: #999; } /* IE7 */

那么在firefox下字体颜色显示为#333,IE6下字体颜色显示为#666,IE7下字体颜色显示为#999。

二、CSS布局中的居中问题
主要的样式定义如下:
body {TEXT-ALIGN: center;}
#center { MARGIN-RIGHT: auto; MARGIN-LEFT: auto; }

说明:首先在父级元素定义TEXT-ALIGN: center;这个的意思就是在父级元素内的内容居中;对于IE这样设定就已经可以了。
但在mozilla中不能居中。解决办法就是在子元素定义时候设定时再加上“MARGIN-RIGHT: auto;MARGIN-LEFT: auto; ”
需要说明的是,如果你想用这个方法使整个页面要居中,建议不要套在一个DIV里,你可以依次拆出多个div,只要在每个拆出的div里定义MARGIN-RIGHT: auto;MARGIN-LEFT: auto; 就可以了。


三、盒模型
#box{
;
//for ie6.0- w\idth:500px;
//for ff+ie6.0
}
#box{
>//for ff
;
//for ff+ie6.0
width /**/:500px;
//for ie6.0-
}


四、浮动ie6产生的双倍距离
#box{ float:left; ; margin:0 0 0 100px;

//这种情况之下IE会产生200px的距离 display:inline; //使浮动忽略}

这里细说一下block,inline两个元素,Block元素的特点是:总是在新行上开始,高度,宽度,行高,边距都可以控制(块元素);Inline元素的特点是:和其他元素在同一行上,…不可控制(内嵌元素);
#box{ display:block; //可以为内嵌元素模拟为块元素 display:inline; //实现同一行排列的的效果 diplay:table;


五、IE与宽度和高度的问题
IE不认得min-这个定义,但实际上它把正常的width和height当作有min的情况来使。这样问题就大了,如果只用宽度和高度,正常的浏 览器里这两个值就不会变,如果只用min-width和min-height的话,IE下面根本等于没有设置宽度和高度。比如要设置背景图片,这个宽度是  比较重要的。要解决这个问题,可以这样:
#box{ ;80px; height: 35px;}
html>body #box{ ;auto; height: auto; min-width: 80px; min-height: 35px;}


六、页面的最小宽度 

min-width是个非常方便的CSS命令,它可以指定元素最小也不能小于某个宽度,这样就能保证排版一直正确。但IE不认得这个,而它实际上把  width当做最小宽度来使。为了让这一命令在IE上也能用,可以把一个<div> 放到 <body> 标签下,然后为 div指定一个类:
然后CSS这样设计:
 
#container{
min-;600px;
;xpression(document.body.clientWidth < 600? “600px”: “auto” );
}

第一个min-width是正常的;但第2行的width使用了Javascript,这只有IE才认得,这也会让你的HTML文档不太正规。它实际上通过Javascript的判断来实现最小宽度。

七、清除浮动
.hackbox{
display:table;
//将对象作为块元素级的表格显示
}
或者
.hackbox{
clear:both;
}

或者加入:after(伪对象),设置在对象后发生的内容,通常和content配合使用,IE不支持此伪对象,非Ie 浏览器支持,所以并不影响到IE/WIN浏览器。这种的最麻烦的
……#box:after{
content: “.”;
display: block;
height: 0;
clear: both;
visibility: hidden;
}


八、DIV浮动IE文本产生3象素的bug
左边对象浮动,右边采用外补丁的左边距来定位,右边对象内的文本会离左边有3px的间距.
#box{
float:left;
;}
#left{
float:left;
;}
#right{
;
}
*html #left{
margin-right:-3px;

//这句是关键
}
HTML代码
&lt;DIV id=box>
<DIV id=left></DIV>
<DIV id=right></DIV>
</DIV>


九、属性选择器(这个不能算是兼容,是隐藏css的一个bug)
p[id]{}div[id]{}
p[id]{}div[id]{}

这个对于IE6.0和IE6.0以下的版本都隐藏,FF和OPera作用
属性选择器和子选择器还是有区别的,子选择器的范围从形式来说缩小了,属性选择器的范围比较大,如p[id]中,所有p标签中有id的都是同样式的.


十、IE捉迷藏的问题
当div应用复杂的时候每个栏中又有一些链接,DIV等这个时候容易发生捉迷藏的问题。
有些内容显示不出来,当鼠标选择这个区域是发现内容确实在页面。
解决办法:对#layout使用line-height属性 或者给#layout使用固定高和宽。页面结构尽量简单。
分享到:
评论

相关推荐

    让IE兼容CSS3

    在现代Web开发中,CSS3已经成为了不可或缺的一部分,它提供了丰富的样式和布局功能,如渐变、阴影、动画等。然而,Internet Explorer(IE)浏览器,尤其是早期版本,对CSS3的支持相对较差,这给开发者带来了挑战。...

    CSS+DIV编写经验总结之CSS样式小模板

    ### CSS+DIV编写经验总结之CSS样式小模板 #### 概述 随着互联网技术的不断发展,Web前端设计已经成为了一个至关重要的领域。对于前端开发者来说,掌握CSS+DIV布局技巧是必不可少的一项技能。本文将根据提供的内容...

    IE兼容CSS3

    这样,我们就可以在CSS中编写条件语句,为不支持CSS3特性的浏览器提供备选样式。 例如,如果你想要应用一个CSS3动画,可以这样做: ```css .myElement { -webkit-animation: myAnimation 2s; /* Safari 和 Chrome...

    css样式表兼容总结,兼容火狐,ie6,ie7,FF

    标题中的“css样式表兼容总结,兼容火狐,ie6,ie7,FF”指的是在网页设计中,CSS样式表需要处理不同浏览器之间的兼容性问题,特别是老版本的Internet Explorer(IE6和IE7)以及Firefox。描述中的“css样式表火狐,ie6,ie...

    超强兼容对联广告代码 纯CSS样式编写

    本文将深入探讨“超强兼容对联广告代码”的实现,主要关注其基于纯CSS样式的编写,以及如何确保在不同浏览器间(如IE、Firefox等)的兼容性。 首先,我们需要了解对联广告的基本结构。对联广告通常由两个或多个并排...

    CSS样式命名以及兼容性.pdf

    本篇文档主要探讨了CSS样式的命名规则和兼容性问题,这对于确保网页的可读性、可维护性和跨浏览器一致性至关重要。 首先,文档提到了一些常用的CSS类名命名约定,这些约定有助于提高代码的可读性和团队间的协作效率...

    让ie兼容css选择器

    标题"让ie兼容css选择器"指的是通过引入外部JavaScript文件,如ie7.js、ie8.js和ie9.js,来增强这些旧版IE浏览器对CSS选择器的支持,使它们能够理解和应用更先进的CSS规则。这些JavaScript库通常会模拟缺失的功能,...

    跨浏览器兼容CSS篇

    ### 跨浏览器兼容CSS篇:实现一致性的策略与技巧 #### 一、引言 在Web设计领域,确保网站在不同浏览器中呈现一致的效果是一项挑战性任务。由于各种浏览器对CSS的支持程度不尽相同,开发者经常面临布局差异的问题。...

    html与.net css样式兼容问题解决办法

    ### HTML与.NET CSS样式兼容问题解决办法 在Web开发中,HTML、CSS和.NET框架是构建动态网页不可或缺的技术。有时,我们可能需要将一个现有的HTML页面及其CSS样式整合到.NET项目中,但在这个过程中可能会遇到样式...

    css 浏览器兼容性速查

    "CSS浏览器兼容性速查"是开发者在工作中不可或缺的一个参考资料,它帮助我们了解各种CSS属性在不同浏览器上的表现,以便于优化代码,确保网站在主流浏览器上都能正常显示。 首先,我们要理解浏览器兼容性问题的来源...

    css浏览器兼容写法

    在网页设计中,CSS(层叠样式表)的浏览器兼容性问题是一大挑战,尤其是在处理老版本的浏览器,如IE6、IE7时。不同浏览器对CSS的理解和解析方式存在差异,导致样式在不同浏览器中可能表现不一致。本文将详细介绍如何...

    跨浏览器兼容的CSS代码编程方法

    本文将详细介绍如何编写跨浏览器兼容的CSS代码,并分享一些实用的技巧。 #### 二、CSS兼容性的基本概念 1. **浏览器差异**:不同的浏览器内核对于CSS的支持存在差异。例如,Chrome、Firefox等基于WebKit或Gecko...

    IEtest 5-8 css样式兼容

    IEtest 5-8 css样式兼容是一款专门用于测试网站在Internet Explorer (IE) 5到8之间CSS样式表现的工具。这款软件对于那些需要确保其设计在老版IE浏览器中正常显示的开发者来说,具有极高的实用价值。 Internet ...

    获取css样式 兼容写法

    在前端开发中,获取CSS样式是一项基础且重要的任务,它涉及到浏览器兼容性和各种不同方法的运用。本篇文章将深入探讨如何在不同的环境下有效地获取CSS样式,确保代码在各种浏览器上都能正常工作。 首先,让我们从...

    同浏览器CSS样式兼容问题

    在网页开发中,CSS样式兼容问题是一个长期困扰开发人员的难题。不同的浏览器,尤其是Internet Explorer(IE)和Mozilla Firefox,由于对W3C标准的支持程度不同,会导致同一份CSS样式表在各个浏览器中呈现出截然不同...

    CSS样式生成器

    5. **兼容性检查**:一些高级的CSS样式生成器还会提供CSS3特性支持和浏览器兼容性检查,确保生成的样式在不同浏览器上都能正常工作。 ### CSS语法与用法 - **层叠(Cascading)**:CSS的“层叠”特性意味着当有多...

    好看的css样式

    在描述中,提到了“很好的css样式列表”和“自己经常使用的”,这暗示了这个压缩包可能包含了一组经过实践检验、效果出色的CSS样式集。对于开发者来说,拥有这样一套资源可以极大地提高工作效率,因为无需从零开始...

    形考任务五 使用 元素以及CSS样式表对下面的内容进行的布局设计.zip

    2. **CSS样式表简介** CSS(Cascading Style Sheets)是用于控制网页外观和布局的样式语言。它可以改变字体、颜色、间距、布局和更多视觉效果。在本任务中,我们将用CSS来定义`&lt;div&gt;`的样式,以实现特定的布局设计...

Global site tag (gtag.js) - Google Analytics