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条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)