比如
var str = '你好,world'.
放到p中,且p是12px的字體,其他條件不考慮。那麼str占得寬度是多少呢?
如果都是漢字,那麼寫8em是可以的。可以裡面有中文和符號,js要怎麼處理呢?
欧阳克2017-06-17 09:18:56
用canvas的measureText()API,倒是可以算出來,達到你的效果。但是,很顯然,特定加到canvas裡面去算,會顯得多餘,多此一舉。
//可能,加入間距這些,那就真的不好算了。
三叔2017-06-17 09:18:56
我有一計, 應該可行.
把 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...