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

怎么让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条)

报告相同问题?

悬赏问题

  • ¥25 关于##爬虫##的问题,如何解决?:
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误