Maison >interface Web >tutoriel HTML >div+css兼容性问题学习总结_html/css_WEB-ITnose
hack模型
firefox ie7 ie6
left: *left: _left:
注:IE都能识别*;尺度阅读器(如FF)不能识别*;
IE6能识别*,但不能辨认 !important, 芭蕾舞鞋,
IE7能辨认*,也能辨认!important;
FF不能识别*,但能识别!important;IE6 IE7 FF
IE6支持下划线"_",IE7和firefox均不支撑下划线。
!important优先级
margin-left:20px !important;
margin-left:10px;
ie7优先斟酌第一条,而ie6不支撑优先级,所以忽详第一条,便按第两条显示.
IE8网页设计CSS兼容性
其他兼容技能(再次烦琐)
1, FF下给 div 设置 padding 后会招致 width 和 height 增添, 但IE不会.(可用!important解决)
2, 居中问题.
1).垂直居中.将 line-height 设放为 以后 div 雷同的高度, 再通功 vertical-align: middle.( 注意内容没有要换止.)
2).程度居中. margin: 0 auto;(当然不是万能)
3, 若需给 a 标签内内容加上 样式, 须要设放 display: block;(罕见于导航本签)
4, FF 和 IE 对 BOX 懂得的差别招致相差 2px 的还有设为 float的div在ie下 margin加倍等问题.
5, ul 标签在 FF 下面默许有 list-style 和 padding . 最佳事前声亮, 以防止不用要的费事. (罕见于导航标签和内容列表)
6, 作为外部 wrapper 的 div 不要定死高度, 最佳还加上 overflow: hidden.以到达高度自顺应.
7, 闭于手形光本. cursor: pointer. 而hand 只实用于 IE.
其他兼容性技能
1 针对firefox ie6 ie7的css样式
如今大部门都是用!important来hack,关于ie6和firefox测试可以正常显示,
但是ie7对于!important能够准确说明,会招致页里出按请求显示!觅到一个针
对IE7不错的hack方法就是使用“*+html”,如今用IE7涉猎一下,应当出有问题了。
如今写一个CSS可以这样:
#1 { color: #333; }
* html #1 { color: #666; }
*+html #1 { color: #999; }
那么正在firefox下字体色彩显示为#333,IE6下字体色彩显示为#666,IE7下字体色彩显示为#999。
2 css布局中的 IC交易网居中问题
重要的样式定义如下:
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; 就可以了。
3 盒模型不同说明.
#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-}
4 IC交易网浮动ie发生的双倍间隔
#box{ float:left; width:100px; margin:0 0 0 100px; //那类情形之下IE会发生200px的间隔 display:inline; //使浮动忽详}
这里细道一下block,inline两个元素,Block元素的特征是:老是在新行上开端,高度,宽度,行高,边距皆能够掌握(块元素);Inline元素的特色是:和其他元素正在统一行上, 新网科技,...不可节制(内嵌元素);
#box{ display:block; //可认为内嵌元素模仿为块元荤 display:inline; //完成统一止排列的的后果 diplay:table;
5 IE取阔度和高度的答题
IE没有认得min-那个订义,但实践上它把一般的width和height该做有min的情形来使。那样答题便大了,假如只用阔度和高度,
一般的阅读器里这两个值便不会变,假如只用min-width和min-height的话,IE下面基本即是出有设置宽度和高度。
好比要设置负景图片,这个宽度是比拟主要的。要解决这个问题,可以这样:
#box{ width: 80px; height: 35px;}html>body #box{ width: auto; height: auto; min-width: 80px; min-height: 35px;}
6 页里的最小宽度
min-width是个十分便利的CSS命令,它可以指定元素最小也不能小于某个宽度,这样就能保证排版不断准确。但IE不认得这个,
而它实践上把width该做最小宽度来使。为了让这一命令在IE上也能用,可以把一个