Manipulations de base en SCSS CSS30

Cet exercice consiste à effectuer une série de manipulations en utilisant le langage SCSS.

Préparation des fichiers

Créez un dossier racine contenant une page .html et un fichier .scss.

Faites en sorte que le fichier .scss soit compilé automatiquement en .css lorsque vous l’enregistrez.

Imbrication

Intégrez dans <body> le code HTML ci-dessous :

<div class="imbrication">
  <h1>Titre dans imbrication</h1>
  <p>Paragraphe dans imbrication, paragraphe dans imbrication, paragraphe dans imbrication, paragraphe dans imbrication, paragraphe dans imbrication, paragraphe dans imbrication, paragraphe dans imbrication, paragraphe dans imbrication, paragraphe dans imbrication, paragraphe dans imbrication, paragraphe dans imbrication.</p>
  <ul>
    <li>Liste dans imbrication ;</li>
    <li>Liste dans imbrication ;</li>
    <li>Liste dans imbrication.</li>
  </ul>
</div>

Saisissez dans votre fichier scss le code CSS ci-dessous :

.imbrication {
  margin: auto;
  width: 600px;
}
.imbrication h1 {
  color: #ff22ab;
}
.imbrication p {
  font-weight: bold;
}
.imbrication ul {
  margin-left: 50px;
}
.imbrication li {
  list-style-type: circle;
}

Réécrivez le code CSS au format SCSS en prenant soin de bien imbriquer les différents sélecteurs.

Solution SCSS :
.imbrication {
  margin: auto;
  width: 600px;

  h1 {
    color: #ff22ab;
  }
  p {
    font-weight: bold;
  }
  ul {
    margin-left: 50px;
  }
  li {
    list-style-type: circle;
  }
}

Concaténation

Intégrez le code HTML ci-dessous :

<div class="concatenation">
    <a href="#">Exemple de lien 1</a>
    <a href="#">Exemple de lien 2</a>
</div>

Effectuez la mise en forme des liens en utilisant le langage SCSS afin d’obtenir un résultat sensiblement identique à l’illustration suivante :

Aperçu des liens
Solution SCSS :
.concatenation {
  text-align: center;

  a {
    display: inline-block;
    border: 1px solid #056c9c;
    padding: 0.3rem 1rem;
    background-color: #9bc9de;
    border-radius: 3px;
    text-decoration: none;
    color: #056c9c;
  }
}

Gérez le code SCSS des deux états survolé et actif des liens afin de correspondre au modèle ci-dessous.

Aperçu des différents états des liens
Solution SCSS :
.concatenation {
  text-align: center;

  a {
    display: inline-block;
    border: 1px solid #056c9c;
    padding: 0.3rem 1rem;
    background-color: #9bc9de;
    border-radius: 3px;
    text-decoration: none;
    color: #056c9c;
  
    &:hover {
      background-color: #ebc063;
      border-color: #bd8204;
      color: #bd8204;
    }
    
    &:active {
      background-color: #b5f5b5;
      border-color: #007500;
      color: #007500;
    }
  }
}

Variables et partiels

Modifiez le code SCSS des liens de la question précédente pour mettre toutes les couleurs en variables.

Solution SCSS :
$link-main-color: #056c9c;
$link-main-bck: #9bc9de;
$link-hover-color: #bd8204;
$link-hover-bck: #ebc063;
$link-active-color: #007500;
$link-active-bck: #b5f5b5;
  
.concatenation {
  text-align: center;

  a {
    display: inline-block;
    border: 1px solid $link-main-color;
    padding: 0.3rem 1rem;
    background-color: $link-main-bck;
    border-radius: 3px;
    text-decoration: none;
    color: $link-main-color;
  
    &:hover {
      background-color: $link-hover-bck ;
      border-color: $link-hover-color;
      color: $link-hover-color;
    }
    
    &:active {
      background-color: $link-active-bck ;
      border-color: $link-active-color;
      color: $link-active-color;
    }
  }
}

Placez les variables des couleurs dans un fichier partiel et importez-le dans votre fichier SCSS principal.

Solution SCSS :
@import 'partials/colors';

Sauf mention contraire*, l'article Manipulations de base en SCSS [CSS30] et son contenu par Julien Crego sont mis à disposition selon les termes de la licence Creative Commons

Licence Creative Commons

Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International

Cette licence vous permet de remixer, arranger, et adapter cette œuvre à des fins non commerciales tant que vous créditez la source en citant le nom des auteurs et que les nouvelles œuvres sont diffusées selon les mêmes conditions.

* Cette notice est intégrée automatiquement à la fin de chaque article de ce site.

S’abonner
Notification pour
guest

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

0 Commentaires
Commentaires en ligne
Afficher tous les commentaires