Bootstrap est construit sur des grilles, des mises en page et des composants réactifs à 12 colonnes.
Bootstrap utilise certains éléments HTML et propriétés CSS qui nécessitent l'utilisation du doctype HTML5. Incluez-le au début de tous vos projets.
- <!DOCTYPE html>
- <html lang = "fr" >
- ...
- </html>
Bootstrap définit les styles d'affichage, de typographie et de lien globaux de base. Plus précisément, nous :
margin
sur le corpsbackground-color: white;
sur lebody
@baseFontFamily
, @baseFontSize
et @baseLineHeight
comme base typographique@linkColor
et appliquez le soulignement du lien uniquement sur:hover
Ces styles peuvent être trouvés dans scaffolding.less .
Avec Bootstrap 2, l'ancien bloc de réinitialisation a été abandonné au profit de Normalize.css , un projet de Nicolas Gallagher et Jonathan Neal qui alimente également le HTML5 Boilerplate . Bien que nous utilisions une grande partie de Normalize dans notre reset.less , nous avons supprimé certains éléments spécifiquement pour Bootstrap.
Le système de grille Bootstrap par défaut utilise 12 colonnes , ce qui donne un conteneur de 940 pixels de large sans fonctionnalités réactives activées. Avec le fichier CSS réactif ajouté, la grille s'adapte à 724px et 1170px de large en fonction de votre fenêtre d'affichage. Sous les fenêtres de 767 pixels, les colonnes deviennent fluides et s'empilent verticalement.
Pour une mise en page simple à deux colonnes, créez un .row
et ajoutez le nombre approprié de .span*
colonnes. Comme il s'agit d'une grille à 12 colonnes, chacune .span*
s'étend sur un certain nombre de ces 12 colonnes et doit toujours ajouter jusqu'à 12 pour chaque ligne (ou le nombre de colonnes dans le parent).
- < classe div = "ligne" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
Dans cet exemple, nous avons .span4
et .span8
, soit 12 colonnes au total et une ligne complète.
Déplacez les colonnes vers la droite à l'aide des .offset*
classes. Chaque classe augmente la marge gauche d'une colonne d'une colonne entière. Par exemple, .offset4
se déplace .span4
sur quatre colonnes.
- < classe div = "ligne" >
- <div class = "span4" > ... </div>
- <div class = "span3 offset2" > ... </div>
- </div>
Pour imbriquer votre contenu avec la grille par défaut, ajoutez un nouveau .row
et un ensemble de colonnes dans une colonne .span*
existante . .span*
Les lignes imbriquées doivent inclure un ensemble de colonnes qui totalisent le nombre de colonnes de son parent.
- < classe div = "ligne" >
- < classe div = "span9" >
- Colonne de niveau 1
- < classe div = "ligne" >
- <div class = "span6" > Niveau 2 </div>
- <div class = "span3" > Niveau 2 </div>
- </div>
- </div>
- </div>
Le système de grille fluide utilise des pourcentages au lieu de pixels pour les largeurs de colonne. Il a les mêmes capacités réactives que notre système de grille fixe, garantissant des proportions appropriées pour les résolutions d'écran et les appareils clés.
Rendez n'importe quelle ligne "fluide" en changeant .row
en .row-fluid
. Les classes de colonnes restent exactement les mêmes, ce qui facilite le basculement entre les grilles fixes et fluides.
- <div class = "row-fluide" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
Fonctionne de la même manière que le décalage du système de grille fixe : ajoutez .offset*
à n'importe quelle colonne pour décaler d'autant de colonnes.
- <div class = "row-fluide" >
- <div class = "span4" > ... </div>
- <div class = "span4 offset2" > ... </div>
- </div>
Les grilles fluides utilisent l'imbrication différemment : chaque niveau imbriqué de colonnes doit ajouter jusqu'à 12 colonnes. En effet, la grille fluide utilise des pourcentages, et non des pixels, pour définir les largeurs.
- <div class = "row-fluide" >
- < classe div = "span12" >
- Fluide 12
- <div class = "row-fluide" >
- < classe div = "span6" >
- Fluide 6
- <div class = "row-fluide" >
- <div class = "span6" > Fluide 6 </div>
- <div class = "span6" > Fluide 6 </div>
- </div>
- </div>
- <div class = "span6" > Fluide 6 </div>
- </div>
- </div>
- </div>
Fournit une mise en page commune à largeur fixe (et éventuellement réactive) avec uniquement <div class="container">
requis.
- <corps>
- < classe div = "conteneur" >
- ...
- </div>
- </body>
Créez une page fluide à deux colonnes avec <div class="container-fluid">
- idéal pour les applications et les documents.
- <div class = "conteneur-fluide" >
- <div class = "row-fluide" >
- < classe div = "span2" >
- <!--Contenu de la barre latérale-->
- </div>
- < classe div = "span10" >
- <!--Contenu du corps-->
- </div>
- </div>
- </div>
Activez le CSS réactif dans votre projet en incluant la balise méta appropriée et la feuille de style supplémentaire dans le <head>
de votre document. Si vous avez compilé Bootstrap à partir de la page Personnaliser, vous n'avez qu'à inclure la balise meta.
- <meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
- <link href = "assets/css/bootstrap-responsive.css" rel = "feuille de style" >
La tête haute!Bootstrap n'inclut pas de fonctionnalités réactives par défaut pour le moment car tout n'a pas besoin d'être réactif. Au lieu d'encourager les développeurs à supprimer cette fonctionnalité, nous pensons qu'il est préférable de l'activer au besoin.
Les requêtes multimédias permettent des CSS personnalisés basés sur un certain nombre de conditions (ratios, largeurs, type d'affichage, etc.), mais se concentrent généralement autour de min-width
et max-width
.
Utilisez les requêtes médias de manière responsable et uniquement comme point de départ pour vos audiences mobiles. Pour les projets plus importants, envisagez des bases de code dédiées et non des couches de requêtes multimédias.
Bootstrap prend en charge une poignée de requêtes multimédias dans un seul fichier pour vous aider à rendre vos projets plus appropriés sur différents appareils et résolutions d'écran. Voici ce qui est inclus :
Étiquette | Largeur de mise en page | Largeur de colonne | Largeur de gouttière |
---|---|---|---|
Grand écran | 1200px et plus | 70px | 30px |
Défaut | 980px et plus | 60px | 20px |
Tablettes portraits | 768px et plus | 42px | 20px |
Des téléphones aux tablettes | 767px et moins | Colonnes fluides, pas de largeurs fixes | |
Téléphone (s | 480px et moins | Colonnes fluides, pas de largeurs fixes |
- /* Grand bureau */
- @media ( min - largeur : 1200px ) { ... }
- /* Tablette portrait vers paysage et bureau */
- @media ( min - width : 768px ) et ( max - width : 979px ) { ... }
- /* Téléphone paysage vers tablette portrait */
- @media ( max - width : 767px ) { ... }
- /* Téléphones paysage et vers le bas */
- @media ( max - width : 480px ) { ... }
Pour un développement plus rapide et adapté aux mobiles, utilisez ces classes utilitaires pour afficher et masquer le contenu par appareil. Vous trouverez ci-dessous un tableau des classes disponibles et de leur effet sur une disposition de requête multimédia donnée (étiquetée par appareil). Ils peuvent être trouvés dans responsive.less
.
Classer | Téléphone (s767px et moins | Comprimés979px à 768px | Ordinateurs de bureauDéfaut |
---|---|---|---|
.visible-phone |
Visible | Caché | Caché |
.visible-tablet |
Caché | Visible | Caché |
.visible-desktop |
Caché | Caché | Visible |
.hidden-phone |
Caché | Visible | Visible |
.hidden-tablet |
Visible | Caché | Visible |
.hidden-desktop |
Visible | Visible | Caché |
Utilisez-les de manière limitée et évitez de créer des versions entièrement différentes du même site. Utilisez-les plutôt pour compléter la présentation de chaque appareil. Les utilitaires réactifs ne doivent pas être utilisés avec des tables et ne sont donc pas pris en charge.
Redimensionnez votre navigateur ou chargez-le sur différents appareils pour tester les classes ci-dessus.
Les coches vertes indiquent que la classe est visible dans votre fenêtre actuelle.
Ici, les coches vertes indiquent que la classe est masquée dans votre fenêtre actuelle.