巧用CSS實現(xiàn)文字間距自適應(yīng)寬度

一、需求描述
項目需要開發(fā)一個仿醫(yī)療證書類的一個小卡片,用于模擬展示不同種類的證書信息,如下圖片是官方的證書樣例,證書的布局結(jié)構(gòu)就是最上方一個大號的證書類型名稱標題,下方的詳細信息則是一個左右并列的布局結(jié)構(gòu),其中每一項信息的標題的文字間距都是根據(jù)統(tǒng)一的寬度進行不同的設(shè)定。證書標題與左右并列的布局結(jié)構(gòu)較好解決,但是根據(jù)文本塊寬度,讓里面的內(nèi)容文字間距自適應(yīng),這個在前端如果解決呢?
二、個人思路
首先查詢CSS屬性表,發(fā)現(xiàn)有一個用于設(shè)置字符間距的屬性:letter-spacing
letter-spacing 屬性增加或減少字符間的空白(字符間距)
那讓我們看看letter-spacing
的實際使用效果:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(runoob.com)</title> <style> h1 {letter-spacing:2px;} h2 {letter-spacing:-3px;} </style> </head> <body> <h1>This is heading 1</h1> <h2>This is heading 2</h2> </body> </html>
可以看到letter-spacing
確實有調(diào)整字符間距的效果,但是需要設(shè)置一個固定的間距值,這與我們根據(jù)文本塊寬度自適應(yīng)調(diào)整文本間距的需求不符,所以考慮其他辦法。
我們繼續(xù)查詢CSS屬性表,發(fā)現(xiàn)屬性:text-align
也可以調(diào)整字符的間距,是通過調(diào)整文本的對齊方式來達到調(diào)整字符間距的目的。官方對屬性text-align
及其屬性值是這么描述的:
text-align屬性指定元素文本的水平對齊方式
值 | 描述 |
---|---|
left | 把文本排列到左邊。默認值:由瀏覽器決定。 |
right | 把文本排列到右邊。 |
center | 把文本排列到中間。 |
justify | 實現(xiàn)兩端對齊文本效果。 |
inherit | 規(guī)定應(yīng)該從父元素繼承 text-align 屬性的值。 |
讓我們看看屬性text-align
的實際效果:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(runoob.com)</title> <style> h1.c {text-align:center; width: 400px; background-color: red; color: #fff} h1.j {text-align:justify; width: 400px; background-color: red; color: #fff} </style> </head> <body> <h1 class="c">This is heading 1</h1> <h1 class="j">This is heading 2</h1> </body> </html>
我們發(fā)現(xiàn)設(shè)置text-align:justify
并沒有達到我們想要的字符間距自適應(yīng)文本塊寬度的效果,這是為什么呢?
我通過查詢相關(guān)資料發(fā)現(xiàn),原來還需要設(shè)置一個屬性text-align-last
,才能夠達到字符間距自適應(yīng)文本塊寬度的效果。官方對于該屬性的描述如下:
text-align-last 屬性規(guī)定如何對齊文本的最后一行
**注意:**text-align-last 屬性只有在 text-align 屬性設(shè)置為 "justify" 時才起作用
屬性值
值 | 描述 |
---|---|
auto | 默認值。最后一行被調(diào)整,并向左對齊。 |
left | 最后一行向左對齊。 |
right | 最后一行向右對齊。 |
center | 最后一行居中對齊。 |
justify | 最后一行被調(diào)整為兩端對齊。 |
start | 最后一行在行開頭對齊(如果 text-direction 是從左到右,則向左對齊;如果 text-direction 是從右到左,則向右對齊)。 |
end | 最后一行在行末尾對齊(如果 text-direction 是從左到右,則向右對齊;如果 text-direction 是從右到左,則向左對齊)。 |
initial | 設(shè)置該屬性為它的默認值。 |
inherit | 從父元素繼承該屬性。 |
那讓我們試試加入屬性text-align-last
之后的效果如何:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(runoob.com)</title> <style> h1.c {text-align:center; width: 400px; background-color: red; color: #fff} h1.j {text-align:justify; text-align-last:justify; width: 400px; background-color: red; color: #fff} </style> </head> <body> <h1 class="c">This is heading 1</h1> <h1 class="j">This is heading 2</h1> </body> </html>
可以看到,加入屬性text-align-last
之后,效果是立竿見影,字符間距立刻自動適應(yīng)了文本塊寬度,進行了間距調(diào)整。
找到方法之后,接下來,我們將其運用到實際的項目開發(fā)中。
三、項目實現(xiàn)效果
項目實際效果如下:
以上就是巧用CSS實現(xiàn)文字間距自適應(yīng)寬度的詳細內(nèi)容,更多關(guān)于CSS文字間距自適應(yīng)寬度的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
- 這篇文章主要給大家介紹CSS設(shè)置自動滾動定位的間距的方法,文中有詳細的代碼示例和圖文介紹,對大家的學(xué)習(xí)或工作有一定的價值,需要的朋友可以參考下2023-09-22
CSS深入學(xué)習(xí)之讓你認識不一樣的margin
這篇文章主要給大家介紹了CSS中margin的用法和常見問題的分析,文中介紹的非常詳細,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-06-28css解決display:inline-block;產(chǎn)生的縫隙(間隙)的方法
本篇文章主要介紹了css解決display:inline-block;產(chǎn)生的縫隙(間隙)的方法,具有一定的參考價值,有需要的可以了解一下。2016-12-14- 給當前定高元素, 設(shè)置line-height屬性, 其屬性值等于當前元素的height值,今天了解到了一條相關(guān)知識, 明白這個方法的實現(xiàn)原理。在此與大家分享下2013-11-20
- 在網(wǎng)頁布局中經(jīng)常會用到css控制字間距和對齊方式,有些朋友對其屬性不是很熟悉,下面為大家詳細介紹下,感興趣的朋有可以參考下哈2013-06-16
如何設(shè)置單詞字體間距 css設(shè)置字體間距樣式代碼
如何設(shè)置單詞字體間距?在div布局中經(jīng)常會遇到這樣的問題,適當?shù)拈g距可以友好界面,利用閑暇時間整理了一些,有需求的朋友可以參考下2012-12-30- HTM,CSS,怎樣去掉橫排圖片之間的間距,是我們的一大頭疼問題,于是本人搜集整理一下,曬出來和大家分享,希望可以幫助你們2012-12-11
- 我們可以從表中看到在這里可以定義文本的文字間距、字母間距、裝飾、對齊方式、縮進方式和行高等屬性。2010-07-04
- 網(wǎng)頁制作Webjx文章簡介:本文主要講解如何用CSS控制網(wǎng)頁段落行間距的三個實例:1、使用百分比設(shè)置行間距,2、使用像素值設(shè)置行間距,3、使用數(shù)值來設(shè)置行間距。2009-04-02
CSS去除表格的默認間距并且制作1px的細線表-CSS教程-網(wǎng)頁制作-網(wǎng)頁教學(xué)
現(xiàn)在在所謂“div css”的風(fēng)氣下,很多人放棄了表格,其實應(yīng)該讓每個標簽物盡其用,在表現(xiàn)數(shù)據(jù)的地方,我們還是應(yīng)該使用table。但是,我們在建立table的時候,會2008-10-17