一行文字兩端的均勻分佈
阿新 • • 發佈:2018-11-09
前幾天看杜大大的CSS參考手冊,看到了老生常談的文字兩端對齊對齊方式,覺得很好,便記錄下來。
如果要實現本例中單行兩端對齊,可以這樣做:
- 首先,所有主流瀏覽器都支援text-align的justify屬性值;*.其次,在這個例子中每個 p 都只有一行(所以既是第一行也是最後一行),所以無法通過定義text-align: justify來實現兩端對齊,因為text-align: justify不會處理塊級內容文字的最後一行。
- 再次,好在有一個專門用來處理最後一行對齊的屬性text-align-last,可以通過定義text-align-last: justify
- 綜上所述,我們無法簡單的通過使用ttext-align或者text-align-last來實現單行文字兩端對齊。那麼可以換個思路,想辦法讓它們變成多行文字,使用偽元素派生一行新的佔位內容是個不錯的選擇,此時再實現兩端對齊,只需要text-align就行了。
但是IE7 及以下瀏覽器不支援偽元素,如果要支援的話,可以直接使用text-align-last。Ps(誰還相容IE7啊)實現及效果如下:
.demo p { text-align: justify; text-align-last: justify; } .demo p::after { display: inline-block; width: 100%; height: 0; content: "\0020"; overflow: hidden; }
這種解決方案並沒有解決元素內容為數字或者字母的兩端對齊問題,如有好的答案,不吝賜教,謝謝