Si no te compila revisa la dirección del @import así debe estar
Introducción
Qué aprenderás sobre preprocesadores
Conceptos básicos de CSS
Selectores de CSS
Evolución de las Tecnologías de Front-End
Introducción a los Preprocesadores
Metodologías para estructurar código
Introducción a BEM
Guías para creación y mantenimiento de código
Instalación de herramientas de compilación
Preprocesadores para HTML
Introducción a Pug
Sintaxis
Interpolación
Variables
Condicionales y Loops
Mixins
Includes y Extends
Finalizando ejercicio de Landing Page
Less
Introducción a Less
Anidamiento e imports
Variables
Funciones
Mixins
Finalizando ejercicio de página de artículos
Sass
Introducción a Sass
Variables
Imports y Extends
Mixins
Funciones
Condicionales y Loops
Finalizando ejercicio de perfil de usuario
Stylus
Introducción a Stylus
Variables
Mixins
Funciones
Condicionales y Loops
Desarrollo del proyecto Platzi Games
Introducción al proyecto
Plantillas modulares con PUG: Header
Plantillas modulares con PUG: Footer
Grid System con Sass
Mixins para manejo de fuentes responsivas
Funciones para media queries
Finalizando el proyecto
Conclusiones y Cierre
Conclusiones y Cierre
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
Import nos permite escribir código modular separando en diferentes archivos para después importarlos todos en uno solo y tener una base código mucho más ordenada.
Extends sirve para insertar los estilos de un selector en otro.
Aportes 59
Preguntas 7
Si no te compila revisa la dirección del @import así debe estar
Tip: al momento de usar import no es necesario colocar la extensión del archivo, con solo escribir el nombre funciona:
@import "components/globales";
@import "components/perfiles";
@import "components/estadisticas";
@import "components/ubicaciones";
Con razón la gente prefiere Sass, si permite clonar el código completo de un selector y traerlo a otro.
Este curso necesita actualizacion ya.
Segun State of CSS 2020 este 2021 deberiamos aprender SCSS y PostCSS.
Siento que deberiamos empezar a recomendar el uso de las propiedades logicas y relativas, ademas de armar nuestras paginas tipo lego, con componentes y elementos, no desde una sola base de html.
No me gusta este curso.
Si nos les compila el código cuando utilizan @import, miren si tienen bien la dirección de ruta de los archivos. Si la carpeta componentes se encuentra fuera de la carpeta CSS donde esta el archivo ejercicio-sass.scss en la dirección de ruta deben colocar lo siguiente:
@import "../componentes/globales.scss";
Los … indican que el archivo se encuentra en otra carpeta y sale de la misma para buscarlo.
Otra variable que se podía haber creado es $text-transform: uppercase, ya que dentro del código se reutiliza con mucha frecuencia.
En el caso de que aún con el " _ " Prepros siga compilando el archivo lo que hay que hacer es añadir el " _ " a la lista de archivos excluidos. en Prepros 5 la ruta es App menu> Project defaults> Filters> Project Filters.
Solo hay que colocar un “,_” al final de la lista.
Me preguntaba por qué no me funcionaba el @impor
(usando “Live Sass Compiler” ) y es porque ahora se debe cambiar por @use
. Entre otras cosas, este video lo explica mejor
Se vuelven muy repetitivas las clases y en todos los videos demora aproximadamente 5 minutos en abordar los temas en cuestión.
Trabajar por modulos hace mas organizado el proyecto
.
@extend
funciona para que un elemento herede todas las propiedades y valores de una clase que le tenemos que especificar. Por ejemplo:
.class2{
@extend .class1;
}
.
En el caso del @import
, lo que hacemos es importar las propiedades de un archivo extension “scss”, aunque OJO, los archivos que van a ser importados deben tener un guion bajo al inicio. Esto le dice al preprocesador que ese archivo no tiene que ser compilado. Un ejemplo de un archivo a ser importado es: _footer.scss
@import se usa de la siguiente manera:
@import "./elementos/footer.scss"
Hay que tener en cuenta que no usamos una bandera de url()
antes de escribir la dirección del archivo a importar y que el archivo en el documento que se compila ya no tiene el guion bajo.
Desde marzo del 2019, Ruby Sass ha evolucionado a Dart Sass. Esta actualización trajo algunos cambios. Aunque @import sigue funcionando ya se considera anticuado y no se incentiva su uso. Ahora es preferible usar @use.
Por esto, la extensión de Live Sass Compiler de Ritwick Dey presenta errores que hace que tu VSCode se quiebre. En cambio, te sugiero usar la extensión “Live Sass Compiler de Glenn Marks” que es una versión que sí soporta Dart Sass y tiene mantenimiento aún en 2022.
.
Para entender el uso de @use y @forward este video mencionado por uno de los compañeros resulta muy útil.
.
Lo que tendrías que hacer en este ejercicio es…
@use 'globales' as * ;
Para los que le da crash el VSCode al momento de hacer el “@import” con la extensión de Liver SASS server solo tienen que entrar al archivo settings.json y agregar la siguiente linea
"color-highlight.languages": [ “*”, “!scss” ]
Con esto ya deberia ir bien todo
Hbai usado antes SASS, pero jamas habia visto el extends. Tanto codigo que me pude haber ahorrado.
Me convencieron! Me gusta mas trabajar separado mi código por módulos así lo tengo todo mas ordenado!
ya casi finalizamos sass 😄
Genial esta clase, ya estoy viendo lo útil que puede ser esto para mis proyectos
Es genial usar Extends simplifica un montón!!
¿Por qué se usa doble guión para separar .estadistica–perfil? ¿Acaso eso no es solo para los modificadorse?
Efectivamente la carpeta de los componentes debe ir en el mismo lugar donde esta el resto de carpetas de estilos, de lo contrario el preprocesador no va a compilar va a tirar un error
Por que cuando se importan los archivos scss, no se coloca el guion bajo, y aun así funciona?
Si el archivo les compila, para la ultima version de prepros es: AppMenu>Project Default>file watcher>Path Filters y en Add escriben “,_” pdt:Solo lo que esta dentro de las comillas
Que extraño includo añadiendo ,_ en Path Filters continua compilando el fichero de globales.scss 😕
¿Alguno a conseguido arreglarlo?
Extends es una funcionalidad de los preprocesadores de CSS que nos permite replicar un estilo existente en otro lugar que comparta las mismas o muy parecidas características.
**¿Cómo lo usamos? **
Primero observamos dónde podemos necesitar replicar un estilo, y luego vamos a escribir sobre el elemento o bloque que queramos aplicarlo.
Luego hacemos uso de:
@extends
y seguido agregamos de dónde queremos que copie y aplique ese estilo en particular.
@extends .perfil__titulo;
Listo.
Estaba teniendo problemas al momento de compilar con el Live Sass Compiler, me marcaba error y lo que me solucionó fue quitar la extensión del archivo. Quedo asi:
@import "componentes/globales";
@import "componentes/perfiles";
@import "componentes/estadisticas";
@import "componentes/ubicaciones";
este preprocesador si me gusta!!
También se pueden crear bloques opcionales de código
Bloques que solo serán compilados si se mandan a llamar con un @extend
Fuente
This tool for CSS it´s so amazing!
Extends
Es decirle a SASS que copie todos los estilos de otro lado al que ya le dimos estilos anteriormente
Imports
-Es modularizar partes de codigo css
-Le ponemos de nombre aun archivo tipo SCSS
Un nombre ejemplo _globales.css
OBLIGATORIO QUE LLEVE GUION BAJO ANTES DEL NOMBRE PARA QUE NO LO COMPILE SASS
-Le pegamos el codigo copiado al archivo que queremos hacer como IMPORT y lo guardamos
-En nuetro archivo “PADRE” o principal vamos a importar todos los otros que modularizamos de esta manera
@import “(nombre carpteta ubicacion/nombre archivo.scss)”
-EJEMPLO
@import “componentes/ubicaciones.scss”
WARNING
-Tenemos que importar los archivos en orden (cual tiene las variables, cual tiene los estilos del header etc etc) para que de esta manera no nos de problemas.
Hola se me presenta este error. ¿Tienen idea de como solucionarlo?
RESUMEN DE LA CLASE:
Como su nombre lo indica, funciona para “extender” las reglas css de un selector a otro. Esta funcionalidad viene a reemplazar el copiar y pegar bloques de reglas compartidos entre elementos de diseño. En el ejemplo abajo, @extend
manda a llamar las mismas reglas css aplicadas con anterioridad a la clase .perfil__nombre
y .perfil__titulo
.perfil__minibio {
margin: 0 auto;
padding-top: 20px;
h2 {
@extend .perfil__nombre;
}
h3 {
@extend .perfil__titulo;
}
}
Existe para facilitar la modularización de los distintos componentes de diseño codificados en CSS. Funciona creando en primer lugar, los módulos como archivos separados y guardados con un guión bajo _modulo.scss
mismo que se utiliza para indicar a prepros que NO compile ese archivo.
Posteriormente las reglas de CSS que comparten una misma categoría (perfiles, ubicaciones, cards, etc.) se depositan en el módulo apropiado. Ejemplo:
Finalmente, utilizamos @import seguido de la ubicación del módulo que queremos llamar en el archivo que SÍ será compilado de la siguiente forma:
@import "componentes/globales.scss";
@import "componentes/perfiles.scss";
@import "componentes/estadisticas.scss";
@import "componentes/ubicaciones.scss";
De tal manera que el archivo principal o a compilar se convierte en un contendedor de módulos invocados a través de la propiedad import de SaSS.
Saludos platzinautas.
En tiempos de coronavirus, aprender es lo mejor 😃
En la clase, el profesor usa el @extend en una clase ya existente en el código. No es considerado una mala práctica, ya que en el ejemplo es simple. pero desde la web de Sass te recomiendan hacer uso de placeholders para evitar problemas:
“Tu puedes extender desde selectores más básicos en vez de clases placeholder en Sass, pero usar placeholders es la forma más simple de asegurarte que no estés extendiendo una clase que está anidada en otro lugar, lo que puede resultar generar otros selectores de forma no intencional” Más info
Por mas que lo pongo un guión abajo el preprocesador me lo compila 😥
Excelente
que genial es sass!!
Es maravilloso porque, cuando tienes muchas líneas de código, llega a ser “frustrante”, cuando llegas a tener un “error”, y no lo encuentras.
Excelente clase!
cuando utilizamos _nombrearchjivo…scss le estamos diciendo al preprocesador que no compile
interesante
La verdad, que muy útil. Hasta ahora es el que mas me convence.
Se me hace que pug y scss tienen cosas muy similares , está genial. 😄
A mi me funcionó el import de estas dos maneras:
@import "../componentes/_globales.scss";
@import "../componentes/_perfiles.scss";
@import "../componentes/estadisticas";
@import "../componentes/ubicaciones";```
excelente me esta gustando mucho sass, tuve el mismo problema que muchos en la ruta porque puse la carpeta de los componentes fuera de css, pero logre resolver jejejej
Genial realmente sass es muy útil, por ahora se me hace el que mayor beneficio tiene
Asi debe ser la estructura:
Resumen de la clase _
Parecido a less 😕 interesante
Muy bueno el video, entonces la idea que tengo de los imports y extends es que uno se usa dentro del mismo archivo para reusar codigo y el import sirve para traer bloques de codigo de otros archivos.
Si los nombras a estos archivos con “_nombreDelArchivo”, te evitas que el compilador los compile creando archivos css inecesarios.
Muy buena la clase me quedo con @extend para usar en un mismo archivo y @import para traer bloques de codigo de otra fuente.
La propiedad padding es un atajo para evitar la asignación de cada lado por separado (padding-top, padding-right, padding-bottom, padding-left).
uff esta es buena
(_) guion bajo, para decirle a **Sass **que ese archivo no se va a compilar, porque se va a reutilizar.
(_) guion bajo, para decirle a Sass que ese archivo no se va a compilar, porque se va a reutilizar.
@import "../componentes/globales.scss";
@import "../componentes/perfiles.scss";
@import "../componentes/estadisticas.scss";
@import "../componentes/ubicaciones.scss";
Falto agregar esto en la clase del h3:
&__titulo {
opacity: 50%;
}
para que tenga ese efecto de transparencia.
Sin duda el tomar notas a mano me ha ayudado bastante para retener información, a mi no me basta con ver el video e ir escribiendo código al ritmo del maestro, puede ser un poco mas tedioso, pero al tomar apuntes de estar manera he notado que no olvido lo que acabo de ver, al día siguiente 😄
b
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.