<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>不管神马标签总能右侧对齐</title>
<script type="text/javascript" src="http://cdn.staticfile.org/jquery/2.1.1-rc2/jquery.min.js"></script>
<style type="text/css" media="screen">
* { margin: 0; padding: 0; font-size:13px; }
.clear:before, .clear:after { content:''; display:table; }
.clear:after { clear:both; }
.clear { zoom:1; }
.item_list { background: #fff; width: 300px; margin: 100px; }
.item_list a { 
    text-align:center; color: #fff; text-decoration: none; background: #369; display: block;
    float: left; padding:5px 10px; margin: 0 2px 2px 0; border: 0px solid red;
}
.item_list a:hover { background: #DD1111; }
</style>
</head>
<body>
<div class="item_list clear">
    <a href="0.html" class="on">全部</a>
    <a href="1.html">ajax</a>
    <a href="2.html">php</a>
    <a href="3.html">node.js</a>
    <a href="4.html">python</a>
    <a href="5.html">mysql</a>
    <a href="6.html">sqlite</a>
    <a href="7.html">asp</a>
    <a href="8.html">jsp</a>
    <a href="9.html">jquery</a>
    <a href="10.html">nginx</a>
    <a href="14.html">redis</a>
    <a href="15.html">HTML5</a>
    <a href="15.html">好</a>
    <a href="11.html">Action Script 3.0</a>
    <a href="12.html">JAVA</a>
    <a href="13.html">Android</a>
    <a href="16.html">C++</a>
    <a href="18.html">PhotoShop CS</a>
    <a href="18.html">Notepad++</a>
    <a href="17.html">不管神马标签</a>
    <a href="17.html">总能</a>
    <a href="17.html">让右侧</a>
    <a href="17.html">对齐哈</a>
</div>
 
<script type="text/javascript">
$(function(){
    //自动均匀布局标签
    var $target = $('.item_list');
    var $items = $('.item_list > a');
    var max_width = $target.width(); //box宽度
    var count = $items.size(); //所有单元个数统计
    var index = 0; //当前初始索引位置
    var tmp = 0;
    $items.each(function(){
        var $curr = $(this); //当前年item的DOM对象
        var outer_width = $curr.outerWidth(true); //区块宽度,含边框
        var border_width = outer_width - $curr.outerWidth(); //左右边框宽度
        tmp += outer_width; //计算每个item相加的值
        //遍历单元凑齐宽度
        if ( tmp > max_width ) {
            var $point = $curr.prev();
            var plus = max_width-(tmp-outer_width);
            avg_width($point, plus + border_width);
            tmp = outer_width;
        }
        //最后一个元素调整
        if ( $curr.is(':last-child') ) {
            var plus = max_width - tmp;
            avg_width($curr, plus + border_width);
        }
    });
 
    //均匀化各项平均宽度
    function avg_width($point, add_width) {
        //创建一个表示元素索引范围的数组
        var arr = range(index, $point.index());
        var add = Math.floor(add_width/arr.length);
        var end = add_width % arr.length;
        for ( var i in arr ) {
            var $item = $items.eq( arr[i] ); 
            $item.width($item.width()+add);
        }
        $point.width($point.width()+end);
        $point.css('margin-right', 0);
        index = $point.index()+1;
    }
 
    //生成指定范围的数组
    function range(low, high, step) {
        var matrix = [];
        var inival, endval, plus;
        var walker = step || 1;
        var chars = false;
        if (!isNaN(low) && !isNaN(high)) {
            inival = low;
            endval = high
        } else if (isNaN(low) && isNaN(high)) {
            chars = true;
            inival = low.charCodeAt(0);
            endval = high.charCodeAt(0)
        } else {
            inival = (isNaN(low) ? 0 : low);
            endval = (isNaN(high) ? 0 : high)
        }
        plus = ((inival > endval) ? false: true);
        if (plus) {
            while (inival <= endval) {
                var char_code = String.fromCharCode(inival);
                matrix.push(((chars) ? char_code : inival));
                inival += walker
            }
        } else {
            while (inival >= endval) {
                var char_code = String.fromCharCode(inival);
                matrix.push(((chars) ? char_code : inival));
                inival -= walker
            }
        }
        return matrix;
    }
});
</script>
</body>
</html>