SASS

RMAG news

Por qué usar SASS ?

SASS propone además de sus funciones avanzadas una manera de organizar nuestro proyecto a través archivos parciales los cuales se compilan para dar lugar a un único archivo .css que de otra manera sería muy difícil obtener.

Estructura de carpetas

La siguiente estructura es una guía de buenas prácticas para estructurar el contenido de los archivos .scss

Se recomienda hacer una copia de nuestros estilos css ya escritos para eliminar cualquier riesgo, y en caso de necesitarlos nuevamente poder acudir a ellos.

📂 scss/
│ ├── 📂 base/
│ │ ├── _reset.scss # Reset de los estilos
│ │ ├── _typography.scss # Estilos de tipografía
│ │ └── _base.scss # Estilos base (elementos HTML, etc.)
│ │
│ ├── 📂 layout/
│ │ ├── _header.scss # Estilos del encabezado
│ │ ├── _footer.scss # Estilos del pie de página
│ │ ├── _sidebar.scss # Estilos de la barra lateral
│ │ └── _navigation.scss # Estilos de la navegación
│ │
│ ├── 📂 utilities/
│ │ ├── _variables.scss # Variables (colores, tipografía, etc.)
│ │ ├── _functions.scss # Funciones
│ │ ├── _mixins.scss # Mixins
│ │ └── _helpers.scss # Clases helper
│ │
│ └── main.scss # Archivo principal SCSS

📂 css/
│ └── main.css # Archivo CSS compilado
|

📂 pages/
│ ├── about.html # Página ‘Acerca de’
│ ├── contact.html # Página de contacto
│ └── any_other_page.html # Cualquier otra página

📂 assets/
│ ├── 📂 images/ # Imágenes

index.html # Página principal (index)

Explicación de las diferentes carpetas.

📂 scss/: Carpeta para todos los archivos SCSS, organizados en subcarpetas.

📂 base/: Contiene los estilos básicos, incluyendo normalización, tipografía y estilos base.

📂 layout/: Incluye los estilos para las secciones estructurales principales como el encabezado, el pie de página, entre otros.

📂 pages/: Contiene estilos que son específicos para cada página, permitiendo personalización donde se necesite.

📂 utilities/: Alberga ayudas como variables, funciones y mixins que facilitan la escritura de CSS.

📄main.scss: Importa todos los archivos parciales y es el punto de entrada para la compilación.

📂 css/: Contiene el archivo CSS compilado desde SCSS.

📂 pages/: Contiene archivos HTML para páginas específicas del sitio, permitiendo una mejor organización y separación del contenido.

📂 assets/: Carpeta para almacenar recursos estáticos como imágenes y fuentes tipográficas.

📄 index.html: El archivo HTML principal del sitio, normalmente la página de entrada o página de inicio.

Archivo main.scss

Este archivo es el punto de entrada para la compilación,
dentro de este archivo tendrás el siguiente contenido:

// Importar las variables, funciones y mixins primero, porque pueden ser necesitados en otros archivos

@import utilities/variables;
@import utilities/functions;
@import utilities/mixins;
@import utilities/helpers;

// Bases generales del sitio
@import base/reset;
@import base/typography;
@import base/base;

// Layouts del sitio
@import layout/header;
@import layout/footer;
@import layout/sidebar;
@import layout/navigation;

// Pages del sitio
@import pages/about;
@import pages/contact;
@import pages/any_other_page;

Comando para compilar

El siguiente comando supone que la carpeta scss y css están al mismo nivel partiendo de la raíz del proyecto.

sass scss/main.scss css/main.css

Para compilar y seguir observando los cambios que se produzcan se puede usar el siguiente comando

sass –watch scss/main.scss:css/main.css

Recordatorio

El archivo que finalmente estará enlazado a cada una de nuestras páginas HTML será el archivo .css ya compilado.

Leave a Reply

Your email address will not be published. Required fields are marked *