按钮文本更改时保持按钮大小稳定

时间:2019-09-15 13:56:09

标签: html css twitter-bootstrap button resize

我有一个bootstrap按钮:

<div class="float-right" >
    <label>show as </label>
    <input class="btn btn-outline-primary rounded active" type="button" value="percentage" onclick="toggle(this)" />
</div>

我使用以下命令切换文本

<script type="text/javascript">
    function toggle(button) {
        if(button.value=="percentage") {
            button.value="units";
        } else {
            button.value="percentage";
        }
    }
</script>

当文本从较长的单词percentage更改为较短的单词units时,如何获取按钮不调整大小。也就是说,我希望按钮的大小与文本为percentage时的大小相同。

请注意,我宁愿不使用style="min-width: 120px;"对大小进行硬编码。

1 个答案:

答案 0 :(得分:3)

我建议使用javascript

选项之一:

<div class="float-right" >
    <label>show as </label>
    <input class="btn btn-outline-primary rounded active" type="button" value="percentage" onclick="toggle(this)" />
</div>
<script type="text/javascript">
    function toggle(button) {
        const buttonWidth = button.offsetWidth;
        if(button.value=="percentage") {
            button.value="units";
            button.style.width = `${buttonWidth}px`;
        } else {
            button.value="percentage";
        }
    }
</script>