搜尋

首頁  >  問答  >  主體

javascript - 如何計算字串寬度?

比如

var str = '你好,world'.

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

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

过去多啦不再A梦过去多啦不再A梦2717 天前888

全部回覆(3)我來回復

  • 黄舟

    黄舟2017-06-17 09:18:56

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

    回覆
    0
  • 欧阳克

    欧阳克2017-06-17 09:18:56

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

    回覆
    0
  • 三叔

    三叔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...

    回覆
    0
  • 取消回覆