你对CSS兼容:IE6中背景图片设置问题是否了解,这里和大家分享一下,相信本文介绍一定会让你有所收获。
CSS兼容:一个IE6在no-repeat情况下依然重复背景图片的BUG
背景图片的设置是CSS布局时常用的一种属性,应用background的url,引入背景图片,可以设置为不重复平铺,如下面的代码:
background:url(http://www.w3cbbs.com/images/w3cbbs/logow3cbbs.png)no-repeat;
- 1.
◆在大多数情况下,此设置不会有任何问题。背景图片按设置的形式呈现,不会平铺于容器,无论容器是何宽度与高度。但在IE6下,有一种情况,如果未定义宽高,则会产生即使定义了no-repeat,背景图片依然重复的BUG。
以IE6中运行下面的代码:
SourceCodetoRun
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equivmetahttp-equiv="Content-Type"content="text/html;charset=gb2312"/>
<title>CSS兼容问题:一个IE6在no-repeat情况下依然重复背景图片的BUG-www.52css.com</title>
<styletypestyletype="text/css">
#bigbox{background:url(http://www.w3cbbs.com/images/w3cbbs/logow3cbbs.png)no-repeat;}
#smallbox{height:75px;}/*撑开bigbox*/
#marginbox{margin-top:-20px;}/*向上margin的box*/
</style>
</head>
<body>
</head>
<body>
<dividdivid="bigbox">
<dividdivid="smallbox"></div>
<dividdivid="marginbox"><imgsrcimgsrc="http://52css.com/skins/52css_logo4.png"width="200"height="90"/></div>
<dividdivid="content"></div>
</div>
</body>
</html>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
◆解决的办法很简单,为容器定义宽度即可。如果没有实际宽度,可以定义为100%。此BUG不需要额外的HACK,只需要在使用时注意避免即可。解决后的代码如下,在IE6中运行:
SourceCodetoRun
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equivmetahttp-equiv="Content-Type"content="text/html;charset=gb2312"/>
<title>CSS兼容问题:一个IE6在no-repeat情况下依然重复背景图片的BUG-www.52css.com</title>
<styletypestyletype="text/css">
#bigbox{width:100%;background:url(http://www.w3cbbs.com/images/w3cbbs/logow3cbbs.png)no-repeat;}
#smallbox{height:75px;}/*撑开bigbox*/
#marginbox{margin-top:-20px;}/*向上margin的box*/
</style>
</head>
<body>
</head>
<body>
<dividdivid="bigbox">
<dividdivid="smallbox"></div>
<dividdivid="marginbox"><imgsrcimgsrc="http://52css.com/skins/
52css_logo4.png"width="200"height="90"/></div>
<dividdivid="content"></div>
</div>
</body>
</html>
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
【编辑推荐】
- IE6中常见CSS兼容性解决十大技巧
- IE6 IE7 IE8三个版本的CSS兼容速查手册
- 十个修复IE6下bug技巧
- 探秘IE8 JavaScript功能超乎想象
- 技术前沿 一段JS代码轻松解决IE6-IE8的兼容性问题