javascript - 如何获取文本的宽度并相应地调整模板的大小?

标签 javascript html css text-size webix

我正在尝试将 ui.template 扩展到文本的宽度。据我所知,没有 autowidth 属性, adjust() 适合容器,我不知道如何获得实际的文本大小来应用 resize() 属性。这是我的代码:

{
  view:"scrollview",
  scroll:"x",            
  body:{
    id:"temp",
    template:"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.",
    autoheight:true,                            
  }
} 

http://webix.com/snippet/796b80f7

有没有办法做到这一点?谢谢。

最佳答案

有一个 getTextSize 助手

var text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.";

webix.ui({  
  rows:[    
    {
      view:"scrollview",
      scroll:"x",            
      body:{
        id:"temp",
        width:webix.html.getTextSize(text).width+20,
        height: 30,
        template:text
      }
    }    
  ]  
});

关于javascript - 如何获取文本的宽度并相应地调整模板的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40310709/

相关文章:

javascript - 当幻灯片可见时触发一个函数,然后在它完成后销毁它,然后重复

javascript - 选择 bootstrap 下拉菜单,jquery 不工作

java - 发布表单时设置请求属性

html - 我最近看到一个 CSS 文件,其中分别定义了 "body"和 ".body"。为什么要在 ".body"类中放置描述?

html - 具有特殊宽度的固定 css 标题

css - Safari 页面高度问题

javascript - CSS动画宽度从右到左,高度从下到上

javascript - 如何在 Raphael 打印方法的输出上自动换行?

javascript - Node js。未处理的 promise 拒绝

javascript - FlexiGrid - 在代码中设置网格宽度