2015-11-17 27 views
2

奇怪的事情:添加非易碎的連字符在一個HTML表格單元格中字符串時,文本變得不對齊與其他細胞:文本與非換連字符表中沒有對準

<table><tr><td>aligned</td><td>aligned-with normal hyphen</td></tr><tr><td>aligned</td><td>un&#8209;aligned with non breakable hyphen (&#8209;)</td></tr></table> 

Here is a JSFiddle for this

對此的任何解釋/修復?

+0

你的意思是文本對齊嗎?什麼不對齊? –

+0

第二個單元格中的文本未與第一個單元格中的文本對齊。只有在文本中有一個不可破壞的連字符時。 – Pierre

回答

0

垂直對齊行事靠不住的。這應該解決它。

td { vertical-align: text-top; }

1

由於某種原因,該字符的垂直高度不同。如果你設置垂直對齊,它會幫助它看起來更好,但它不會改變你的內容的高度。這可能是字體的一個特點。

https://jsfiddle.net/1yz4mngh/14/

的Html

<table> 
    <tr><td>-</td></tr> 
    <tr><td>&#8209;</td></tr> 
</table> 

的CSS

td { 
    background: #cccccc; 
    vertical-align: text-bottom; 
} 
+0

您沒有看到第二個單元格中的文本不是與第一個單元格中的文本垂直對齊?經過Chrome和Firefox測試。 – Pierre

+0

同意,這不是修復。 –

+0

你是對的。它不是字體的一個特點,而是其他字符使用的字體沒有非破壞連字符的字形。因此,瀏覽器爲該字符選擇了不同的字體,其中包含適當映射的字形,但該字體具有不同的度量,即更高。 td元素從其包含的tbody元素中繼承'vertical-align:middle',所以沒有什麼可以強制它排隊,除非在答案中選擇了不同的垂直對齊方式。 – Alohci