# SCSS v4.*
Secondo quanto espresso nelle linee guida, Γ¨ bene sviluppare i progetti seguendo la struttura predefinita del progetto SCSS del tema child.
ATTENZIONE
π£ La versione 4 Γ¨ ormai deprecata! Questa documentazione (incompleta) viene lasciata qui soltanto per i vecchi progetti.
# Grunt.js
Il progetto SCSS viene compilato attraverso un apposito task di Grunt.js.
Quando il comando grunt viene lanciato da console, i file scss vengono compilati nel file css del tema style.css e contestualmente viene lanciato un task watch che compilerΓ automaticamente i file ogni volta che un file .scss contenuto nella cartella sass/ viene modificato.
# Struttura base
La struttura base del progetto SCSS prevede una serie di file base, piΓΉ tutta una serie di file parziali che definiscono blocchi di elementi, dai globali come body, link, ecc... a elementi come bottoni, form, titoli, ecc...
La struttura Γ¨ pensata per offrire il massimo della plasticitΓ .
Di seguito l'elenco dei file e delle cartelle con il loro rispettivo contenuto.
| File o Directory | Contenuto | Editabile |
|---|---|---|
| _configuration.scss | file di configurazione del progetto | Sì |
| _custom.scss | inclusione di tutti i file custom | Sì |
| _mixins.scss | mixins default | No |
| _variables.scss | variabili | Sì |
| _wp-style.scss | intestazione del tema secondo standard WordPress | Sì |
| child-theme.scss | file principale | No |
| custom/ | directory di tutti i file custom del progetto | Sì |
| partials/ | parziali di default (non editare) | No |
| vendors/ | librerie di terza parte | Sì |
EditabilitΓ
I file marcati come non editabili non dovrebbero essere modificati, al fine di permettere futuri aggiornamenti senza rischio di danni al codice.
In calce a questa pagina Γ¨ presente l'alberatura completa del progetto.
# Configurazione
Nel file _configuration.scss sono presenti alcune variabili per gestire l'attivazione (inclusione) di acluni file parziali che determinano alcune parti di stile.
Ad esempio, impostando la variabile $typography_headings in false, verranno eleminate tutte le definizioni di default relative ai tag headings.
# Variabili
Le variabili del progetto sono contenute nel file _variables.scss prima di procedere alla personalizzazione dello stile Γ¨ bene configurare al meglio tutte le variabili disponibili.
# Mixins
All'interno del file _mixins.scss sono presenti tutti i mixin del framework di sviluppo.
Di seguito l'elenco dei mixin che saranno mantenuti anche nella prossima main release del tema.
# Images
img_100($include_tag:false)
Include lo stile per creare un immagine fluida a width: 100%; height: auto;.
- Param:
$include_tag| Type:bool| Default:false
Determina l'inclusione del tagimgall'interno dell'elemento dove viene utilizzato
image_fit_cover($object_position:center)
Include il posizionamento assoluto di un'immagine con la proprietΓ object-fit: cover
- Param:
$object_position| Type:css property value| Default:center
Determina l'allineamento dell'immagine e accetta come valore tutti i valori accettati dalla proprietΓ cssobject-position
image_fit_contain($object_position:center)
Include il posizionamento assoluto di un'immagine con la proprietΓ object-fit: contain
- Param:
$object_position| Type:css property value| Default:center
Determina l'allineamento dell'immagine e accetta come valore tutti i valori accettati dalla proprietΓ cssobject-position
ATTENZIONE
I mixin image_fit_cover e image_fit_contain richiedono un elemento parent con proprietΓ position: relative
# Typography
pxToRem($size)
Imposta la misura del font in rem partendo dalla misura in px.
Questo mixin effettua il calcolo partendo dal valore impostato nella variabile $font_base_size
Il parametro $size consiste nella misura in px (es: 22px);
- Param:
$size| Type:css property value| Default:null
Consiste nella misura in px (es: 22px);
ellipsis()
Applica i puntini di sospensione agli elementi. Richiede una width impostata nell'elemento a cui viene assegnato questo mixin.
resetlist()
Resetta i comuni parametri delle liste OL e UL
# Translations
Tutti ti mixin translate si traducono nelle varie opzioni della proprietΓ css transform: translate[...]
translate ( $x, $y )
transform: translate($x,$y);
- Params:
$x,$y| Type:css property value| Default:null
Consistono nella misura (in qualsiasi unitΓ ) orizzontale e verticale di quanto verrΓ² traslato l'elemento;
translate-50Y
transform: translateY(-50%);
Transla verticalmente l'elemento del 50% della propria altezza.
translate-50Y
transform: translateY(-50%);
Transla orizzontalmente l'elemento del 50% della propria larghezza.
translate-50
transform: translate(-50%,-50%);
Transla orizzontalmente e verticalmente l'elemento del 50% della propria larghezza e altezza.
# Positioning
place($top,$right,$bottom,$left)
Imposta i valori top,right,left,bottom
- Params:
$top,$right,$bottom,$left| Type:css property value| Default:null
Valore (in qualsiasi unitΓ ) da assegnare alle singole posizioni;
# Icone FontAwesome Pro
icon-before($icon,$family:"solid",$margin:5px)
Crea uno pseudo elemento ::before con icona
icon-after($icon,$family:"solid",$margin:5px)
Crea uno pseudo elemento ::after con icona
- Param:
$icon| Type:string| Default:null
Il codice del font tra apici e backslash iniziale (es: "\100"); - Param:
$family| Type:string| Default:null
Il nome della font family tra apici (es: "light"); - Param:
$margin| Type:css property value| Default:5px
Il margine destro o sinistro assegnato all'icona
FONT FAMILIES
I nomi delle famiglie FontAwesome sono: "thin", "light", "solid", "regular", "sharp"
ATTENZIONE
La famiglia "duotone" non puΓ² al momento essere usata con questo mixin
# Advanced Transitions
I mixin per le transition avanzate offrono delle transition preimpostate con i nomi standard.
Param:
$duration| Type:css property value| Default:null
Definisce la durata della transitioneaseInQuad($duration)
easeInCubic($duration)
easeInQuart($duration)
easeInQuint($duration)
easeInSine($duration)
easeInExpo($duration)
easeInCirc($duration)
easeInBack($duration)
easeOutQuad($duration)
easeOutCubic($duration)
easeOutQuart($duration)
easeOutQuint($duration)
easeOutSine($duration)
easeOutExpo($duration)
easeOutCirc($duration)
easeOutBack($duration)
easeInOutQuad($duration)
easeInOutCubic($duration)
easeInOutQuart($duration)
easeInOutQuint($duration)
easeInOutSine($duration)
easeInOutExpo($duration)
easeInOutCirc($duration)
easeInOutBack($duration)
# Struttura del progetto SCSS
βββ _configuration.scss
βββ _custom.scss
βββ _mixins.scss
βββ _variables.scss
βββ _wp-style.scss
βββ child-theme.scss
βββ custom
β βββ _DIVI-mixins.scss
β βββ _DIVI-override.scss
β βββ _custom-mixins.scss
β βββ _custom-variables.scss
β βββ _mod--mobile-fixed-bottom-bar.scss
β βββ _mod--next-and-prev-navigations.scss
βββ partials
β βββ _buttons.scss
β βββ _cookie-banner.scss
β βββ _flex-grid.scss
β βββ _fonts.scss
β βββ _forms.scss
β βββ _global.scss
β βββ _tables.scss
β βββ _typography.scss
β βββ _utilities.scss
βββ vendors
βββ _elegant-icons.scss
βββ _normalize.scss
βββ fontawesome-pro
βββ _animated.scss
βββ _bordered-pulled.scss
βββ _core.scss
βββ _duotone-icons.scss
βββ _fixed-width.scss
βββ _functions.scss
βββ _icons.scss
βββ _list.scss
βββ _mixins.scss
βββ _rotated-flipped.scss
βββ _screen-reader.scss
βββ _shims.scss
βββ _sizing.scss
βββ _stacked.scss
βββ _variables.scss
βββ brands.scss
βββ duotone.scss
βββ fontawesome.scss
βββ light.scss
βββ regular.scss
βββ sharp-light.scss
βββ sharp-regular.scss
βββ sharp-solid.scss
βββ solid.scss
βββ thin.scss
βββ v4-shims.scss
β Linee Guida per lo sviluppo SCSS v5.* β