web-dev-qa-db-ja.com

bootstrapでボタンのサイズを変更する

私はブートストラップを使用していますが、CSSは応答するため、小型のデバイスではうまくスケールダウンします。ただし、ビューポートが小さい場合(モバイルなど)、ボタンも縮小したいと思います。

<button name="button" type="submit" id="edit_button-46" class="btn btn-default" value="edit" >Edit</button>

基本的に小さなデバイスでは、クラスbtn-xsをすべてのボタンに追加する必要があります。

私はおそらくJqueryを介してこれを達成することができますが、bootstrapはすでにこの機能を持っているのだろうか?

19
Patrick

CSSの@mediaクエリを使用して、それに応じてボタンをスケーリングできます。

@media (max-width: 768px) {
  .btn-responsive {
    padding:2px 4px;
    font-size:80%;
    line-height: 1;
  }
}

@media (min-width: 769px) and (max-width: 992px) {
  .btn-responsive {
    padding:4px 9px;
    font-size:90%;
    line-height: 1.2;
  }
}

デモ: http://bootply.com/93706

Bootstrap= 4:の更新
ブートストラップ4レスポンシブボタンサイズ

33
Zim

ZimSystemの回答を展開しています。

@media (max-width: 768px) {
  .btn {
    font-size:11px;
    padding:4px 6px;
  }
}

@media (min-width: 768px) {
  .btn {
    font-size:12px;
    padding:6px 12px;
  }
}

@media (min-width: 992px) {
  .btn {
    font-size:14px;
    padding:8px 12px;
  }
}

@media (min-width: 1200px) {
  .btn {
    padding:10px 16px;
    font-size:18px;
  }
}
2
user2912589

別の選択肢を追加したかっただけです。 BootstrapのLESSを使用している場合は、ミックスインも使用できます。

BootstrapのLESSフォルダー内を見ると(_bootstrap > less > mixins_)が表示されます_buttons.less_ファイル。これを開くと、.button-size() mixinが見つかります。


これがmixinです:

_.button-size(
    vertical padding;
    horizontal padding;
    font size;
    line height;
    border-radius
);
_

ボタンを動的に作成する方法は次のとおりです

特定のパラメーターを渡す必要があります。足りない場合はブレーキがかかります

_.button-size(10px; 10px; 1em; 1.5em; 0);
_

以下に、既存のBootstrap LESS変数を使用した例を示します。

_    .btn {
        @media (min-width: @screen-sm-min) {
            .button-size(
                @padding-small-vertical;
                @padding-small-horizontal;
                @font-size-small;
                @line-height-base;
                @border-radius-small
            );
        }
        @media (min-width: @screen-md-min) {
            .button-size(
                @padding-large-vertical;
                @padding-large-horizontal;
                @font-size-large;
                @line-height-base;
                @border-radius-large
            );
        }
    }
_
2
Gene Parcellano