前端零碎问题(一)css hack

hack技术主要针对IE浏览器,尤为是低版本的IE,说实话,微软都以为本身的低版本浏览器渣渣了,咱们还要兼容,感受到了深深的恶意,css

1): png-24 图片 IE6 不支持,使用 png-8 的图片来解决,或者 作两张图片,分别使用html

2): 浮动元素 margin 值加倍,给元素增长 display: inline 或 display: inline-block 属性。浏览器

3): 图片有个 3px margin,增长属性 margin: -3px;缓存

4): 条件注释:spa

<!--[if lte IE 6]> 这段文字仅显示在 IE6及IE6如下版本。 <![endif]--> <!--[if gte IE 6]> 这段文字仅显示在 IE6及IE6以上版本。 <![endif]--> <!--[if gt IE 6]> 这段文字仅显示在 IE6以上版本(不包含IE6)。 <![endif]--> <!--[if IE 5.5]> 这段文字仅显示在 IE5.5。 <![endif]--> <!--在 IE6及IE6如下版本中加载css--> <!--[if lte IE 6]> <link type="text/css" rel="stylesheet" href="css/ie6.css" mce_href="css/ie6.css" /><![endif]--> 

缺点是在IE浏览器下可能会增长额外的HTTP请求数。code

5): 经过选择器区分xml

/* 一、区别IE和其余浏览器 *,IE 都认识,其余浏览器不认识 */ .demo{ *background: red; background: blue; } /* IE 浏览器里面是红色,其余浏览器是蓝色的 */ /* 二、区别IE6,IE6 不能识别 !important */ /* 三、区别 IE6,IE6 可识别_ */ .demo{ _color: red; color: green; } /* IE6 颜色为红色,其余浏览器为绿色 */ 

6): IE 低版本下的圆角,用图片来写,或者优雅降级(IE 低版本里面用直角)htm

7): IE6背景闪烁图片

若是你给连接、按钮用CSS sprites做为背景,你可能会发如今IE6下会有背景图闪烁的现象。形成这个的缘由是因为IE6没有将背景图缓存,每次触发hover的时候都会从新加载,能够用JavaScript设置IE6缓存这些图片:document.execCommand("BackgroundImageCache",false,true);ip

8): 最大、最小高度、宽度,利用js来处理,或尽可能避免使用最大、最小宽高

9): 100% 高度,IE6 认为是父级的100%,所以要给 html、body等分别设置宽度为100%

10): 清除浮动

若是你想用div(或其余容器)包裹一个浮动的元素,你会发现必须给div(容器)定义明确的height、width、overflow之中一个属性(除了auto值)才能将浮动元素严实地包裹。

.container {border:1px solid #333; overflow:auto; height:100%;} .floated1 {float:left; height:300px; width:200px; background:#00F;} .floated2 {float:right; height:400px; width:200px; background:#F0F;}
相关文章
相关标签/搜索