Αρχές λειτουργίας της κληρονομικότητας στο SASS

Η ουσία της λειτουργίας της οδηγίας @extend συνίσταται στο ότι προσθέτει έναν επεκτεινόμενο επιλογή σε οποιοδήποτε σύνολο στυλ, όπου συναντάται ο επεκτάσιμος επιλογής (στο παράδειγμά μας .warning):

Ας εξετάσουμε ένα παράδειγμα:

style.scss.warning {
  border: 1px solid;
  background-color: #ffd900;
}
.warning .instruction {
  background-image: url("/image/warning.png");
}
.personalWarning {
  @extend .warning;
  border-width: 3px;
}

Τώρα ας δούμε το αποτέλεσμα της μεταγλώττισης:

style.css.warning, .personalWarning {
  border: 1px solid;
  background-color: #ffd900;
}

.warning .instruction, .personalWarning .instruction {
  background-image: url("/image/warning.png");
}
    
.personalWarning {
  border-width: 3px;
}
Задание 1

Εξηγήστε ποιο θα είναι το αποτέλεσμα της μεταγλώττισης του ακόλουθου κώδικα:

styles.scss#product-card p{
  color: #460707;
  padding: 10px;
}

#product-card-title {
  @extend #product-card;
  font-weight: 600px;
}
Задание 2

Εξηγήστε ποιο θα είναι το αποτέλεσμα της μεταγλώττισης του ακόλουθου κώδικα:

styles.scss.link .main-block{
  font-size: 14px;
  text-decoration: dashed;
}

.active-link {
  @extend .link;
  color: red;
}
Задание 3

Εξηγήστε ποιο θα είναι το αποτέλεσμα της μεταγλώττισης του ακόλουθου κώδικα:

styles.scss.link .main-block{
  font-weight: bold;
  text-decoration: none;
}

.active {
  color: red;
}

.active-link {
  @extend .link;
  @extend .active;
}