菜鸟级前端(前段工作遇到的一些浏览器兼容问题)

一、ie6 PNGFix 透明图片解决办法

iepngfix_tilebg.js下载地址:http://www.dillerdesign.com/experiment/DD_belatedPNG/#usage

<!--[if IE 6]>

<script src="../js/b2c/iepngfix_tilebg.js"></script>

<script>

  DD_belatedPNG.fix('.png');   //括号里面的.png为背景图片格式为PNG-24的className,可以多个ClassName用,号隔开使用,不过我们可以巧妙的将使用背景图 片为PNG格式的className都给它取一个统一的class="png"()(比如:<div class="className1 png"></div><div  class="className2 png"></div>),这样我们就不用一个一个的去用逗号隔了

</script>

<![endif]-->

二、margin加倍的问题

设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。解决方案是在这个div里面加上 display:inline; 例如: <#div id=”imfloat”> 相应的css为 #IamFloat{ float:left; margin:5px;/*IE下理解为10px*/ display:inline;/*IE下再理解为5px*/}

三、Box Shadow 盒阴影

-moz-box-shadow: 2px 2px 3px #969696;

 -webkit-box-shadow: 2px 2px 3px #969696; filter: progid:DXImageTransform.Microsoft.Shadow(color='#969696', Direction=145, Strength=3);

box-shadow的四个参数:

x-offset                         x轴偏移

y-offset                         y轴偏移

blur                            模糊值

color of shadow               阴影颜色

四、jquery实现使元素在屏幕里上下左右居中

 $(document).ready(function() { 

        jQuery.fn.center = function() {

            this.css("position", "absolute");

            this.css("top", ($(window).height() - this.height()) / 2 + $(window).scrollTop() + "px");

            this.css("left", ($(window).width() - this.width()) / 2 + $(window).scrollLeft() + "px"); 

            return this;

        }

        $("#id").center();

    });

五、背景高度没变化

对于排版,我们用得最多的css描述可能就是float:left.有的时候我们需要在n栏的float div后面做一个统一的背景,譬如: <div id=”page”> <div id=”left”></div> <div id=”center”></div> <div id=”right”></div> </div> 比如我们要将page的背景设置成蓝色,以达到所有三栏的背景颜色是蓝色的目的,但是我们会发现随着left center right的向下拉长,而 page居然保存高度不变,问题来了,原因在于page不是float属性,而我们的page由于要居中,不能设置成float,所以我们应该这样解决 <div id=”page”> <div id=”bg” style=”float:left;width:100%”> <div id=”left”></div> <div id=”center”></div> <div id=”right”></div> </div> </div> 再嵌入一个float left而宽度是100%的DIV解决之 

六、IE6图片下有空隙

IE6下为什么图片下有空隙产生解决这个BUG的方法也有很多,可以是改变html的排版,或者设置img 为display:block 或者设置vertical-align 属性为 vertical-align:top | bottom |middle |text-bottom 都可以解决.

七、Border-Radius 圆角效果

<script src="curvycorners.js"></script>

.box{

width:200px;

height:100px;

background-color: #DDEEF6;

border:1px solid #DDEEF6;

border-radius: 6px;

 

// -webkit-border-radius: 6px; 

// -moz-border-radius: 6px; 然后在上面的样式后面定义以下代码:

}

<script type="text/javascript">

curvyCorners.addEvent(window, 'load', initCorners);

 

function initCorners() {

var settings = {

tl: { radius: 6 },

tr: { radius: 6 },

bl: { radius: 6 },

br: { radius: 6 },

antiAlias: true

}

var settings2 = {

tl: { radius: 30 },

tr: { radius: 6 },

bl: { radius: 6 },

br: { radius: 30 },

antiAlias: true

}

curvyCorners(settings, "#myBox"); //settings与函数体内定义的变量相对应,id为圆角对象的值

curvyCorners(settings2, "#myBox2"); //如果一个页面有多个不同值的圆角,可以在上面设置不同的settings值

}

</script>

HTML代码如下:

<div class="box" id="myBox"> </div>

<div class="box" id="myBox2"> </div>

posted on 2013-03-11 16:07  攻城师broon  阅读(223)  评论(0编辑  收藏  举报

导航