inline-block justify实现列表两端对齐

适用条件:

1、一行的li间距宽度 小于两个li的宽度之和;
2、li个数刚好满行

条件1大部分都能满足的,所以主要就是刚好满行的情况。

相关代码片段

ul{
    text-align:justify;
    text-justify:distribute;
    font-size:0;
    letter-spacing:-4px;/*解决inline-block间隙表现不一致 bug*/
}
ul li {
    display:inline-block;
    *display:inline;
    *zoom:1;
    font-size:12px;
    letter-spacing:0;
    vertical-align:top;
}
ul li.justify_fix {
    width:100%;
    height:0;
    line-height:0;
    font-size:0;
    overflow:hidden;
    margin:0;
    padding:0;
}

html结构如下

<divclass="container">
    <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <!--  必须空出一个li 来fix bug -->
        <liclass="justify_fix"></li>
    </ul>
</div>

IE7-8 PNG24加透明opacity在Jquery动画中出现黑边的解决方法

这个问题 相信不少做JQ动画的童鞋都遇到过。在页面上实现一些动画效果,用PNG24的图片。经常会出现黑边。

JQuery动画的淡入淡出效果,用在PNG24的图片上,在IE7、IE8下会出现黑边框。

有些人觉得很奇怪,为什么屌丝IE6正常,反而在IE7、8下却有黑边呢。

其实问题出在filter属性上。IE6引用PNG24的图片的方式是:

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img24.png');

所以避免了这个黑边问题。

网上也有一些JS插件解决黑边问题。但效果并不理想。经过多次测试,最终解决方案如下:

在使用PNG24的图片外再嵌套一层DIV,用于设置透明度。同时IE下PNG24图片不使用background来引用。而使用filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’img24.png’);的方式。

相关代码:
html

<div class="warp"> <div class="img24"></div> </div> 

css

.warp {
filter:alpha(opacity=20);
}

//这里是单独对IE678设置的样式,chrome等其他高级浏览器还是照样用background引用
.img24 {
background:none;
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img24.png');
width:100px;
height:100px;
}