css中解决ie6下背景图片底部不对齐错位办法

 先来两段代码,一段是HTML代码,一段是CSS代码,下面的分析都是在这两段代码的基础上进行。

HTML代码:

 代码如下 复制代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="UTF-8"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>解决IE6背景图底部对齐出错的问题</title> 
</head> 
<body> 
 
<div class="DivA">  
    <div class="DivB"></div>  
</div>  
 
</body> 
</html> 

CSS代码:

 代码如下 复制代码
.DivA{ 
 width:300px; 
 height:300px; 
 overflow:hidden; 
 border:1px solid #cccccc; 
 background:url("/201203311028034288.jpg") no-repeat 0% 100%; 
}  
.DivB{ 
 width:50px; 
 background-color:#6666ff; 
 margin:0 auto; 
}  

实例二

 代码如下 复制代码

<style type="text/css">
#container h3#topic{
font-size:12px;
height:48px;
line-height:64px;
padding-left:54px;
font-weight:normal;
background:url(../images/10131_3.png) no-repeat left bottom;
border-bottom:1px dashed #ccc;
margin-bottom:30px;
}
#container h3#topic span{
font-weight:bold;
color:#dd0301;
}
</style>
<div id="container">
    <h3 id="topic">欢迎注册会员<span>(以下信息均为必填且非常重要,请谨慎填写!)</span></h3>

解决办法

 

 代码如下 复制代码

<style type="text/css">
#container
{
height:48px;
border-bottom:1px dashed #ccc;
background:url(../images/10131_3.png) no-repeat left bottom;
}
#container h3#topic{
float:left;
font-size:12px;
font-weight:normal;
margin:35px 0 0 54px;
}
#container h3#topic span{
font-weight:bold;
color:#dd0301;}
</style>

<div id="container">
    <h3 id="topic">欢迎注d册会员<span>(以下信息均为必填且非常重要,请谨慎填写!)</span></h3>
</div>

景图:

 

  代码都准备好了以后,我们就开始分析,把哪些躲起来的背景给揪出来!

 

  第一步,我们先设置DivB的高度为300px时,它的高度与父元素的高度是一样,这时显示是正常的:


IE6显示的效果,正常


其它览器显示的效果,正常

  第二步,我来试试把DivB的高度设为999px看看有什么效果:


IE6显示效果,背景图消失了


其它浏览器显示效果,正常

  问题出来了,当DivB的度为999px时,背景图不见了!下面我们一齐来把背景图找出来吧。

  第三步,我们DivB的高度设为350px看看:


IE6显示效果,这时背景图只被隐藏了一部分

 


其它浏览器显示效果,正常

  从上面的图可以看出,当子元素比父元素高时,父元素的背景如果设置了底部对齐,在IE6下父元素的背景会向下移,移动的像素=子元素的高-父元素的高。

 

 

解决办法:

  因为当你设置超出高度时隐藏,父元素的高度是固定的,所以我们可以设置background-positionY=父元素高度-背景图高度。但这样做有个缺点,就是当背景图片或父元素的高度改变时,background-positionY的值就要重新计算了。

时间: 2025-01-29 16:04:34

css中解决ie6下背景图片底部不对齐错位办法的相关文章

解决ie6下png图片透明的完美方法

看了很多网上有关解决ie6下png图片透明的文章,很多都是只解决了页面上插入png图片或css背景调用,而且都没用透明效果,在ie6下仅实现了去除灰底色.今天特下载网上一些优秀页面进行分析整合,整理了两套相当有效的解决方案,可以同时支持插入图片或css背景调用问题. 更新下载版本说明: 1."ie6-png-2(filter)"文件中,滤镜控制调用背景透明和js控制插入图片透明不能同时出现,这样在不同浏览器下会有问题,可以分开使用: 2."ie6-png-1(js)"

ie6下背景图片不缓存解决办法

一,利用了execCommand来操作,很方方便代码如下.  代码如下 复制代码 if($.browser.msie && $.browser.version == "6.0"){     try{         document.execCommand('BackgroundImageCache', false, true);     }catch(e){} }; //execCommand .net一个对当前文档,当前选择或者给出范围的命令 二,IE6下默认不缓存

js DD_belatedPNG解决ie6下png图片不透明方法

 原理 这个js插件使用了微软的VML语言进行绘制,而其他多数解决PNG问题的js插件用的是AlphaImageLoader滤镜. 使用方法 1.在这里下载DD_belatedPNG.js文件. http://dillerdesign.com/experiment/DD_belatedPNG/#download 2.在网页中引用,如下:    代码如下 复制代码 <!--[if IE 6]> <script src="DD_belatedPNG.js" mce_src

用DD_belatedPNG解决IE6下PNG图片无法透明的问题

你了解png24吗? http://www.iyunlu.com/view/Front-end/60.html 对于png24的问题,之前用了pngFix,可以解决背景图片的问题.特别是对于标签,就没有什么效果. 用了DD_belatedPNG这款png处理插件. 优点 支持 backgrond-position 与 background-repeat,这是其他 js 插件不具备的. DD_belatedPNG 还支持 a:hover 伪类属性,以及 img 标签. 使用方便. 说明 如处理所有

解决IE6下不支持 png24的透明图片问题

常用的两种解决方案: 第一:使用IE滤镜解决 关键代码: css代码 _background:none;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="http://www.update8.com/Web/CSS/css/images/png24.png",sizingMethod="crop"); 有几点注意点: 1:这里对应的src地址一定是相对于html页面的不是相对于css路径的

css/js实现png图片ie6下背景透明实现代码

在IE6直接显示(包括内容中直接插入.作为背景图片)PNG-24格式的图片,是不能正确显示透明.半透明内容与其他内容的叠加呈现效果的.那些IE7+以及其他标准浏览器中漂亮的虚化.淡出.投影效果,在IE6-中很可能成了一坨难看的灰色. 如果你无法忍受ie6中难看的灰色,如果你无法放弃半透明叠加的效果,你会有机会遇到这个问题的.解决途径有不少.这里列举一些,以供参考: 1,修改设计效果,使之可以整块透明区域被切片而不影响显示效果.或者去掉半透明效果. 2,htc文件 这里的htc,和宏达手机是无关的

ie6下png图片背景不透明的解决办法使用js实现_javascript技巧

我们时常在使用png图片的时候,在ie6下发生背景不透明的问题,下面给大家介绍下一个js解决的方式. 首先我们要用到一个js,代码如下: 复制代码 代码如下: /** * DD_belatedPNG: Adds IE6 support: PNG images for CSS background-image and HTML <IMG/>. * Author: Drew Diller * Email: drew.diller@gmail.com * URL: http://www.diller

基于jQuery IE6下PNG图片背景透明问题解决方法

基于jQuery IE6下PNG图片背景透明问题解决方法 IE6问题真的很多,其中有一个问题是PNG图片背景无法变成透明,取而代之的是一个色块,有时候我们想用png透明图片来做小图标,这个在IE6下就纠结了,下面我们用一个jquery插件来解决这个问题,希望能帮上大家. 首先下载SuperSleight for jQuery,再下载一张透明gif图片transparent.gif. 引用脚本: <script type="text/网页特效" src="/scripts

JS解决ie6下png透明方法

  解决ie6下png透明的问题想必前端都比较清楚,虽然有很多方法,但是我觉得用JS还是最省事的方法,不管是图片还是背景图片都OK. <!DOCTYPE html> <html lang="en"> <head> <title>解决ie6下png透明方法之JS法-</title> <style type="text/css"> .a{background: #FFFF99 ; backgroun