gacaibai 2016-07-29 03:04 采纳率: 46.7%
浏览 15557
已采纳

怎么让input标签的宽度随着里面的内容变化?

input里面的数据是在js里面赋值的,但是总显示不全,怎么在能根据内容变化宽度呀

 <style>
*{
    margin:0px;
    padding:0px;
    font-size:20;
}
select{
    height:22px;
    width:128px;
}
button{
    width:120px;
    margin-right:3px;
}
input[disabled]{
    border: 0px solid red;
    background-color:#fff;
}
textarea{
    border: 0px solid red;
    background-color:#fff;
    overflow-y:hidden;
    overflow-x:hidden;
}
</style>

<input id="bmmc" type="text" disabled="true"></input>
  • 写回答

4条回答 默认 最新

  • Go 旅城通票 2016-07-29 06:05
    关注

    用一个absolute定位的div,内置一个label(font-size和font-family要和input一样)来计算文字的实际宽度,计算好后再重新设置input的width属性

     <style>
        * {
            margin: 0px;
            padding: 0px;
            font-size: 20;
        }
    
        select {
            height: 22px;
            width: 128px;
        }
    
        button {
            width: 120px;
            margin-right: 3px;
        }
    
        input[disabled] {
            border: 0px solid red;
            background-color: #fff;font-size:14px;font-family:宋体;
        }
        /*调整left属性值键div不可见*/
        #dv{position:absolute;left:-9999999px;top:0;width:9999px;}
        #dv label{font-size:14px;font-family:宋体;}
        textarea {
            border: 0px solid red;
            background-color: #fff;
            overflow-y: hidden;
            overflow-x: hidden;
        }
    </style>
    <div id="dv"><label></label></div>
    <input id="bmmc" type="text" disabled="true"></input>
    <script>
        var s = 'abcdefg中干发啦发啦两分钟就分了就发了发放3333333333333333'
        var dv = document.getElementById('dv');
        dv.firstChild.innerHTML = s;
        document.getElementById('bmmc').value = s;
        document.getElementById('bmmc').style.width=dv.firstChild.offsetWidth+'px'
    </script>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献