Les groupes de boutons, comme les composants de menu déroulant, doivent s'appuyer sur le plug-in button.js pour fonctionner correctement.
Aspect structurel : Utilisez un conteneur avec un nom de classe btn-group et placez plusieurs boutons dans ce conteneur .
Le groupe de boutons est également un composant indépendant, vous pouvez donc retrouver le fichier de code source correspondant :
Moins : boutons.less
Sass:_buttons.scss
Css:Bootstrap.css Ligne 3131 ~ Ligne 3291
<div class="btn-group"> <button type="button" class="btn btn-default"> <span class="glyphicon glyphicon-step-backward"></span> </button> … <button type="button" class="btn btn-default"> <span class="glyphicon glyphicon-step-forward"></span> </button> </div>
CSS :
.btn-group, .btn-group-vertical { position: relative; display: inline-block; vertical-align: middle; } .btn-group > .btn, .btn-group-vertical > .btn { position: relative; float: left; } .btn-group > .btn:hover, .btn-group-vertical > .btn:hover, .btn-group > .btn:focus, .btn-group-vertical > .btn:focus, .btn-group > .btn:active, .btn-group-vertical > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn.active { z-index: 2; } .btn-group > .btn:focus, .btn-group-vertical > .btn:focus { outline: none; } .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { margin-left: -1px; }
En plus de l'élément
Les quatre coins du groupe de boutons sont arrondis À l'exception du premier et du dernier bouton, qui ont des coins arrondis sur les côtés, les autres boutons n'ont pas de coins arrondis.
Explication détaillée :
1. Par défaut : tous les boutons ont des coins arrondis
2. À l'exception du premier bouton et du dernier bouton, les coins arrondis des autres boutons sont annulés
3. Seuls le coin supérieur droit et le coin inférieur droit du dernier bouton sont arrondis
Code source :
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; } .btn-group > .btn:first-child { margin-left: 0; } .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child> .btn:last-child, .btn-group > .btn-group:first-child> .dropdown-toggle { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn-group:last-child> .btn:first-child { border-top-left-radius: 0; border-bottom-left-radius: 0; }
Barre d'outils du groupe de boutons
Dans l'éditeur de texte enrichi, pour organiser des groupes de boutons ensemble, tels que copier, couper, coller un groupe, un groupe aligné à gauche, aligné au milieu, aligné à droite et aligné aux deux extrémités, vous devez utiliser bootstrap Frame barre d'outils des boutons btn-barre d'outils
<div class="btn-toolbar"> <div class="btn-group"> … </div> <div class="btn-group"> … </div> <div class="btn-group"> … </div> <div class="btn-group"> … </div> </div>
Principe : L'objectif principal est de faire flotter les multiples éléments du groupe .btn-group du conteneur et de maintenir une marge gauche de 5 px entre les groupes
.btn-toolbar { margin-left: -5px; } .btn-toolbar .btn-group, .btn-toolbar .input-group { float: left; } .btn-toolbar > .btn, .btn-toolbar > .btn-group, .btn-toolbar > .input-group { margin-left: 5px; }
Faites attention à la suppression des flottants sur la barre d'outils btn
.btn-toolbar:before, .btn-toolbar:after{ display: table; content: " "; } .btn-toolbar:after{ clear: both; }
Exemple :
<div class="btn-toolbar"> <div class="btn-group"> <button class="btn btn-default" type="button"> <span class="glyphicon glyphicon-align-left"></span> </button> <button class="btn btn-default" type="button"> <span class="glyphicon glyphicon-align-center"></span> </button> <button class="btn btn-default"> <span class="glyphicon glyphicon-align-right"></span> </button> <button class="btn btn-default" type="button"> <span class="glyphicon glyphicon-align-justify"></span> </button> </div> <div class="btn-group"> <button class="btn btn-default" type="button"> <span class="glyphicon glyphicon-font"></span> </button> <button class="btn btn-default" type="button"> <span class="glyphicon glyphicon-bold"></span> </button> </div> </div>
Regroupement imbriqué de boutons
Souvent, nous organisons des groupes de boutons communs dans des menus déroulants pour obtenir un effet similaire à un menu de navigation :
Lors de son utilisation, changez simplement le nom de classe du conteneur déroulant utilisé pour créer le menu déroulant en btn-group, et placez-le au même niveau que le bouton ordinaire :
<div class="btn-group"> <button class="btn btn-default" type="button">首页</button> <button class="btn btn-default" type="button">产品展示</button> <button class="btn btn-default" type="button">案例分析</button> <button class="btn btn-default" type="button">联系我们</button> <div class="btn-group"> <button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button"> 关于我们<span class="caret"></span> </button> <ul class="dropdown-menu"> <li><a href="#">公司简介</a></li> <li><a href="#">企业文化</a></li> <li><a href="#">组织结构</a></li> <li><a href="#">客服服务</a></li> </ul> </div> </div> .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child> .btn:last-child, .btn-group > .btn-group:first-child> .dropdown-toggle { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn-group:last-child> .btn:first-child { border-top-left-radius: 0; border-bottom-left-radius: 0; } .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } .btn-group > .btn + .dropdown-toggle { padding-right: 8px; padding-left: 8px; } .btn-group > .btn-lg + .dropdown-toggle { padding-right: 12px; padding-left: 12px; } .btn-group.open .dropdown-toggle { -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); } .btn-group.open .dropdown-toggle.btn-link { -webkit-box-shadow: none; box-shadow: none; }
Boutons regroupés verticalement
Remplacez simplement le nom de la classe de regroupement horizontal .btn-group par .btn-group-vertical.
<div class="btn-group-vertical"> <button class="btn btn-default" type="button">首页</button> <button class="btn btn-default" type="button">产品展示</button> <button class="btn btn-default" type="button">案例分析</button> <button class="btn btn-default" type="button">联系我们</button> <div class="btn-group"> <button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button"> 关于我们<span class="caret"></span> </button> <ul class="dropdown-menu"> <li><a href="#">公司简介</a></li> <li><a href="#">企业文化</a></li> <li><a href="#">组织结构</a></li> <li><a href="#">客服服务</a></li> </ul> </div> </div> .btn-group-vertical > .btn, .btn-group-vertical > .btn-group, .btn-group-vertical > .btn-group > .btn { display: block; float: none; width: 100%; max-width: 100%; } .btn-group-vertical > .btn-group > .btn { float: none; } .btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group, .btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group { margin-top: -1px; margin-left: 0; } .btn-group-vertical > .btn:not(:first-child):not(:last-child) { border-radius: 0; } .btn-group-vertical > .btn:first-child:not(:last-child) { border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn:last-child:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 4px; } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { border-top-left-radius: 0; border-top-right-radius: 0; }
Le bouton de division égale est également appelé bouton de regroupement adaptatif :
La largeur de l'ensemble du groupe de boutons correspond à 100 % du conteneur, et chaque bouton du groupe de boutons divise également la largeur de l'ensemble du conteneur. Par exemple, il y a cinq boutons dans un groupe de boutons et chaque bouton fait 20. % de la largeur du conteneur ; un bouton Il y a quatre boutons dans le groupe, chaque bouton fait 25% de la largeur du conteneur
Méthode d'implémentation : ajoutez simplement un nom de classe.btn-group-justified au bouton group.btn-group
<div class="btn-group btn-group-justified"> <buttton class="btn btn-default" type="button">首页</buttton> <buttton class="btn btn-default" type="button">案例分析</buttton> <buttton class="btn btn-default" type="button">联系我们</buttton> <buttton class="btn btn-default" type="button">关于我们</buttton> </div> .btn-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate; } .btn-group-justified > .btn, .btn-group-justified > .btn-group { display: table-cell; float: none; width: 1%; } .btn-group-justified > .btn-group .btn { width: 100%; }
Simulez .btn-group-justified dans un tableau (affichage : tableau) et simulez le modèle de bouton à l'intérieur dans une cellule de tableau (affichage : table-cell).
Remarque : Lorsque vous créez des groupes de boutons égaux, essayez d'utiliser la balise pour créer des boutons, car lorsque vous utilisez l'élément de balise bouton, l'utilisation de display: table n'est pas conviviale dans certains navigateurs <.>
Lecture recommandée par Script House :
Ce qui précède est le composant du bouton Bootstrap introduit par l'éditeur. J'espère qu'il sera utile à tout le monde !