Bootstrap是否支持固定宽度的按钮?目前,如果我有2个按钮,“保存”和“下载”,按钮大小根据内容而变化。

还有什么是正确的方式扩展Bootstrap?


当前回答

如果你把你的按钮放在一个类为“btn-group”的div中,里面的按钮将伸缩到与最大的按钮相同的大小。

eg:

<div class="btn-group">
  <button type="button" class="btn btn-default">Left</button>
  <button type="button" class="btn btn-default">Middle</button>
  <button type="button" class="btn btn-default">Right</button>
</div> 

引导按钮组

其他回答

如果你把你的按钮放在一个类为“btn-group”的div中,里面的按钮将伸缩到与最大的按钮相同的大小。

eg:

<div class="btn-group">
  <button type="button" class="btn btn-default">Left</button>
  <button type="button" class="btn btn-default">Middle</button>
  <button type="button" class="btn btn-default">Right</button>
</div> 

引导按钮组

对于bs4和bs5,您还可以使用大小调整,并应用w-100,以便按钮可以占用父容器的完整宽度。

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.3/css/bootstrap.min.css" rel="stylesheet" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <p> Using btn-block </p> <div class="container-fluid"> <div class="btn-group col" role="group" aria-label="Basic example"> <button type="button" class="btn btn-outline-secondary">Left</button> <button type="button" class="btn btn-outline-secondary btn-block">Middle</button> <button type="button" class="btn btn-outline-secondary">Right</button> </div> </div> <p> Using w-100 </p> <div class="container-fluid"> <div class="btn-group col" role="group" aria-label="Basic example"> <button type="button" class="btn btn-outline-secondary">Left</button> <button type="button" class="btn btn-outline-secondary w-100">Middle</button> <button type="button" class="btn btn-outline-secondary">Right</button> </div> </div>

btn-group-justified和btn-group只适用于静态内容,但不适用于动态创建的按钮,在CSS中固定的按钮是不实际的,因为它保持相同的宽度,即使所有的内容都很短。

我的解决方案: 将相同的类放入按钮组,然后循环到所有按钮,获得最长按钮的宽度,并将其应用于所有按钮

var bwidth=0
$("button.btnGroup").each(function(i,v){
    if($(v).width()>bwidth) bwidth=$(v).width();
});
$("button.btnGroup").width(bwidth);

这可能是一个愚蠢的解决方案,但我一直在寻找这个问题的解决方案,结果懒惰了。

总之,使用input class="btn…"... 用空格代替button和填充value=属性,这样它们的宽度都是一样的,效果很好。

例如:

<input type="submit" class="btn btn-primary" value="   Calculate   "/>    
<input type="reset" class="btn btn-primary"value="     Reset       "/>

我还没有使用bootstrap很长时间,也许有一个很好的理由不使用这种方法,但我认为我最好分享一下

对于您的按钮,您可以为这些特殊类型的按钮创建另一个CSS选择器,具有指定的min-width和max-width。如果你的按钮是

<button class="save_button">Save</button>

在你的引导CSS文件中,你可以创建这样的东西

.save_button {
    min-width: 80px;
    max-width: 80px;
}

这样,即使你有一个响应式设计,它也应该始终保持80px。

就扩展Bootstrap的正确方式而言,看看这个线程:

延长引导