1. 程式人生 > 其它 >android html 不換行 字型縮小了_每天一個CSS小技巧 - 插入換行

android html 不換行 字型縮小了_每天一個CSS小技巧 - 插入換行

技術標籤:android html 不換行 字型縮小了

當我們在定義列表時,我們通常想得到如下的效果:

d91b34e49bda80b9615781b94b37f99d.png

下面是我們的html程式碼:

  
Name: Lea Verou Email: [email protected] Location: Earth

實際得到的效果是

b6d462770c4004adbbf740fc809f95ef.png

當我們想得到最上面的效果時,第一步通常是:

  
8799fa3e28597ad2b25796728444f42c.png

因為

和是 塊級元素,所以所有的名和值都各佔一行,我們可能通過改變或的display屬性來做嘗試:
    dd, dt{      display: inline;    }
5f1804ae6bbe8cd432fb34ca0c072a2a.png

解決方案

如上,我們缺少幾個換行

實際上有一個Unicode字元專門代表換行符:0x000A。在CSS中,我們可以用"A"表示,我們可以把它作為::after偽元素的內容,新增到dd的尾部,但是你會發現並沒有什麼作用,但這並不代表我們錯了,而是在HTML程式碼中,預設情況下換行符會與相鄰的其他空白符進行合併

,我們這裡保留原始碼中的這些空白符和換行,因此我們這麼做:

    dd, dt{      display: inline;    }    dd::after{      content: "A";      white-space: pre;    }    dd{      margin: 0;      font-weight: bold;    }
ef0cd8ac6d27b02b426c8a07af4fdc87.png

很明顯,我們已經得到了我們想要的效果,不過如果我們嘗試如下時:

580b7a2f8ef372de4378164d0e7e8def.png a899b45861fa1585faa824ad80a6aac9.png

由於我們在每個dd後面都加了一個換行符,每個值都會分到單獨一行,甚至不需要換行的時候也是如此。因此我們需要採取類似if else的判斷:

    dd + dt::before{      content: "A";      white-space: pre;    }    dd + dd::before{      content: ', ';      font-weight: normal;      margin-left: -.25em;    }
6e88556845f0e658e2e07b56783a20d2.png

另外上述的margin是為了修正逗號前的空格,尺寸是需要根據字型個尺寸除錯的。