css絕對對齊

方法1:使用text-align:justifyjavascript

可以兼容全部的瀏覽器,可是必定要在模塊和模塊或者字之間存在空格,換行符或者製表符,這樣才能起做用css

*{margin:0;padding:0;}
/* 
 說明:
 1.IE中要實現塊內單行兩端對齊須要使用其私有屬性text-align-last:justify配合,text-align-last 要生效,必須先定義text-align 爲justify
 2.line-height:0 解決標準瀏覽器容器底部多餘的空白
*/
.demo{
     text-align:justify;
     text-align-last:justify;
     line-height:0;
     height:44px;
}
/*
 說明:
 模塊使用[換行符]或[空格符]後,webkit瀏覽器中會引發最後一個模塊有多餘空白,使用font-size:0可清除該空格
*/
@media all and (-webkit-min-device-pixel-ratio:0){
.demo{
     font-size:0;
}
}
 /* 
 說明:
 1.text-align-last:justify 目前只有IE支持,標準瀏覽器須要使用 .demo:after 僞類模擬相似效果 
 2.opera瀏覽器須要添加 vertical-align:top 才能徹底解決底部多餘的空白
 */
.demo:after{
     display:inline-block;
     overflow:hidden;
     width:100%;
     height:0;
     content:'';
     vertical-align:top;
}
.demo a{
     width:20%;
     display:inline-block;
     height:44px;
     line-height:44px;
     text-align:center;
     border:1px solid #428cc8;
     color:#666;
     font-size:16px;
     margin-bottom:5px;
     border-radius:3px;
     background-color:#fefefe;
     background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fefefe),color-stop(1,#eee));
     color:#666;
     text-decoration:none;
}

由於text-align-last:justify暫時只是支持IE,故在谷歌等瀏覽器中最後一行不會justify,因此咱們使用after創做一個僞類,充當最後一行,設置height等於0,原先的最後一行就變成了倒數第二行,故而谷歌等瀏覽器中木有text-align-last:justify亦可。html

 

對於文本動態獲取的元素,能夠使用函數java

function justify_Let(obj){
     var obj=$(obj);
    var lengths=[];
    obj.each(function(){
        lengths.push($(this).text().length);

    });
    //var smax=Math.max(lengths);
    if(lengths.length==0){return;}
    for(var i=0,smax=lengths[0],len=lengths.length;i<len;i++){
        if(lengths[i]>smax){
            smax=lengths[i];
        }
    }

    for(var i=0,len=lengths.length;i<len;i++){
        var currlen=lengths[i];
        if(currlen==smax){continue;}
        obj.eq(i).css({"letter-spacing": ((smax-currlen)/(currlen-1))+"em"});
    }
<p class="t1">姓名</p>
<p class="t1">性別</p>
<p class="t1">興趣愛好</p>
<p class="t1">座右銘</p>
<script type="text/javascript">// <![CDATA[
justify_Let(".t1")
// ]]></script>

 

方法2:使用justify-content:space-between;css3

box-pack是css3的新書習慣,依賴於display:box,搜到box-orient影響, box-pack決定了子標籤水平對其的方式,可選擇 start| end | center| justifyweb

<div class="demo">
    <a class="link" href="#none">10元</a>
    <a class="link" href="#none">20元</a>
    <a class="link" href="#none">30元</a>
    <a class="link" href="#none">50元</a>
</div>
*{margin:0;padding:0;}
/*
 說明:
 display:box定義佈局爲盒模型後,可以使用盒模型下的box-pack:justify屬性
*/
.demo{
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -webkit-justify-content:space-between;
    -ms-flex-pack:justify;
    justify-content:space-between;
}

.demo a{
     width:20%;
     display:block;
     height:44px;
     line-height:44px;
     text-align:center;
     border:1px solid #428cc8;
     color:#666;
     font-size:16px;
     margin-bottom:5px;
     border-radius:3px;
     background-color:#fefefe;
     background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fefefe),color-stop(1,#eee));
     color:#666;
     text-decoration:none;
}

方法3:使用column:瀏覽器

<div class="demo">
    <a class="link" href="#none">10元</a>
    <a class="link" href="#none">20元</a>
    <a class="link" href="#none">30元</a>
    <a class="link" href="#none">50元</a>
</div>
*{margin:0;padding:0;}
/* 
 說明:
 1.column-count定義了對象的列數,例子中有4個模塊,那麼定義爲4列
 2.column-gap定義了對象中列與列的間距,間距不能設置爲百分比,顯得不夠靈活
*/
.demo{
     -webkit-column-count:4;-moz-column-count:4;column-count:4;
     -webkit-column-gap:20px;-moz-column-gap:20px;column-gap:20px; 
}

.demo a{
     display:block;
     height:44px;
     line-height:44px;
     text-align:center;
     border:1px solid #428cc8;
     color:#666;
     font-size:16px;
     margin-bottom:5px;
     border-radius:3px;
     background-color:#fefefe;
     background-image:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fefefe),color-stop(1,#eee));
     color:#666;
     text-decoration:none;
}

 

參考:http://www.cnblogs.com/PeunZhang/p/3289493.html函數

參考:http://blog.csdn.net/nieshanfeng1/article/details/19193323佈局

相關文章
相關標籤/搜索