C’est une refonte majeure du célèbre framework Bootstrap avec cette version 3. Ce n’est pas encore la version finale, mais cette rc nous révèle la nouvelle logique du framework.
A noter un fichier css est plus léger : 12,8 ko (minifié et gzippé).
Approche mobile first
Bootstrap a été complètement repensé avec l’approche mobile first : on part du mobile et on enrichit pour les écrans plus large. Tous les css sont compilés dans un seul fichier (plus de fichier responsive.css)
Support des navigateurs
Bootstrap 3 n’est plus compatible avec internet explorer 7 et firefox 3x.
Pour ie8, il faut ajouter respond.js pour le support des média queries, et de nombreuses propriétés css3 ne sont pas compatibles (ombre, arrondis…)
Glyphicons
La grille
La grille a été complètement repensée et améliorée :
- grille fluide et plus sémantique
 - layout plus dynamique avec des classes pour écran moyen (small screen) et des classes pour écran large (large screen)
.col-X pour les mobile
.col-sm-X pour les écrans inférieur à 768px
.col-lg-X pour les écrans supérieur à 768pxExemple :
<div class="row"> <div class="col-12 col-sm-8 col-lg-8">.col-12 .col-lg-8</div> <div class="col-6 col-sm-4 col-lg-4">.col-6 .col-lg-4</div> </div> <div class="row"> <div class="col-6 col-sm-4 col-lg-4">.col-6 .col-lg-4</div> <div class="col-6 col-sm-4 col-lg-4">.col-6 .col-lg-4</div> <div class="col-6 col-sm-4 col-lg-4">.col-6 .col-lg-4</div> </div> <div class="row"> <div class="col-6 col-sm-12 col-lg-6">.col-6 .col-sm-12 .col-lg-6</div> <div class="col-6 col-sm-12 col-lg-6">.col-6 .col-sm-12 .col-lg-6</div> </div>
Le code ci-dessous produira les layouts suivants
- Mobile :

 - Tablette :

 - Ecran large :

 
 - Mobile :
 - Push et pull pour changer l’ordre des colonnes, exemple :
 
<div class="row show-grid"> <div class="col-lg-9 col-push-3">9</div> <div class="col-lg-3 col-pull-9">3</div> </div>
 - Mixins less pour du code plus sémantique, ex :
.wrapper { .make-row(); } .content-main { .make-column(8); } .content-secondary { .make-column(3); .make-column-offset(1); }<div class="wrapper"> <div class="content-main">...</div> <div class="content-secondary">...</div> </div>
 
Formulaire
Tous les éléments avec la class .form-control ont une largeur de 100%. C’est un changement par rapport à la version 2 où par défaut les éléments du formulaire avaient une largeur fixe.
Pour les formulaires en mode horizontal (.form-horizontal), les groupes (label + input par exemple) doivent suivre la logique des grilles, ex :
<form class="form-horizontal">
  <div class="form-group">
    <label for="inputEmail" class="col-lg-2 control-label">Email</label>
    <div class="col-lg-10">
      <input type="text" class="form-control" id="inputEmail" placeholder="Email">
    </div>
  </div>
  <div class="form-group">
    <label for="inputPassword" class="col-lg-2 control-label">Password</label>
    <div class="col-lg-10">
      <input type="password" class="form-control" id="inputPassword" placeholder="Password">
      <div class="checkbox">
        <label>
          <input type="checkbox"> Remember me
        </label>
      </div>
      <button type="submit" class="btn btn-default">Sign in</button>
    </div>
  </div>
</form>
La largeur des select ou input peut être contrôlée :

Nouveaux composants : List group et panel
List group :
Panel :
titre du panel
Contenu du panel
