18910140161

CSS hack摘要

顺晟科技

2021-10-06 09:55:50

149

1.IE条件注释法 <!-- [if IE]> <link type="text/css" href="test.css" rel="stylesheet"/> <![endid]--> 注意if和endif中横线位置不同 版本选择:gt/lt/gte/lte/!,如 <!--[if IE gt 6]>   2.选择符前缀法 *html-IE 6 *+html-IE 7   3.样式属性前缀 _height-IE 6 *height-IE 6 & IE 7 注意和上面第2区别   4.css 伪类的顺序 link/visited/hover/active ”love hate原则“   5.hasLayout IE浏览器的一个专有属性,用于css的解释引擎,在IE下的一些css bug都可以通过手动设置hasLayout来解决,通常用zoom:1;来触发hasLayout。 zoom的真正用法:  zoom : normal | number  normal :  默认值。使用对象的实际尺寸  number :  百分数 | 无符号浮点实数。浮点实数值为1.0或百分数为时相当于此属性的 normal 值用白话讲解就是zoom:后面的数字即放大的倍数,可以是数值,也可以是百分比。如:zoom:1   6.块级元素和行内元素 行内元素的水平方向margin和padding有效,竖直方向的margin和padding无效 IE6和IE7下的inline-block效果要靠触发hasLayout来实现   7.relative、absolute和float
  • relative、absolute都可以激活top、bottom、left、right、z-index属性(z-index大于0)
  • 默认元素都在z-index:0;的层上(在DOM中)
  • float设置之后元素还是在z-index:0层上,浮动指的是向左浮和向右浮,不是向上浮
  • relative还会在z-index:0层上保留一个占位,absolute不会
  • absolute和float都会隐式地改变元素的display属性,不论之前是什么类型,只要不是display:none,都会变成inline-block
  • IE6下float双边距通过设置display:inline来解决
8.居中 水平居中通过text-align:center和margin-left:auto、maring-right:auto;来实现 竖直居中通过设置父元素的上下padding 竖直单行文本居中设置line-height和父级元素的高度相同 竖直多行文本可以加个table,利用td中的vertical-align属性居中   9.z-index属性 负边距不会改变z-index z-index会影响点击事件 flash放到页面上总是会浮在其他元素上面(wmode=window),解决方法是设置wmode=apaque或者wmode=transparent select 元素在IE6中也是window模式显示的,解决方法是使用一个同样大小的iframe放在要显示的div下面   10.png图片 IE6对png图片的支持不好,需要用到css滤镜 progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'png图片路径\',sizingMethod=\'crop\')    //尼玛真不是一般的长= =      
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航