Sass - Selettori segnaposto
Descrizione
SASS supporta il selettore di segnaposto utilizzando il selettore di classe o id . Nel normale CSS, questi sono specificati con "#" o ".", ma in SASS sono sostituiti con"%". Per lavorare con il selettore segnaposto, possono essere utilizzati con la direttiva @extend . Senza la direttiva @extend , non è possibile visualizzare il risultato in CSS.
Esempio
L'esempio seguente mostra l'uso dei selettori di segnaposto nel file SCSS:
<html>
<head>
<title>Placeholder Selectors</title>
<link rel = "stylesheet" type = "text/css" href = "style.css" />
<link rel = "stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</head>
<body>
<h1>First Heading</h1>
<p class = "frst_para">It is a CSS pre-processor which helps to reduce repetition with CSS and save the time. </p>
<h1>Second Heading</h1>
<p class = "sec_para">It was initially designed by Hampton Catlin and developed by Natalie Weizenbaum in 2006.</p>
</body>
</html>
Quindi, crea il file style.scss .
style.scss
.frst_para {
color: green;
}
.sec_para {
@extend .frst_para;
font-size:20px;
}
Qui abbiamo usato il file @extenddirettiva, che consente a un selettore di ereditare gli stili di un altro selettore. Puoi dire a SASS di guardare il file e aggiornare il CSS ogni volta che il file Sass cambia, utilizzando il seguente comando:
sass --watch C:\ruby\lib\sass\style.scss:style.css
Successivamente, esegui il comando precedente; creerà automaticamente il file style.css con il seguente codice -
style.css
.frst_para, .sec_para {
color: green;
}
.sec_para {
font-size: 20px;
}
Produzione
Eseguiamo i seguenti passaggi per vedere come funziona il codice sopra indicato:
Salva il codice html sopra indicato in placeholder_selectors.html file.
Apri questo file HTML in un browser, viene visualizzato un output come mostrato di seguito.