不要抱怨ie6和ie7,它们诞生的年代只是离现在有些遥远而已。切入正文,我们知道CSS2的一些属性在ie浏览器并不兼容,这篇文章主要介绍这些属性和针对ie6,ie7浏览器它们的解决方案!

一、fixed

介绍:fixed属性是可以固定某个块(div)在某个位置,并且随网页滚动,该块(div)位置不变,即固定定位。并且它对应的父级是视窗本身。

不支持的浏览器:ie6;

解决方案:

body{
_background-image:url(about:blank);
_background-attachment:fixed;/*ie6浏览器*/}
#demo{position:fixed;/*非ie6浏览器*/
bottom:10px;
_position:absolute;/*ie6浏览器*/
_top:expression(documentElement.scrollTop+documentElement.clientHeight-this.offsetHeight);/*ie6浏览器*/
right:0;
}

二、最大宽(高度)—max-width(height),最小宽(高度)—min-width(height)

介绍:当某块内容不固定高度但需要有一个最小或者最大的宽度(高度)时,可使用这个属性。

不支持的浏览器:ie6;

解决方案:

#demo {
max-width:1000px;/*非ie6浏览器*/
_width:expression((document.documentElement.clientHeight||document.body.clientHeight)<1000?"1000px":"");/*ie6浏览器*/
}

#demo {
min-width:1000px;/*非ie6浏览器*/
_width:expression((document.documentElement.clientHeight||document.body.clientHeight)>1000?"1000px":"");/*ie6浏览器*/
}

三、display:inline-block

介绍:此属性是将块级元素转行为行内元素。但在ie6和ie7下,块级元素会出现不在同一行的问题,而对行内元素不会出现类似情况。

不支持的浏览器:ie6,ie7;

解决方案:

#demo{display:inline-block;/*非ie6浏览器*/
display:inline;zoom:1/*ie6浏览器,zoom 触发元素的layout*/}

四、outline

介绍:outline (轮廓)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。轮廓线不会占据空间,也不一定是矩形。但是此属性不是很常用。

不支持的浏览器:ie6,ie7,ie8;

解决方案: 无!

五、:hover

介绍::hover 伪类在鼠标移到元素上时向此元素添加特殊的样式。

不支持的浏览器:ie6(除了a标签);

解决方案: 借助javascript的onmouseover函数或者jq的hover函数。

六、:focus

介绍::focus 伪类在元素获得焦点时向元素添加特殊的样式,一般对于input表单最实用。

不支持的浏览器:ie6,ie7,ie8(ie9可以支持);

解决方案:借助javascript的focus函数。

七、clip

介绍:clip 属性剪裁绝对定位元素。这里要注意是这个属性需要配合绝对定位的元素才能使用,它的结构式clip:rect(top right bottom left);比如clip:rect(10px,,20px,30px,40px)指的是裁剪后的元素上边距离原元素上边有10px,裁剪后的元素右边距离原元素左边有20px,裁剪后的元素下边距离原元素上边有30px,裁剪后的元素右边距离原元素左边有10px。

不支持的浏览器:ie6,ie7;

解决方案:

#demo{
position:absolute;
width:500px;
height:300px;
background:green;
clip:rect(20px 300px 200px 100px); /*ie6,ie7浏览器,去除逗号,但是需要空格*/
clip:rect(20px,300px,200px,100px); /*非ie6浏览器*/
}

八、:after ,:before

介绍:利用css为元素插入内容的伪元素

不支持的浏览器:ie6;

解决方案:借助javascript appendChild ,insertBefor函数。