Les boutons

Transcription

Les boutons
Les boutons
Principe
Classe .btn – classe secondaire .btn-default :
Un bouton peut servir à :
Valider un formulaire
L
Lancer
un script
i t AJAX
Pointer vers un lien hypertexte
Exemples :
501 bouton html
501_bouton.html
<a class="btn btn-default" href="#">Balise a</a>
<button class="btn btn-default" type="submit">
Balise button
</button>
<input class="btn btn-default" type="button" value="Balise input,
type input">
<input class="btn btn-default" type="submit" value="Balise input,
type submit
submit">
>
86
Boutton inactif
Il est parfois nécessaire de désactiver un bouton.
B tt
Bootstrap
3 prend
d en charge
h
cette
tt possibilité
ibilité via
i lla classe
l
.disabled.
di bl d
Création d’un bouton désactivé en utilisant la classe .disabled :
<button class="btn btn-default disabled" type="submit">
Bouton désactivé
</button>
/
Il est également possible d’utiliser le HTML via l’attribut disabled="disabled".
<button class="btn btn-default" disabled="disabled" type="submit">
Bouton désactivé
</button>
87
Boutton - taille
Possibilité de créer des boutons de tailles différentes en couplant la classe .btn avec les
classes suivantes :
88
Classe
Aspect
.btn-lg
Bouton de grande taille (large)
.btn-sm
Petit bouton (small)
.btm-xs
Très petit bouton (extra small)
Boutton – taille - Exemple
502 boutonTaille html
502_boutonTaille.html
<button type="button" class="btn btn-default btn-lg">
Grand bouton
</button>
<button type="button" class="btn btn-default">
Bouton normal
</button>
<button type="button" class="btn btn-default btn-sm">
Petit bouton
</button>
<button type="button" class="btn btn-default btn-xs">
Très petit bouton
</button>
89
Les boutons groupés
Lorsque plusieurs boutons permettent d’agir sur le même élément, on les regroupe
Classe : .btn-group
On peut ainsi créer :
Un groupe de boutons vertical
Un groupe de boutons horizontal
Des boutons avec menus déroulants
90
Les boutons groupés - horizontaux
503 boutonsHorizontaux html
503_boutonsHorizontaux.html
Par défaut, un groupe de boutons est affiché sous forme horizontale
Très utile,
utile pour intégrer une pagination dans un résultat de recherche
recherche, par exemple
Exemple :
<div class="btn-group">
<button type="button"
<button type="button"
<button
b tt
t
type="button"
"b tt "
<button type="button"
</div>
91
class="btn
class="btn
class="btn
l
"bt
class="btn
btn-default">Page
btn-default">Page
bt d f lt" P
btn-default">Page
btn-default">Page
1</button>
2</button>
3
3</button>
/b tt
4</button>
Les boutons groupés - verticaux
504 boutonsVerticaux html
504_boutonsVerticaux.html
Classe .btn-group-vertical :
Exemple :
<div class="btn-group-vertical">
<button type="button" class="btn btn-default">
Bouton
outo vertical
e t ca 1
</button>
<button type="button" class="btn btn-default">
Bouton vertical 2
</button>
/b
<button type="button" class="btn btn-default">
Bouton vertical 3
</button>
/
</div>
92
Les boutons avec menus déroulants
Les boutons avec menus déroulants permettent d’associer plusieurs options à un seul
bouton.
Classes .dropdown-toggle et .btn-group
S i t lla di
Suivant
direction
ti d'
d'ouverture
t
d
du menu, on utilise
tili :
Vers le bas :
classe : .dropdown-toogle
dropdown toogle sur le bouton
avec l'attribut : data-toggle="dropdown"
Vers le haut :
classe : .dropup sur le parent du bouton
classe : .dropdown-toogle sur le bouton
avec ll'attribut
attribut : data
data-toggle="dropdown"
toggle dropdown
On utilise, pour les options, une liste dont la balise <ul> contient la classe .dropdownmenu et l'attribut role="menu"
93
Les boutons avec menus déroulants vers le bas - Exemple
505 boutonsMenusDown html
505_boutonsMenusDown.html
<div class="container">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle"
data toggle "dropdown">
data-toggle="dropdown">
Menu déroulant <span class="caret"></span>
Flèche du menu
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="#">Action 1</a></li>
<li><a href="#">Action 2</a></li>
<li><a href="#">Action 3</a></li>
<li class="divider"></li>
class "divider"></li>
Séparation
<li><a href="#">
<span class="glyphicon glyphicon-hand-right"></span>
Action séparée</a></li>
</ul>
</div>
</div>
94
Les boutons avec menus déroulants vers le haut - Exemple
506 boutonsMenusUp html
506_boutonsMenusUp.html
<div class="container">
<div class="btn-group dropup">
<button type="button" class="btn btn-default dropdown-toggle"
data toggle "dropdown">
data-toggle="dropdown">
Menu déroulant Up<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="#">
<span class="glyphicon glyphicon-home"></span>
Action 1</a></li>
<li><a href="#">
href "#">
<span class="glyphicon glyphicon-user"></span>
Action 2</a></li>
<li class="divider"></li>
<li><a href="#">
<span class="glyphicon glyphicon-off"></span>
Action séparée</a></li>
</ul>
</div>
</div>
95
Les boutons contextuels
Bootstrap permet d'associer à la classe .btn, des classes contextuelles pour des
boutons prédéfinis :
96
Classe
Aspect
.btn-default
bt d f lt
B t transparent.
Bouton
t
t Seuls
S l lle ttexte
t ett lle contour
t
d
du b
bouton
t sontt visibles.
i ibl
.btn-primary
Arrière-plan de couleur bleue. Texte blanc. Ce style génère un bouton
fortement mis en valeur sur un fond clair.
.btn-success
Bouton vert. Ce bouton est utilisé pour engager une action de validation.
.btn-info
Arrière-plan bleu clair. Ce bouton peut, par exemple, lancer un pop-up
d’information.
.btn-warning
Orange. Ce bouton indique une action qui demande l’attention de l’utilisateur.
.btn-danger
Rouge. Cliquer sur ce bouton peut provoquer une perte de données !
.btn-link
.btn
link
Ce bouton a l’aspect
l aspect d
d’un
un lien hypertexte. Mais son comportement est celui
d’un bouton.
Les boutons contextuels - Exemple
<div class="container">
<button type="button" class="btn
Classe default</button>
<button type="button"
type "button" class
class="btn
"btn
Classe primary</button>
<button type="button" class="btn
Classe success</button>
<button type="button" class="btn
Classe info</button>
<button type="button" class="btn
Classe warning</button>
<button type="button" class="btn
Classe danger</button>
<button type="button" class="btn
Classe link</button>
</div>
97
507 boutonsContextuels html
507_boutonsContextuels.html
btn-default">
btn primary">
btn-primary">
btn-success">
btn-info">
btn-warning">
btn-danger">
btn-link">
Les boutons personnalisés
On peut facilement créer des boutons personnalisés :
En modifiant
difi
lle code
d source d
de lla classe
l
.btn-default
b d f l – fichier
fi hi b
boostrp.css par
exemple (déconseillé)
EEn créant
é t un nouveau style
t l d
de b
bouton
t en prenantt modèle
dèl lla css d'un
d' b
bouton
t
existant (préférable)
98
Les boutons personnalisés - Exemple
Code css de .btn-default :
.btn-default
btn default {
color: #333333;
background-color: #ffffff;
border-color: #cccccc;
}
.btn-default:hover,
.btn-default:focus,
btn default:focus
.btn-default:active,
.btn-default.active,
.open .dropdown-toggle.btn-default
{
color: #333333;
background-color: #ebebeb;
border-color: #adadad;
}
99
Couleurs du texte de l'arrière
plan et de la bordure
Couleurs que prend le bouton
aux différents évènements et
ceux additionnels de menu
dé l
déroulan
Les boutons personnalisés - Exemple
508 boutonCustom html
508_boutonCustom.html
Création d'un bouton personnalisé (par copie de .btn-default)
Nouveau fichier : boostrap-custom.css
.btn-custom {
color:#ffffff;
background-color: #000000;
font-weight: bold;
text-shadow: 1px 1px 1px lightgray;
border: 1px solid lightgray;
}
.btn-custom:hover,
.btn-custom:focus,
.btn-custom:active,
.btn-custom.active,
.open .dropdown-toggle.btn-custom {
color: #000000;
background-image:none;
background-color: lightgray;
}
100
Caractéristiques du nouveau
bouton
Couleurs que prend le bouton
aux différents évènements et
ceux additionnels de menu
déroulant
Les boutons personnalisés - Exemple
<head>
...
508 boutonCustom html
508_boutonCustom.html
<link href="css/bootstrap.css" rel="stylesheet" />
<link href="css/bootstrap-custom.css" rel="stylesheet"/>
...
<div class=
class="container">
container >
<button class="btn btn-lg btn-custom">Grand bouton customisé</button>
<input type="button" class="btn btn-custom" value="Bouton input"/>
<div class="btn-group">
<button class=
class="btn
btn btn
btn-custom"
custom type=
type="submit">Bouton
submit >Bouton 1</button>
<button class="btn btn-custom" type="submit">Bouton 2</button>
<button class="btn btn-custom" type="submit">Bouton 3</button>
</div>
<div class=
class="btn-group
btn group dropdown
dropdown">
>
<button type="button" class="btn btn-custom dropdown-toggle"
data-toggle="dropdown">
Menu déroulant <span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="#">Action 1</a></li>
<li><a href="#">Action 2</a></li>
<li><a href=
href="#">Action
# >Action 3</a></li>
<li class="divider"></li>
<li><a href="#"><span class="glyphicon glyphicon-hand-right">
</span>
Action séparée</a></li>
</ul>
</div>
</div>
101
Les boutons personnalisés - Exemple
508 boutonCustom html
508_boutonCustom.html
102
Paramétrer les boutons – data-toggle
Possibilité de manipuler le comportement d'un bouton à l'ai de Javascript
Attribut data-toggle :
Il permet de créer un effet de commutation
Exemple :
<button type="button" id="bouton-exemple" data-toggle="button"
class="btn btn-default">Envoyer</button>
Bouton inactif
Bouton cliqué
103
Bouton cliqué une 2° fois, le bouton revient à son
état initial
Paramétrer les boutons – data-toggle
Commutation d'un bouton à la fois sur un groupe de boutons
Exemple :
On veut que lorsqu'un bouton est cliqué il prenne un aspect actif, les autres
ggardent leur aspect
p initial
On utilise une div :
Portant la classe .btn-group et l'attribut data-toggle="buttons"
et contenant :
Des balises <label> de classes btn btn-default (ou autre), dans lesquelles
on créé des balises <input> de type radio, permettant de gérer l'exclusion
mutuelle lors de la sélection
104
Paramétrer les boutons – data-toggle
510 boutonRadio html
510_boutonRadio.html
<div class="container">
<div class="btn-group" data-toggle="buttons">
<label class
class="btn
btn btn
btn-default">
default >
<input type="radio" name="options" id="option1">
Option 1 </label>
<label
l b l class="btn
l
b
b
btn-default">
d f l
<input type="radio" name="options" id="option2">
Option 2</label>
<label class="btn btn-default">
<input type="radio" name="options" id="option3">
Option 3</label>
</div>
/di
</div>
105