L'une des meilleures choses à propos de Bootstrap CSS est qu'il est fourni avec des exemples de composants dans sa documentation.
Mais ces exemples ont des défauts. Défauts de conception.
Heureusement, ils peuvent facilement être corrigés avec un peu de savoir-faire en conception et des classes Bootstrap prêtes à l'emploi.
Les couleurs des pilules Bootstrap sont dures. Vous pouvez utiliser la variable CSS --bs-bg-opacity fournie avec Bootstrap. Cela adoucira la couleur de fond pour créer un meilleur contraste.
<span class="badge rounded-pill text-primary bg-primary" style="--bs-bg-opacity: .20;">Primary</span> <span class="badge rounded-pill text-secondary bg-secondary" style="--bs-bg-opacity: .20;">Secondary</span> <span class="badge rounded-pill text-success bg-success" style="--bs-bg-opacity: .20;">Success</span> <span class="badge rounded-pill text-danger bg-danger" style="--bs-bg-opacity: .20;">Danger</span>
Ils sont moches. Utilisez des listes HTML standard. Vous pouvez même ajouter des SVG au lieu des puces de liste standard pour attirer davantage l'attention.
<div class="card border-0 shadow p-2"> <div class="card-body"> <h3 class="fs-5">Some items we sell</h3> <ul class="" style="list-style: none; list-style-position: outside; padding-left: 0px;"> <li class="d-flex align-items-center mb-1"> <svg xmlns="http://www.w3.org/2000/svg" class="me-2 text-primary" height="16" width="16" viewBox="0 0 20 20" fill="currentColor"> <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd" /> </svg> An item </li> <li class="d-flex align-items-center mb-1"> <svg xmlns="http://www.w3.org/2000/svg" class="me-2 text-primary" height="16" width="16" viewBox="0 0 20 20" fill="currentColor"> <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd" /> </svg> A second item </li> <li class="d-flex align-items-center mb-1"> <svg xmlns="http://www.w3.org/2000/svg" class="me-2 text-primary" height="16" width="16" viewBox="0 0 20 20" fill="currentColor"> <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd" /> </svg> A third item </li> </ul> </div> </div>
Ajoutez des ombres avec la classe shadow aux listes déroulantes. Cela lui donne de la profondeur et l'apparence qu'il est plus proche de l'utilisateur. Ajoutez une petite marge avec mt-2 pour empêcher la liste de chevaucher le bouton.
<div class="bg-white p-4 shadow d-flex justify-content-center" style="height: 200px;"> <div class="dropdown"> <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton1" data-bs-toggle="dropdown" aria-expanded="false"> Dropdown </button> <ul class="dropdown-menu shadow mt-2" aria-labelledby="dropdownMenuButton1"> <li><a class="dropdown-item" href="#">Action</a></li> <li><a class="dropdown-item" href="#">Another action</a></li> <li><a class="dropdown-item" href="#">Something else here</a></li> </ul> </div> </div>
Les bordures de cartes semblent souvent maladroites. Les ombres soulignent les éléments et donnent de la profondeur à la page. Utilisez la classe shadow pour ajouter une ombre à votre classe et augmentez le rembourrage avec la classe p-2 pour lui donner un peu plus d'espacement interne.
<div class="card border-0 shadow p-2"> <div class="card-body"> <h5 class="card-title fs-5">Collaborate</h5> <p class="card-text"> Share your work with hundreds of like minded individuals around the world! </p> </div> </div>
Les tables ne doivent pas nécessairement être une représentation directe 1-1 de votre base de données. Si cela a du sens, combinez les colonnes et masquez les en-têtes. Cela le fait ressembler moins à une base de données qu'à un composant d'interface utilisateur.
<div class="border-0 shadow bg-white rounded"> <h3 class="fs-5 px-3 pt-3">Users</h3> <div class="px-2 pt-2"> <table class="table table-borderless fs-6"> <tbody> <tr> <td>Mark Otto</td> <td class="text-end text-muted">@mdo</td> </tr> <tr class="bg-light rounded-4"> <td>Jacob Thornton</td> <td class="text-end text-muted">@fat</td> </tr> <tr> <td>Larry the Bird</td> <td class="text-end text-muted">@twitter</td> </tr> </tbody> </table> </div> <div class="p-3 bg-light rounded d-flex justify-content-end"> <buttons class="btn btn-link text-secondary text-decoration-none">Cancel</buttons> <buttons class="btn btn-primary">View</buttons> </div> </div>
Si cela vous a plu, pensez à consulter mon nouveau projet - Better Bootstrap
Vous y trouverez un livre gratuit contenant 15 conseils de conception Bootstrap. Le livre complet sortira plus tard cette année.