CSS中使用text-align:justify讓內容兩端對齊並兼容IE及主流瀏覽器的方法


我們做登錄頁面時有時需要用戶名和密碼倆端對齊,這樣顯得美觀一點,下面介紹一下幾種實現方法:

一、使用 text-align屬性(只兼容谷歌、火狐瀏覽器):

html

<ul>
    <li>密碼</li>
    <li>用戶名</li>
    <li>身份證號</li>
</ul>

css

ul li{
    width: 120px;
    text-align: justify;
    text-align-last:justify
}

效果

二、兼容大多數瀏覽器的終極兼容方法(ie7及以下不支持偽類)

html

<ul>
    <li>密碼</li>
    <li>用戶名</li>
    <li>身份證號</li>
</ul>

css

ul li{
    width: 120px;
    height: 40px;
    line-height: 40px;
    text-align: justify;
    text-align-last:justify
}
ul li:after{
    content: '';
    display: inline-block;
    width: 100%;
}

加偽類after的作用是text-align:justify 不處理強制打斷的行,也不處理塊內的最后一行。通俗一點講,就是只有一行顯示的時候這個屬性是不起作用的,或者使用了word-break: break-all;這種強制換行的屬性,也是不起作用的。如果內容是多於一行的時候,除了最后一行,都是兩端對齊的效果。

(1)注意每個單詞之間都有空格,這個很重要,很重要,很重要,而且只需一個空格就行,多個空格也不影響。如果沒有這個空格,兼容性很差,基本只有谷歌和火狐支持。

(2)這個方法兼容ie7及以上,還有其它的瀏覽器。ie6沒測,所以不敢下結論。

(3)多行內容也可以使用同樣的方法,只是最后一行如果不去加空格,還是不會處理,只是默認的往左對齊。

(4)li 這個標簽要設置 list-style: none; 去掉默認屬性,否則當只有一行的時候,會出現並沒有左右兩端對齊,而是類似右對齊的bug。。。

若是還不兼容各大瀏覽器請加屬性:text-justify:distribute;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM