Bootstrap est construit sur une grille réactive à 12 colonnes. Nous avons également inclus des mises en page à largeur fixe et fluide basées sur ce système.
Bootstrap utilise des éléments HTML et des propriétés CSS qui nécessitent l'utilisation du doctype HTML5. Assurez-vous de l'inclure au début de chaque page Bootstrap de votre projet.
- <!DOCTYPE html>
- <html lang = "fr" >
- ...
- </html>
Dans le fichier scaffolding.less , nous définissons les styles d'affichage, de typographie et de lien globaux de base. Plus précisément, nous :
background-color: white;
sur lebody
@baseFontFamily
, @baseFontSize
et @baseLineHeight
comme base typographique@linkColor
et appliquez le soulignement du lien uniquement sur:hover
Depuis Bootstrap 2, la réinitialisation CSS traditionnelle a évolué pour utiliser des éléments de Normalize.css , un projet de Nicolas Gallagher qui alimente également HTML5 Boilerplate .
La nouvelle réinitialisation peut toujours être trouvée dans reset.less , mais avec de nombreux éléments supprimés pour plus de brièveté et de précision.
Le système de grille par défaut fourni dans Bootstrap utilise 12 colonnes qui s'affichent à des largeurs de 724px, 940px (par défaut sans CSS réactif inclus) et 1170px. Sous les fenêtres de 767 pixels, les colonnes deviennent fluides et s'empilent verticalement.
- < classe div = "ligne" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
Comme illustré ici, une mise en page de base peut être créée avec deux "colonnes", chacune couvrant un certain nombre des 12 colonnes fondamentales que nous avons définies dans le cadre de notre système de grille.
- < classe div = "ligne" >
- <div class = "span4" > ... </div>
- <div class = "span4 offset4" > ... </div>
- </div>
Avec le système de grille statique (non fluide) de Bootstrap, l'imbrication est facile. Pour imbriquer votre contenu, ajoutez simplement 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. .span3
Par exemple, deux colonnes imbriquées doivent être placées dans un fichier .span6
.
- < classe div = "ligne" >
- < classe div = "span6" >
- Colonne de niveau 1
- < classe div = "ligne" >
- <div class = "span3" > Niveau 2 </div>
- <div class = "span3" > Niveau 2 </div>
- </div>
- </div>
- </div>
Le système de grille fluide utilise des pourcentages pour les largeurs de colonne au lieu de pixels fixes. Il a également les mêmes variations 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 simplement .row
en .row-fluid
. Les colonnes restent exactement les mêmes, ce qui permet de basculer très facilement entre les mises en page fixes et fluides.
- <div class = "row-fluide" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
L'imbrication avec des grilles fluides est un peu différente : le nombre de colonnes imbriquées n'a pas besoin de correspondre au parent. Au lieu de cela, vos colonnes sont réinitialisées à chaque niveau, car chaque ligne occupe 100 % de la colonne parente.
- <div class = "row-fluide" >
- < classe div = "span12" >
- Niveau 1 de la colonne
- <div class = "row-fluide" >
- <div class = "span6" > Niveau 2 </div>
- <div class = "span6" > Niveau 2 </div>
- </div>
- </div>
- </div>
Variable | Valeur par défaut | La description |
---|---|---|
@gridColumns |
12 | Le nombre de colonnes |
@gridColumnWidth |
60px | Largeur de chaque colonne |
@gridGutterWidth |
20px | Espace négatif entre les colonnes |
Bootstrap contient une poignée de variables permettant de personnaliser le système de grille 940px par défaut, documenté ci-dessus. Toutes les variables de la grille sont stockées dans variables.less.
Modifier la grille signifie changer les trois @grid*
variables et recompiler Bootstrap. Modifiez les variables de la grille dans variables.less et utilisez l'une des quatre méthodes documentées pour recompiler . Si vous ajoutez plus de colonnes, assurez-vous d'ajouter le CSS pour ceux de grid.less.
La personnalisation de la grille ne fonctionne qu'au niveau par défaut, la grille 940px. Pour conserver les aspects réactifs de Bootstrap, vous devrez également personnaliser les grilles dans responsive.less.
La mise en page centrée par défaut et simple de 940 pixels de large pour à peu près n'importe quel site Web ou page fourni par un seul fichier <div class="container">
.
- <corps>
- < classe div = "conteneur" >
- ...
- </div>
- </body>
<div class="container-fluid">
donne une structure de page flexible, des largeurs minimales et maximales et une barre latérale gauche. C'est génial 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>
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 |
---|---|---|---|
Smartphones | 480px et moins | Colonnes fluides, pas de largeurs fixes | |
Des smartphones aux tablettes | 767px et moins | Colonnes fluides, pas de largeurs fixes | |
Tablettes portraits | 768px et plus | 42px | 20px |
Défaut | 980px et plus | 60px | 20px |
Grand écran | 1200px et plus | 70px | 30px |
Pour vous assurer que les appareils affichent correctement les pages réactives, incluez la balise Meta de la fenêtre d'affichage.
- <meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
Bootstrap n'inclut pas automatiquement ces requêtes multimédias, mais les comprendre et les ajouter est très simple et nécessite une configuration minimale. Vous avez quelques options pour inclure les fonctionnalités réactives de Bootstrap :
Pourquoi ne pas simplement l'inclure ? À vrai dire, tout ne doit pas nécessairement être réactif. Au lieu d'encourager les développeurs à supprimer cette fonctionnalité, nous pensons qu'il est préférable de l'activer.
- /* Téléphones paysage et vers le bas */
- @media ( max - width : 480px ) { ... }
- /* Téléphone paysage vers tablette portrait */
- @media ( max - width : 767px ) { ... }
- /* Tablette portrait vers paysage et bureau */
- @media ( min - width : 768px ) et ( max - width : 979px ) { ... }
- /* Grand bureau */
- @media ( min - largeur : 1200px ) { ... }
Pour un développement plus rapide et adapté aux mobiles, utilisez ces classes utilitaires de base pour afficher et masquer le contenu par appareil.
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.
Par exemple, vous pouvez afficher un <select>
élément pour la navigation sur les mises en page mobiles, mais pas sur les tablettes ou les ordinateurs de bureau.
Voici un tableau des classes que nous prenons en charge 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 (s480px et moins | Comprimés767px et moins | Ordinateurs de bureau768px et plus |
---|---|---|---|
.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é |
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.