¿Cómo estilizar aplicaciones web usando View Components y Sass?
Aprender a estilizar una aplicación web puede ser un desafío, especialmente cuando se trata de replicar estilos en diferentes componentes. En lugar de usar CSS convencional, aprovechar las capacidades de Sass puede simplificar esta tarea. En esta guía, exploraremos cómo trabajar con Sass en aplicaciones desarrolladas con View Components, maximizando la reutilización del código y mejorando la eficiencia.
¿Cuál es el proceso para inicializar estilos globales sin el atributo scoped?
Empezaremos definiendo nuestros estilos globales sin el atributo scoped. Esto permite que los estilos se apliquen a toda la aplicación y no solo a un componente específico. Para ello:
Eliminar Estilos Predeterminados: Borra cualquier estilo predeterminado que venga por defecto.
Definición de Estilos Globales: En el archivo app.view, añade tus estilos globales directamente. Incluye elementos como background, color, font-family, y margin sin utilizar el atributo scoped.
¿Cómo comenzar a usar Sass en una aplicación?
Para comenzar a utilizar la sintaxis de Sass (SCSS):
Atributo Lang: Añade el atributo lang="scss" en tu etiqueta style. Esto indica que estás usando el lenguaje SCSS.
Instalación de Dependencias: CodeSandbox instalará automáticamente todas las dependencias necesarias al cambiar a SCSS. Si no funciona automáticamente, recarga el editor.
Uso de Variables: Define tus colores y otras propiedades en un archivo _variables.scss, lo cual evita repetir colores y nombre de fuentes a lo largo de tus componentes. Por ejemplo, para definir un color de fondo:
$bg:#030;$color:#522;
¿Cómo organizar variables y estilos personalizados eficazmente?
La organización es clave para el mantenimiento y reutilización de código. Sigue estos pasos para crear y utilizar variables de manera eficiente:
Crear un Archivo de Variables: Crea un archivo para almacenar variables Sass, por ejemplo, _variables.scss.
_variables.scss
$bg:#030;$color:#522;
Importar Variables: Importa este archivo en otros archivos SCSS donde lo necesites:
@import'ruta_a_styles/variables';
Uso de Variables en Estilos: Implementa las variables en tus estilos de componente para uniformidad y facilidad de actualización.
body {background-color:$bg;font-family: sans-serif;}
¿Cómo aplicar estilos adicionales usando Sass para componentes específicos?
Para estilos específicos en componentes, como formularios y botones, asegúrate de aplicar técnicas avanzadas con Sass:
Estilos en Archivos Individuales: En el archivo de cada componente, asegura subirse al nivel adecuado en el directorio si es necesario, utiliza la estructura:
@import'../styles/variables';// Ejemplo de uso de SCSS en un formulario:form {border:1px solid $color;background-color:$bg;padding:10px;}
Crear Interacciones con Usuarios: Utiliza selectores como :hover para efectos interactivos:
form:hover {transform:scale(1.2);}
Adaptaciones para Estados del Elemento: Define también estados como :disabled para botones:
¿Cómo se asegura de que Sass está funcionando correctamente?
Después de configurar tus estilos, asegúrate de que Sass esté compilando correctamente y reflejando los cambios en la aplicación:
Recarga de Editor: Si los cambios no se aplican, recarga tu sandbox para forzar la actualización.
Pruebas de Verificación: Realiza pruebas visuales para asegurar que los colores y transformaciones se aplican correctamente.
Debugging de Errores: Verifica errores comunes como rutas incorrectas o atributos mal escritos (lang en vez de langg).
Aprovechando estas técnicas y organizando eficientemente tus proyectos, puedes mejorar significativamente la calidad de tus aplicaciones web. Recuerda que la práctica constante te ayudará a dominar Sass en View Components, fomentando un desarrollo web ágil y profesional. ¡Sigue explorando y no te detengas en tu aprendizaje!
Según entiendo puedes usar Sass en cualquier framework, no es que sea algo específico de Vue. Por ejemplo, yo lo he usado con Bootstrap para crear templates de HTML puro, y el workflow es súper rápido. Pero me parece que también lo podrías usar con React o Svelte si quisieras, aunque recién estoy descubriendo estás tecnologías, que alguien me corrija si me equivoco :)
No te equivocas Natali, Sass lo puedes utilizar en cualquier proyecto. Incluso puedes desarrollar un tema para wordpress usando Sass y luego compilar tu código a CSS para que el navegador lo reconozca. O aplicarlo a un proyecto sin frameworks y que sólo trabajes con HTML, JS y utilices Sass para generar tus estilos aprovechando el potencial que te ofrece.
Ojo, el propio sass ya no recomienda usar import, recomienda es el suo de used y forward
Desde la W3C han atendido varias de las razones por las que surgieron scss y similares; implicando cambios que ya hacen parte de CSS Nivel 3, haciendo actualmente inecesario usar scss u otros preprocesadores, o por lo menos si para lo único que se quiere es para poder trabajar con variables, Por ejemplo:
Variables
/* Para declararlas con -- */:root{--mi-color:red;}/* Para usarlas, con var() */em{color:var(--mi-color);}
(En otras palabras, no es necesario instalar ningun preprocesador, ya hay soporte nativo en navegadores que soporten CSS3, a la fecha la mayoría, se puede trabajar simplemente con CSS)
Por si a alguien le interesa debajo dejo el código.
**App.vue**
//HTML<template><h3>Películas</h3><Form/></template>//JS - Vue<script> import Form from "./components/Form.vue";
export default {
name: "App",
components: {
Form: Form,
},
};
</script>//CSS - SCSS//En otro archivo llamado _variables.scss//Se guardan las siguientes varibles con sus respectivos valores.//$bg: #ccffcc//$color: #030<stylelang="scss"> @import "./styles/_variables.scss";
html,
body {
background: $bg;
color: $color;
margin: 0;
font-family: sans-serif;
}
h2 {
border-bottom: 1px solid $color;
padding-bottom: 10px;
}
</style>
No entiendo porque no se colocot todo los estilo en el archivo sass y ya. en de tener una parte separada en el js.
También se puede creando los módulos para cada parte del proyecto o los archivos fonts.scss y colors.scss, pero como un ejemplo tan pequeño lo ilustro de esta forma.
Yo hice un componente de un <div> con un <h3> y <p> anidados.
Decidí hacer un repo en github y desarrollarlo en mi entorno local:
Esta práctica no la pude hacer en sandbox ya que la versión de Vuejs presentada en clase ya no existe, y aunque hay una similar, no permite instar SASS con los comandos en la terminal
Publicación 5 de Abril de 2024.
Yo hice un fork de un proyecto base que encontré googleando codesanbox vue 3 sass
Viendo esta clase y recordando las cosas que sé que Vue.js me parece tan triste que la oferta laboral de Vue no sean tan grande como la de React... Vue tiene una construcción genial ^-^
Hola! El profe menciona que hay un curso de sass y no lo veo dentro de la ruta de Web! Me podrian indicar si es necesario hacerlo para continuar y cual es? Muchisimas gracias!