Sass: ampliar las directivas
Descripción
La directiva @extend se usa para compartir reglas y relaciones entre selectores. Puede extender todos los demás estilos de clase en una clase y también puede aplicar sus propios estilos específicos. Los siguientes son los tipos de extensión:
Tipos y descripción | Sintaxis | Código compilado |
---|---|---|
Extending Complex Selectors Puede extender el selector que consta de un solo elemento o selector de clase. |
|
|
Multiple Extends Se puede ampliar más de un selector con un solo selector. |
|
|
Chaining Extends El primer selector extendido por el segundo selector y el segundo selector se extiende por el tercer selector, por lo que esto se conoce como extensión de encadenamiento. |
|
|
Selector Sequences El selector anidado puede usar @extend por sí mismo. Merging Selector Sequences Fusiona dos secuencias, es decir, una secuencia extiende otra secuencia que está presente en otra secuencia. |
|
|
@extend - Only Selectors Su carácter de porcentaje (%) se puede usar en cualquier lugar de una identificación o clase, evita que su propio conjunto de reglas se represente en CSS. |
|
|
The !optional Flag El indicador! Opcional se usa para permitir que @extend no cree ningún selector nuevo. |
|
|
@extend in Directives Si @extend se usa dentro de @media, entonces puede extender los selectores solo que están presentes dentro de los mismos bloques de directiva. |
|
|
Ejemplo
El siguiente ejemplo demuestra el uso de @extend en el archivo SCSS:
extend.htm
<!doctype html>
<head>
<title>Extend Example</title>
<link rel = "stylesheet" href = "extend.css" type = "text/css" />
</head>
<body class = "container">
<h2>Example using Extend</h2>
<p class = "style">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>
</body>
</html>
A continuación, cree el archivo extend.scss .
extend.scss
.style{
font-size: 30px;
font-style: italic;
}
h2{
color: #787878;
@extend .style
}
.container{
@extend h2
}
Puede decirle a SASS que observe el archivo y actualice el CSS cada vez que cambie el archivo SASS, utilizando el siguiente comando:
sass --watch C:\ruby\lib\sass\extend.scss:extend.css
A continuación, ejecute el comando anterior; creará el archivo extend.css automáticamente con el siguiente código:
extend.css
.style, h2, .container {
font-size: 30px;
font-style: italic;
}
h2, .container {
color: #787878;
}
Salida
Realicemos los siguientes pasos para ver cómo funciona el código dado anteriormente:
Guarde el código html dado anteriormente en extend.html archivo.
Abra este archivo HTML en un navegador, se muestra una salida como se muestra a continuación.