javascript - 如何計算字符串寬度?
問題描述
比如
var str = ’你好,world’.
放到p中,且p是12px的字體,其他條件不考慮。那么str占得寬度是多少呢?
如果都是漢字,那么寫8em是可以的。可以里面有中文和符號,js怎么處理呢?
問題解答
回答1:這個算不出來,寬度不僅僅和字號有關(guān),還有字體,間距等等有關(guān)。最好說說你的意圖,覺得你考慮的方向不對
回答2:用canvas的measureText()API,倒是可以算出來,達到你的效果。但是,很顯然,特定加到canvas里面去算,會顯得多余,多此一舉。//可能,加入間距這些,那就真的不好算了。
回答3:我有一計, 應(yīng)該可行.把 p 設(shè)為 inline, https://jsfiddle.net/afqkt0d1/1/
不可替換的內(nèi)聯(lián)元素盒的內(nèi)容寬度是它里面渲染的內(nèi)容(的內(nèi)容寬度)(在所有子級的相對偏移之前)http://www.ayqy.net/doc/css2-...
還有把 p 設(shè)為, 浮動或者 absolute, fixed 定位應(yīng)該也可以, 這樣就相當(dāng)于讓 p 擁有了包裹性.
包裹性換種說法就是讓元素inline-block化,例如一個p標(biāo)簽?zāi)J寬度是100%顯示的,但是一旦被absolute屬性纏上,則100%默認寬度就會變成自適應(yīng)內(nèi)部元素的寬度
http://www.zhangxinxu.com/wor...
相關(guān)文章:
1. 哪位大神知道MySql怎么修改多行多列的數(shù)據(jù)?求指點2. 這是什么情況???3. 編輯管理員信息時,為什么沒有修改過的內(nèi)容會為空?4. phpadmin的數(shù)據(jù)庫,可以設(shè)置自動變化時間的變量嗎?就是不需要接收時間數(shù)據(jù),自動變化5. mysql - thinkphp5 在MAC電腦本地正常,部署LINUX服務(wù)器之后,模型不存在6. 老哥們求助啊7. mysql服務(wù)無法啟動1067錯誤,誰知道正確的解決方法?8. PHP類封裝的插入數(shù)據(jù),總是插入不成功,返回false;9. APP上傳到電腦服務(wù)器,出現(xiàn)數(shù)據(jù)上傳不完整的問題10. 求救一下,用新版的phpstudy,數(shù)據(jù)庫過段時間會消失是什么情況?
