制作自適應換行的排版效果

前言

這個標題大家看著可能摸不著頭腦氛悬,先簡單普及幾個定義黔姜。
在html中剃浇,文字換行有兩種類型巾兆,一個是塊級標簽定義段落。比如說第一段到這一段之間的換行虎囚,就是兩個<p>標簽(或者兩個<div>標簽)角塑。簡而言之,一個<p><\p>之間就是一個完整的自然段淘讥。段與段之間的間距吉拳,就是段間距,可以通過定義<p>或者<div>的margin來控制适揉。
另外一種就是<br/>,這個實際上是一個行內標簽(in-line)煤惩,也就是只能在一個段落內部起作用的標簽嫉嘀,不能跨段落使用。這個標簽的作用是之間換行魄揉,但是換行后的兩段文字還是被視為一段文字的剪侮,所以這兩段文字之間的間距只是行間距,也就是一個自然段內上下兩行文字的間距。

不同設備的自動換行

對于閱讀器而言瓣俯,它會根據(jù)設備的寬度來自動給文字換行杰标,相當于程序自動在設備邊緣給文字加了個<br/>標簽。
不同的設備彩匕,因為寬高比和分辨率不一樣腔剂,自動換行的長度也不一樣,下面是一個對比圖驼仪。

平板寬度

這是寬高比為4:3的平板上多看的自動換行效果掸犬,大概是二十三個字符左右。當然如果你手動放大文字字號绪爸,字符數(shù)也會相應減少湾碎。
手機寬度

這是寬高比為16:9的手機上多看的自動換行效果,可以看到手機的長度更長奠货,但相應的寬度只有十七個字符就要自動換行介褥。

詩歌的自動換行實例

舉個實際的例子。如下圖所示递惋,


平板詩歌

這個是平板上顯示詩歌的排版柔滔,對于七言絕句而言,一行顯示兩句丹墨,總共顯示兩行是典型的排版廊遍。但是這個排版到了手機上就是這個樣子了:


手機詩歌

原因就是上面所說,手機寬度較小贩挣,所以產(chǎn)生了自動換行喉前。
當然我們可以用一個折中的辦法,就是詩歌固定一句一行王财,如下圖卵迂,
詩歌一句一行

這樣一來平板和手機默認字體顯示的就都不會自動換行了(當然手動放大字號肯定會自動換行,這個沒法避免绒净,我們只能保證默認字體的自適應)见咒,但是我們可以比較一下,這樣一來犧牲的是平板設備兩側的空余空間挂疆,如果字體較小的話改览,排版還是顯得不夠均勻。

自適應換行排版

我們的目標是在平板上能顯示第三張圖的效果缤言,而在手機上又能自動切換為上一張圖的效果宝当。簡而言之,就是不要讓程序在設備邊緣自動換行胆萧,而讓它在我們想要的地方自動換行庆揩。
實際操作的代碼如下:

<head>
  <title></title>
  <style type="text/css">
.title {
    font-size: 100%;
    text-align: center;
}

blockquote p {
    font-family:"DK-KAITI",楷體, "kt", sans-serif;
    text-indent: 0em;
    text-align: center;
    white-space: nowrap;
}
</style>
</head>

<body>
  <p class="title">《出塞》·王昌齡</p>

  <blockquote>
    <p><span>秦時明月漢時關,</span><span>萬里長征人未還。</span></p>

    <p><span>但使龍城飛將在订晌,</span><span>不教胡馬度陰山虏辫。</span></p>
  </blockquote>
</body>
</html>

平板的顯示效果還是同第三張圖,而放到手機上顯示效果如下锈拨。


自適應換行

我們看一下代碼砌庄,實際上要關注的只有兩個地方,第一是詩歌的屬性中推励,需要有white-space: nowrap這個屬性鹤耍,不允許自動換行,第二是在詩歌本身段落中验辞,在需要成為整句的地方用行內標簽括起來(span或者a都可以)稿黄,這樣一來,在手機上程序就會優(yōu)先從span之間進行自動換行了跌造。
可以看到前兩句和后兩句之間的間距較大杆怕,這個原因在前言里已經(jīng)說明了,第一二句之間實際上是<br/>標簽壳贪,而二三句之間是<p>標簽陵珍,二者的行距定義不同。
要解決這個問題违施,可以在詩歌屬性中定義line-height互纯,這控制了<br/>標簽的行距,也可以去掉詩歌段落中的<p>標簽磕蒲。但要注意留潦,如果平板寬度較大,可能出現(xiàn)第一行三句第二行一句的情況辣往。

總結

本篇的自適應換行技巧當然也有缺點兔院,它比較適合用于古典詩歌文學,尤其是每句字數(shù)固定的站削,否則就可能出現(xiàn)每一行換行不一致的情況坊萝。
當然這個技巧不光可以用于詩歌,也可以用于章節(jié)標題等特定設計许起,因為其本質是讓段落在我們想要的地方自動換行十偶。會不會玩崩還是要看排版的調整。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末园细,一起剝皮案震驚了整個濱河市扯键,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌珊肃,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異伦乔,居然都是意外死亡厉亏,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門烈和,熙熙樓的掌柜王于貴愁眉苦臉地迎上來爱只,“玉大人,你說我怎么就攤上這事招刹√袷裕” “怎么了?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵疯暑,是天一觀的道長训柴。 經(jīng)常有香客問我,道長妇拯,這世上最難降的妖魔是什么幻馁? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮越锈,結果婚禮上仗嗦,老公的妹妹穿的比我還像新娘。我一直安慰自己甘凭,他們只是感情好稀拐,可當我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著丹弱,像睡著了一般德撬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蹈矮,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天砰逻,我揣著相機與錄音,去河邊找鬼泛鸟。 笑死蝠咆,一個胖子當著我的面吹牛,可吹牛的內容都是我干的北滥。 我是一名探鬼主播刚操,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼再芋!你這毒婦竟也來了菊霜?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤济赎,失蹤者是張志新(化名)和其女友劉穎鉴逞,沒想到半個月后记某,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡构捡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年液南,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片勾徽。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡滑凉,死狀恐怖,靈堂內的尸體忽然破棺而出喘帚,到底是詐尸還是另有隱情畅姊,我是刑警寧澤,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布吹由,位于F島的核電站若未,受9級特大地震影響,放射性物質發(fā)生泄漏溉知。R本人自食惡果不足惜陨瘩,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望级乍。 院中可真熱鬧舌劳,春花似錦、人聲如沸玫荣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捅厂。三九已至贯卦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間焙贷,已是汗流浹背撵割。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留辙芍,地道東北人啡彬。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像故硅,于是被迫代替她去往敵國和親庶灿。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,047評論 2 355