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>
Operates the same way as the fixed grid system offsetting: add .offset*
to any column to offset by that many columns.
- <div class="row-fluid">
- <div class="span4">...</div>
- <div class="span4 offset2">...</div>
- </div>
Fluid grids utilize nesting differently: each nested level of columns should add up to 12 columns. This is because the fluid grid uses percentages, not pixels, for setting widths.
- <div class="row-fluid">
- <div class="span12">
- Fluid 12
- <div class="row-fluid">
- <div class="span6">
- Fluid 6
- <div class="row-fluid">
- <div class="span6">Fluid 6</div>
- <div class="span6">Fluid 6</div>
- </div>
- </div>
- <div class="span6">Fluid 6</div>
- </div>
- </div>
- </div>
Provides a common fixed-width (and optionally responsive) layout with only <div class="container">
required.
- <body>
- <div class="container">
- ...
- </div>
- </body>
Create a fluid, two-column page with <div class="container-fluid">
—great for applications and docs.
- <div class="container-fluid">
- <div class="row-fluid">
- <div class="span2">
- <!--Sidebar content-->
- </div>
- <div class="span10">
- <!--Body content-->
- </div>
- </div>
- </div>
Turn on responsive CSS in your project by including the proper meta tag and additional stylesheet within the <head>
of your document. If you've compiled Bootstrap from the Customize page, you need only include the meta tag.
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <link href="assets/css/bootstrap-responsive.css" rel="stylesheet">
Heads up! Bootstrap doesn't include responsive features by default at this time as not everything needs to be responsive. Instead of encouraging developers to remove this feature, we figure it best to enable it as needed.
Media queries allow for custom CSS based on a number of conditions—ratios, widths, display type, etc—but usually focuses around min-width
and max-width
.
Use media queries responsibly and only as a start to your mobile audiences. For larger projects, do consider dedicated code bases and not layers of media queries.
Bootstrap supports a handful of media queries in a single file to help make your projects more appropriate on different devices and screen resolutions. Here's what's included:
Label | Layout width | Column width | Gutter width |
---|---|---|---|
Large display | 1200px and up | 70px | 30px |
Default | 980px and up | 60px | 20px |
Portrait tablets | 768px and above | 42px | 20px |
Phones to tablets | 767px and below | Fluid columns, no fixed widths | |
Phones | 480px and below | Fluid columns, no fixed widths |
- /* Large desktop */
- @media (min-width: 1200px) { ... }
- /* Portrait tablet to landscape and desktop */
- @media (min-width: 768px) and (max-width: 979px) { ... }
- /* Landscape phone to portrait tablet */
- @media (max-width: 767px) { ... }
- /* Landscape phones and down */
- @media (max-width: 480px) { ... }
For faster mobile-friendly development, use these utility classes for showing and hiding content by device. Below is a table of the available classes and their effect on a given media query layout (labeled by device). They can be found in responsive.less
.
Class | Phones 767px and below | Tablets 979px to 768px | Desktops Default |
---|---|---|---|
.visible-phone |
Visible | Hidden | Hidden |
.visible-tablet |
Hidden | Visible | Hidden |
.visible-desktop |
Hidden | Hidden | Visible |
.hidden-phone |
Hidden | Visible | Visible |
.hidden-tablet |
Visible | Hidden | Visible |
.hidden-desktop |
Visible | Visible | Hidden |
Use on a limited basis and avoid creating entirely different versions of the same site. Instead, use them to complement each device's presentation. Responsive utilities should not be used with tables, and as such are not supported.
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.