这篇文章将为大家详细讲解有关CSS兼容中如何进行IE6中背景图片设置,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
CSS兼容:一个IE6在no-repeat情况下依然重复背景图片的BUG
背景图片的设置是CSS布局时常用的一种属性,应用background的url,引入背景图片,可以设置为不重复平铺,如下面的代码:
background:url(/file/upload/202210/19/nrj0e1qv4ha.png)no-repeat;
◆在大多数情况下,此设置不会有任何问题。背景图片按设置的形式呈现,不会平铺于容器,无论容器是何宽度与高度。但在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(/file/upload/202210/19/nrj0e1qv4ha.png)no-repeat;} #smallbox{height:75px;} #marginbox{margin-top:-20px;} </style> </head> <body> </head> <body> <dividdivid="bigbox"> <dividdivid="smallbox"></div> <dividdivid="marginbox"><imgsrcimgsrc="/file/upload/202210/19/pdswseqvskd.png"width="200"height="90"/></div> <dividdivid="content"></div> </div> </body> </html>
◆解决的办法很简单,为容器定义宽度即可。如果没有实际宽度,可以定义为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(/file/upload/202210/19/nrj0e1qv4ha.png)no-repeat;} #smallbox{height:75px;} #marginbox{margin-top:-20px;} </style> </head> <body> </head> <body> <dividdivid="bigbox"> <dividdivid="smallbox"></div> <dividdivid="marginbox"><imgsrcimgsrc="/file/upload/202210/19/btwskgfs1uc.png"width="200"height="90"/></div> <dividdivid="content"></div> </div> </body> </html>
关于CSS兼容中如何进行IE6中背景图片设置就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。