javascript - 如何計算字串寬度?
过去多啦不再A梦
过去多啦不再A梦 2017-06-17 09:16:56
0
3
914

比如

var str = '你好,world'.

放到p中,且p是12px的字體,其他條件不考慮。那麼str占得寬度是多少呢?

如果都是漢字,那麼寫8em是可以的。可以裡面有中文和符號,js要怎麼處理呢?

过去多啦不再A梦
过去多啦不再A梦

全部回覆(3)
黄舟

這個算不出來,寬度不只和字號有關,還有字體,間距等等有關。最好說說你的意圖,覺得你考慮的方向不對

学霸

用canvas的measureText()API,倒是可以算出來,達到你的效果。但是,很顯然,特定加到canvas裡面去算,會顯得多餘,多此一舉。
//可能,加入間距這些,那就真的不好算了。

三叔

我有一計, 應該可行.
把 p 設為 inline,
https://jsfiddle.net/afqkt0d1/1/

不可替換的內聯元素盒的內容寬度是它裡面渲染的內容(的內容寬度)(在所有子級的相對偏移之前)
http://www.ayqy.net/doc/css2-. ..

還有把 p 設為, 浮動或 absolute, fixed 定位應該也可以, 這樣就相當於讓 p 擁有了包裹性.

包裹性換種說法就是讓元素inline-block化,例如一個p標籤預設寬度是100%顯示的,但是一旦被absolute屬性纏上,則100%預設寬度就會變成自適應內部元素的寬度

http://www.zhangxinxu.com/wor...

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板