IE6下容器的宽度实例分析

2023-05-21

本篇内容介绍了“IE6下容器的宽度实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

<?xml version=”1.0&Prime; encoding=”gb2312&Prime;?>

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd“>

<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312&Prime; />

<style type=”text/css”>

<!&ndash;

div {

cursor:pointer;

width:200px;

height:200px;

border:10px solid red

}

&ndash;>

</style>

<div ōnclick=”alert(this.offsetWidth)”>让FireFox与IE兼容</div>

问题的差别在于容器的整体宽度有没有将边框(border)的宽度算在其内,这里IE6解释为200PX ,而FF则解释为220PX,那究竟是怎么导致的问题呢?大家把容器顶部的xml去掉就会发现原来问题出在这,顶部的申明触发了IE的qurks mode,关于qurks mode、standards mode的相关知识,请参考相关资料。

IE6,IE7,FF

IE7.0出来了,对CSS的支持又有新问题。浏览器多了,网Bpx; /*For IE7 & IE6*/

_height:20px; /*For IE6*/

注意顺序。

这样也属于CSS HACK,不过没有上面这样简洁。

#example { color: #333; } /* Moz */

* html #example { color: #666; } /* IE6 */

*+html #example { color: #999; } /* IE7 */

第二种,是使用IE专用的条件注释

<!&ndash;其他浏览器 &ndash;>

<link rel=”stylesheet” type=”text/css” href=”css.css” />

<!&ndash;[if IE 7]>

<!&ndash; 适合于IE7 &ndash;>

<link rel=”stylesheet” type=”text/css” href=”ie7.css” />

<![endif]&ndash;>

<!&ndash;[if lte IE 6]>

<!&ndash; 适合于IE6及一下 &ndash;>

<link rel=”stylesheet” type=”text/css” href=”ie.css” />

<![endif]&ndash;>

第三种,css filter的办法,以下为经典从国外网站翻译过来的。.

新建一个css样式如下:

#item {

width: 200px;

height: 200px;

background: red;

}

新建一个div,并使用前面定义的css的样式:

<div id=”item”>some text here</div>

在body表现这里加入lang属性,中文为zh:

<body lang=”en”>

现在对div元素再定义一个样式:

*:lang(en) #item{

background:green !important;

}

这样做是为了用!important覆盖原来的css样式,由于:lang选择器ie7.0并不支持,所以对这句话不会有任何作用,于是也达到了 ie6.0下同样的效果,但是很不幸地的是,safari同样不支持此属性,所以需要加入以下css样式:

#item:empty {

background: green !important

“IE6下容器的宽度实例分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注本站网站,小编将为大家输出更多高质量的实用文章!

《IE6下容器的宽度实例分析.doc》

下载本文的Word格式文档,以方便收藏与打印。