方法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佈局