Pour transférer un site fait avec Bootstrap sur l’éditeur et utiliser SASS
- Télécharger Source files sur bootstrap ici
- Prendre dedans le dossier scss et le placer dans notre dossier WWW et le renommer: bootstrap-sass.
- Dans ce dossier renommer les fichiers, avec _ , ceux qui ne l’on pas(3 fichiers bootstrap…).
- Dans WWW créer un autre dossier scss et y placer le fichier styles.css d’origine et renommer celui-ci en .scss.
- Dans visualStudioCode , dans le fichier styles.scss placer au début: @import « ../bootstrap-sass/bootstrap »;.
- Dans le fichier index.html retirer le lien:
<link rel= »stylesheet » href= »https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css » integrity= »sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO »crossorigin= »anonymous »>
- Dans WWW créer un dossier .vscode
- Dedans créer un fichier settings.json
- L’ouvrir et aller dans Live Sass Compile Config
- Editer en cliquant sur le crayon “LiveSassCompile.setting.formats“
- Changer : null par :“/css” (cela indiquera le nouveau chemin).
- Ouvrir styles.scss et lancer watch Sass (dans la bande bleu)
- Pour travailler ouvrir le fichier html et lancer l’aperçu go live.
Nous pouvons, par la suite, incorporer les codes de bootstrap pour générer une mise en page.
![]()
![]()
![]()
Sans les class bootstrap dans le html nous pouvons placer la directive @extend dans le scss en visant les class du code html.
ex:
.section-page {
@extend .py-5;
}
.rangee {
@extend .row;
}
.call-to-click{
@extend .btn;
@extend .btn-primary;
@extend .btn-lg;
}
#section01, #section03 {
.entete-section {
@extend .col-12;
}
.contenu-section {
@extend .col-md-9;
@extend .offset-md-3;
}
}
Pour travailler:
Dans notre dossier bootstrap-sass ouvrir le fichier _variables.scss et nous pouvons dedans, cibler certaine variable à notre choix:
$primary: $blue !default;
$enable-shadows: false !default;
$enable-gradients: false !default;
$btn-border-radius: $border-radius !default;
$btn-border-radius-lg: $border-radius-lg !default;
$btn-border-radius-sm: $border-radius-sm !default;
Et dans notre fichier styles.scss les modifier(toujours au début):
$primary: rgb(80, 105, 179);
$enable-shadows: true;
$enable-gradients:true;
$btn-border-radius: .5rem;
$btn-border-radius-lg: .5rem;
$btn-border-radius-sm: .5rem;
Pour importer une police, placer la directive au tout début du fichier avant @import « ../bootstrap-sass/bootstrap »; les variables peuvent être avant ou après celle-ci: @import url(‘https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz:200,300,400,700’);
Possibilité d’inclure des icônes:
- Télécharger le dossier sur https://useiconic.com/open
- Prendre le dossier fonts qui se trouve dans le dossier font(parent) et le placer à la racine dans WWW
- Prendre les fichiers du dossier css qui se trouve dans le dossier font(parent) et le placer dans un dossier que nous nommons open-iconic-master et que nous plaçons également à la racine dans WWW(dans ce dossier nous pouvons garder que le fichier: open-iconic-bootstrap.scss).
- Inclure (dans le fichier styles.scss) la directive: @import « ../open-iconic-master/open-iconic-bootstrap.scss »; pour créer le chemin.
- Dans le fichier html placer le code du symbole récupérer sur le site ex:
<span class= »oi oi-ellipses »></span>
Autre site d’icônes: https://fontawesome.com/
- Télécharger le dossier For the web (version gratuite).
- Dedans, copier le dossier scss et le placer dans notre dossier racine WWW et le renommer (ex: fontawesome-sass).
- Dans notre dossier WWW placer également le dossier webfonts.
- Dans notre dossier scss, placer les directives (ciblant les fichiers se trouvant dans fontawesome-sass):
@import « ../fontawesome-sass/fontawesome.scss »;
@import « ../fontawesome-sass/regular.scss »;
@import « ../fontawesome-sass/solid.scss »;
@import « ../fontawesome-sass/brands.scss »;
- Choisir notre pictogramme sur le site, copier le code de celui-ci (ex: <i class= »fas fa-star »></i>). Ce code est fait pour le html, donc soit le glisser dans le code html, soit l’insérer dans le scss comme la ligne 56 du code css:
.icone-site{
@extend.fas, .fa-star;
@extend .px-3;
color: $white;
}
Pour aller plus loin (évaluation)
Une technique qui surcharge moins le code html:
![]()
Le scss
Nous devons commencer par ceci (ligne 73):
.lien-menu{
@extend.nav-link;
}
.article-menu{
@extend .nav-item;
}
.conteneur {
@extend .container;
}
.rangee {
@extend .row;
}
La barre de navigation.
Eviter les imbriqués dans la barre de navigation (l’exemple css si-dessous n’est pas excellent, de plus il y a beaucoup de chose superflu). Ici le minimum pour une bar de navigation.
.barre-navigation{
@extend .navbar-expand-lg, .bg-primary, .navbar-light, .navbar-dark, .sticky-top;
}
// pour faire disparaître toggle….
.texte-bouton{
@extend .sr-only;
}
.bloc-marque{
@extend .navbar-brand;
}
![]()
Nous pouvons également intégrer des mixin pour alléger le code:
celle ci peut remplacer une partie du code à partir de la ligne 99.
![]()
Pour le résulta:
Version mobil
![]()
Version tablette
![]()
Version écran
![]()