css之文本兩端對齊

提及text-align,你們必定都不以爲陌生,咱們經常使用關鍵字left、right、center實現行內元素相對父元素左、右、居中對齊,固然咱們也使用justify來實現文本兩端對齊。css

如上圖,兩端對齊相對於左對齊,視覺上顯得整齊有序。但justify對最後一行無效,一般這樣的排版對整段文字是極好的,咱們並不但願當最後一行只有兩個字時也兩端對齊,畢竟這是不便於閱讀的,那麼當咱們只有一行文本,但要實現單行文本兩端對齊怎麼解決(以下圖的表單項效果)?html

根據justify對最後一行無效,咱們能夠新增一行,使該行文本不是最後一行,實現以下:spa

//html
<div class="item">
    <span class="label" >{{item.label}}</span><span class="value">{{item.value}}</span>
</div>
//scss
.item {
    height: 32px;
    line-height: 32px;
    margin-bottom: 8px;
    .label {
        display: inline-block;
        height: 100%;
        width: 100px;
        text-align: justify;
        vertical-align: top;
        &::after {
            display: inline-block;
            width: 100%;
            content: '';
            height: 0;
        }
    }
    .value {
        padding-right: 10px;
    }
}

but以上寫法能夠說是比較麻煩的,重點來啦,最近新瞭解到的一個屬性text-align-last,該屬性定義的是一段文本中最後一行在被強制換行以前的對齊規則。code

//scss
.item {
    margin-bottom: 8px;
    .label {
        display: inline-block;
        height: 100%;
        min-width: 100px;
        text-align: justify;
        text-align-last: justify;
    }
    .value {
        padding-right: 10px;
    }
}

相比第一種實現,第二種實現方式就簡單了很多,不過該屬性有兼容性問題,你們能夠根據狀況決定實現方式,想了解更多關於text-align-last的說明,參見https://developer.mozilla.org/zh-CN/docs/Web/CSS/text-align-lasthtm

相關文章
相關標籤/搜索