1.请问,iE6浏览器兼容的CSS怎么写
使用“子对象选择符”,如:span >p{color:blue;} 它等同于包含选择符:span p {color:blue;}
还有一个属性:voice-family 它是css中针对残疾人使用的设备进行特别设置的一个方法,使用此方法可以设置阅读方式,现在已成为针对IE6.0一下浏览器的一个特殊的CSS hack 方法。使用方法:
#content {
voice-family:"\"}\"";
voice-family:inherit;
color:red;
}
使用代码中的两句Voice-family属性之后下面的color:red;将不会被IE5.5及以下浏览器所解析。
+hack方法
+号hack方法是最近流行的一种CSS hack,非常简单也易于管理,+号用于区分IE系列浏览器与其他浏览器。
使用方法如下:
#content{
width:500px;
+width:480px; /*IE可执行*/
}
带有加号的属性只能在IE系列的浏览器里运行
2.如何处理css与IE兼容性问题
IE浏览器从IE8开始添加了兼容模式,开启后会以低版本的IE进行渲染。兼容模式有可能会导致网页显示出问题,于是通常在HTML中添加下列代码来使 IE 使用固定的渲染模式:
代码如下:
还 有一种情况,在IE8下只有不使用兼容模式页面才能显示正常,但是如果设定为IE8的模式,在IE9中却会导致CSS3失效。看来,需要针对 IE8、IE9 分别 禁用兼容模式。怎么办呢?可以在后台判断浏览器版本,如果是IE8就输出content="IE=8",如果是IE9就输出 content="IE=9"。其实还可以单纯通过HTML来实现的,HTML代码如下:
经测试后完美解决了兼容模式问题,这样设置后IE中设置兼容模式的按钮也会消失,可以按F12打开“开发人员工具”来检查浏览器模式。
3.怎样解决css在浏览器的兼容问题
1.目前来说对css支持最好的公认的是火狐浏览器,错位的原因在css代码书写不规范。
2.兼容性:对于CSS(样式表)并不是所有浏览器的所有版本都支持的很好,比如IE5以前的浏览器对于CSS的支持就不是很好。而现在使用IE5以前版本浏览器的用户不在少数,这样就使得在页面制作的过程中需要针对不同浏览器版本进行测试,以保证兼容性,无形中也增加很多工作量(至少我接触的开发人员制作div页面比table页面的标准时间要长一些)。
3.对css缩写的支持问题:
不论是ie 还是ff对css的缩写都有一小点问题比如border: 0xp solid #fff;两个浏览器支持都没有问题
但对于四个边的magin不同情况下,就不能用这种缩写了,无论是ie还是ff又会出现边界解释错误,而导致页面变形正确缩写:border-width:0px 1px 2px 3px;
border-style:solid;
border-color:#fff;
第二点是 ie对于css的magin padding 等默认值为0px,但ff却不一样,为了保持外观的统一性,即使padding为0你也要写上,以免ff在浏览中的错位。
IE与Firefox的CSS兼容大全 1.DOCTYPE 影响 CSS 处理
2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行
3.FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中
4.FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width
5.FF: 支持 !important, IE 则忽略, 可用 !important 为 FF 特别设置样式,值得注意的是,一定要将xxxx !important 这句放置在另一句之上
6.div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行
7.cursor: pointer 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以
8.FF: 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格。
9.在mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法:div{margin:30px!important;margin:28px;}
注意这两个margin的顺序一定不能写反,据阿捷的说法!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样:div{maring:30px;margin:28px}
重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx!important;~~期待满意啊~~
4.如何才能编写出兼容各浏览器的CSS
编写出兼容各浏览32313133353236313431303231363533e58685e5aeb931333361313265器的CSS的技巧和方法:1. Div居中问题:div设置 margin-left, margin-right 为 auto 时已经居中,IE 不行,IE需要设定body居中,首先在父级元素定义text-algin: center;这个的意思就是在父级元素内的内容居中。
2.链接(a标签)的边框与背景a 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格。
3.超链接访问过后hover样式就不出现的问题 被点击访问过的超链接样式不在具有hover和active了,很多人应该都遇到过这个问题,解决方法是改变CSS属性的排列顺序: L-V-H-A Code: <style type="text/css"> </style>4. 游标手指cursorcursor: pointer 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以5.UL的padding与marginul标签在FF中默认是有padding值的,而在IE中只有margin默认有值,所以先定义 ul{margin:0;padding:0;}就能解决大部分问题6. FORM标签这个标签在IE中,将会自动margin一些边距,而在FF中margin则是0,因此,如果想显示一致,所以最好在css中指定margin和 padding,针对上面两个问题,我的css中一般首先都使用这样的样式ul,form{margin:0;padding:0;}给定义死了,所以后面就不会为这个头疼了.7. BOX模型解释不一致问题在FF和IE 中的BOX模型解释不一致导致相差2px解决方法:div{margin:30px!important;margin:28px;} 注意这两个 margin的顺序一定不能写反, important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样: div {maring:30px;margin:28px}重复定义的话按照最后一个来执行,所以不可以只写margin:xx px!important;#box{ width:600px; //for ie6.0- w\idth:500px; //for ff+ie6.0}#box{ width:600px!important //for ff width:600px; //for ff+ie6.0 width /**/:500px; //for ie6.0-}8.属性选择器(这个不能算是兼容,是隐藏css的一个bug)p[id]{}div[id]{}这个对于IE6.0和IE6.0以下的版本都隐藏,FF和OPera作用.属性选择器和子选择器还是有区别的,子选择器的范围从形式来说缩小了,属性选择器的范围比较大,如p[id]中,所有p标签中有id的都是同样式的.9.最狠的手段 - !important;如果实在没有办法解决一些细节问题,可以用这个方法.FF对于”!important”会自动优先解析,然而IE则会忽略.如下.tabd1{background:url(/res/images/up/tab1.gif) no-repeat 0px 0px !important; /*Style for FF*/background:url(/res/images/up/tab1.gif) no-repeat 1px 0px; /* Style for IE */}值得注意的是,一定要将xxxx !important 这句放置在另一句之上,上面已经提过10.IE,FF的默认值问题或许你一直在抱怨为什么要专门为IE和FF写不同的CSS,为什么IE这样让人头疼,然后一边写css,一边咒骂那个可恶的M$ IE.其实对于css的标准支持方面,IE并没有我们想象的那么可恶,关键在于IE和FF的默认值不一样而已,掌握了这个技巧,你会发现写出兼容FF和IE的css并不是那么困难,或许对于简单的css,你完全可以不用”!important”这个东西了。
我们都知道,浏览器在显示网页的时候,都会根据网页的 css样式表来决定如何显示,但是我们在样式表中未必会将所有的元素都进行了具体的描述,当然也没有必要那么做,所以对于那些没有描述的属性,浏览器将采用内置默认的方式来进行显示,譬如文字,如果你没有在css中指定颜色,那么浏览器将采用黑色或者系统颜色来显示,div或者其他元素的背景,如果在 css中没有被指定,浏览器则将其设置为白色或者透明,等等其他未定义的样式均如此。所以有很多东西出现FF和IE显示不一样的根本原因在于它们的默认显示不一样,而这个默认样式该如何显示我知道在w3中有没有对应的标准来进行规定,因此对于这点也就别去怪罪IE了。
11.为什么FF下文本无法撑开容器的高度 标准浏览器中固定高度值的容器是不会象IE6里那样被撑开的,那我又想固定高度,又想能被撑开需要怎样设置呢?办法就是去掉height设置min-height:200px;这里为了照顾不认识min-height的IE6 可以这样定义: { height:auto!important; height:200px; min-height:200px; }12.FireFox下如何使连续长字段自动换行 众所周知IE中直接使用 word-wrap:break-word 就可以了, FF中我们使用JS插入 的方法来解决 <style type="text/css"> </style> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
5.在CSS中怎样解决IE的兼容问题
做好布局,兼容问题就很少,实在不用就用hack IE6的hack 是 "_"符号比如 这里面是用到hack的_height:20px; //只有IE6能看到+height:30px; //所有IE能看到height:40px; //FF能看到-------------------------------楼上二位可以去补习CSS基础了, +height:是所有IE都可以显示的用事实说话+height:100px如果你的代码里面写了_height: ie6 hanck 那么你的 +height:这个才不会显示出来。
6.网页编程:如何写css样式才能兼容大多数浏览器
其实兼容问题很经常碰到,基本是碰到什么样的情况解决办法不一样
但是简单的避免兼容问题的规范还是有的
比如,用div时候,内边距的设定+宽度的设定就有可能出现不兼容
我们首先要明白为什么会出现不兼容的问题
要通过现象看本质,其实是因为理解不一样
IE是设定好了宽度,你设置内边局是在设定好的宽度下,在变,就是说IE理解的是宽度比内边距的优先级高,而火狐不一样,他是在原来的宽度上在加上内边距的宽度,无形中你设置的宽就变了
所以,我们尽量不去触碰这些敏感的地方
我稍微总结下,用DIV时候最好让页面自己来排版DIV的位置(就是说内容来填充DIV,当然有的时候没办法做好的时候就不用管了)
尽量不要写死DIV的位置或者宽度
用浮动请小心,少用,一般只有广告什么的才用
绝对定位也少用,用请写规范和标准,恩~~还有一些,就不说了,你遵守上面的原则就会少了很多麻烦
但是很多时候没办法遵守原则时就用特殊好用的办法去解决
下面推荐个适合新手的(高手请笑着路过)
因为调用的内核不一样导致理解不同,我们也可以同这特点来弥补他的不足
例如同一个class="aa"
可以这样.aa{color:#ff6600}表示所有都能认识
*html .aa{color:#fff}表示只有IE可以认识
*+html .aa{color:#fff}表示只有IE7可以认识
这是可以写在样式里面的修改办法
还一种在调试用也很不错的
例如:.aa{color:#ff6600;*color:#fff;_color:#eee}
上面意思是,color:#ff6600所有浏览器认识,所以火狐会是这个颜色,*color:#fff IE浏览器认识这个和前面的那个,但是*color:#fff写在豁免,所以IE就会读取后面的样式覆盖前面的,所以颜色是#fff;最后一个是表示IE6认识所有的样式,但是_color:#eee写最后,也是覆盖了前面的同样属性,所以IE6颜色是#eee
满意给满意答案
还有想知道也可以密我,我尽量帮你解答
转载请注明出处育才学习网 » Ie兼容怎么写css