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)該也可以, 這樣就相當于讓 p 擁有了包裹性.
包裹性換種說法就是讓元素inline-block化,例如一個p標簽?zāi)J寬度是100%顯示的,但是一旦被absolute屬性纏上,則100%默認寬度就會變成自適應(yīng)內(nèi)部元素的寬度
http://www.zhangxinxu.com/wor...
相關(guān)文章:
1. mac里的docker如何命令行開啟呢?2. 關(guān)docker hub上有些鏡像的tag被標記““This image has vulnerabilities””3. docker - 各位電腦上有多少個容器???容器一多,自己都搞混了,咋辦呢?4. 關(guān)于docker下的nginx壓力測試5. docker容器呢SSH為什么連不通呢?6. nignx - docker內(nèi)nginx 80端口被占用7. 如何解決Centos下Docker服務(wù)啟動無響應(yīng),且輸入docker命令無響應(yīng)?8. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個是怎么回事????9. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問題。10. docker start -a dockername 老是卡住,什么情況?

網(wǎng)公網(wǎng)安備