CSS兼容:IE6中背景图片设置

开发 前端
本文向大家介绍一下CSS兼容:一个IE6在no-repeat情况下依然重复背景图片的BUG,背景图片的设置是CSS布局时常用的一种属性。

你对CSS兼容:IE6中背景图片设置问题是否了解,这里和大家分享一下,相信本文介绍一定会让你有所收获。

CSS兼容:一个IE6在no-repeat情况下依然重复背景图片的BUG

背景图片的设置是CSS布局时常用的一种属性,应用background的url,引入背景图片,可以设置为不重复平铺,如下面的代码:

  1.   background:url(http://www.w3cbbs.com/images/w3cbbs/logow3cbbs.png)no-repeat; 

  ◆在大多数情况下,此设置不会有任何问题。背景图片按设置的形式呈现,不会平铺于容器,无论容器是何宽度与高度。但在IE6下,有一种情况,如果未定义宽高,则会产生即使定义了no-repeat,背景图片依然重复的BUG。

  以IE6中运行下面的代码:

SourceCodetoRun
 

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"  
  2.  
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  4. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  5. <head> 
  6. <metahttp-equivmetahttp-equiv="Content-Type"content="text/html;charset=gb2312"/> 
  7. <title>CSS兼容问题:一个IE6在no-repeat情况下依然重复背景图片的BUG-www.52css.com</title> 
  8. <styletypestyletype="text/css"> 
  9. #bigbox{background:url(http://www.w3cbbs.com/images/w3cbbs/logow3cbbs.png)no-repeat;}  
  10. #smallbox{height:75px;}/*撑开bigbox*/  
  11. #marginbox{margin-top:-20px;}/*向上margin的box*/  
  12. </style> 
  13. </head> 
  14.  
  15. <body> 
  16.  
  17. </head> 
  18. <body> 
  19. <dividdivid="bigbox"> 
  20.  <dividdivid="smallbox"></div> 
  21.  <dividdivid="marginbox"><imgsrcimgsrc="http://52css.com/skins/52css_logo4.png"width="200"height="90"/></div> 
  22. <dividdivid="content"></div> 
  23. </div> 
  24. </body> 
  25. </html> 
  26.  

   ◆解决的办法很简单,为容器定义宽度即可。如果没有实际宽度,可以定义为100%。此BUG不需要额外的HACK,只需要在使用时注意避免即可。解决后的代码如下,在IE6中运行:

SourceCodetoRun
 

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"  
  2.  
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  4. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  5. <head> 
  6. <metahttp-equivmetahttp-equiv="Content-Type"content="text/html;charset=gb2312"/> 
  7. <title>CSS兼容问题:一个IE6在no-repeat情况下依然重复背景图片的BUG-www.52css.com</title> 
  8. <styletypestyletype="text/css"> 
  9. #bigbox{width:100%;background:url(http://www.w3cbbs.com/images/w3cbbs/logow3cbbs.png)no-repeat;}  
  10. #smallbox{height:75px;}/*撑开bigbox*/  
  11. #marginbox{margin-top:-20px;}/*向上margin的box*/  
  12. </style> 
  13. </head> 
  14.  
  15. <body> 
  16.  
  17. </head> 
  18. <body> 
  19. <dividdivid="bigbox"> 
  20.  <dividdivid="smallbox"></div> 
  21.  <dividdivid="marginbox"><imgsrcimgsrc="http://52css.com/skins/  
  22. 52css_logo4.png"width="200"height="90"/></div> 
  23. <dividdivid="content"></div> 
  24. </div> 
  25. </body> 
  26. </html> 
  27.  

【编辑推荐】

  1. IE6中常见CSS兼容性解决十大技巧
  2. IE6 IE7 IE8三个版本的CSS兼容速查手册
  3. 十个修复IE6下bug技巧
  4. 探秘IE8 JavaScript功能超乎想象
  5. 技术前沿 一段JS代码轻松解决IE6-IE8的兼容性问题

 


 

责任编辑:佚名 来源: 52css.com
相关推荐

2010-09-09 14:38:05

CSS背景图片

2010-08-26 10:26:44

CSS

2011-08-18 17:24:34

iPhone开发UINavigatio

2010-09-06 15:06:29

IE6IE7Firefox

2010-08-18 10:37:16

IE6IE7IE8

2010-09-15 11:08:48

CSSIE6IE7

2010-08-18 10:24:51

IE6IE7IE8

2010-08-18 15:22:28

IE6IE7Firefox

2010-08-27 15:08:10

FirefoxIE6IE7

2010-09-16 13:17:31

IE6IE7IE8

2010-08-11 14:32:51

IE6CSS

2010-08-20 13:15:54

IE6IE7IE8

2010-09-16 10:50:55

CSS兼容IE6

2010-08-27 15:38:21

兼容IE6IE7

2010-08-30 09:35:35

IE6IE7Firefox

2010-08-18 15:57:14

IE6IE7IE8

2010-09-16 13:33:47

IE6IE7IE8

2011-06-03 15:41:27

CSS HACK

2010-08-26 08:55:08

IE6CSS兼容性

2010-08-18 13:13:04

CSS兼容性IE6
点赞
收藏

51CTO技术栈公众号