在xul中,顯示單行文本有兩種方式,使用label元素,或者使用value賦值的description元素。不管使用哪種方式,如果文本長度超過了容器的寬度,超長的部分就顯示不出來。這樣就會給用戶一種錯覺,以為內容只有這麼長。其實我們可以更加智能一些,就是把超長的部分用省略號代替,顯示在結尾,這樣用戶一看就知道後面還有內容。
省略號模式的基本格式如下:
<label value="一行很長的文本內容" crop="end" />
放在水平順序的box(比如hbox)中要注意加flex屬性:
<hbox>
<label value="一行很長的文本內容" flex="1" crop="end" />
</hbox>
放在垂直順序的box(比如vbox)中不需要加flex屬性,例子就不給了。
上面例子中的label元素均可以替換成description元素,最後的效果是一樣的。話說label和description就是別名,用label也可以實現description的兩種效果:自動換行和多行顯示,可以參考這兩篇《XUL技巧之多行顯示的description》和《XUL技巧之自動換行的description》,把例子中的description替換成label照樣好用啊,這個真是才發現。@_@