Cell. +39 3479684755

Il Blog di Instant Websites

Categoria: jQuery

What goes up, must come down ovvero: riposizionare gli elementi

What goes up, must come down ovvero: riposizionare gli elementi
Quando nell’ambito dei nostri corsi di web design devo spiegare il concetto di responsive design, sintetizzo solitamente in questo modo:

Il termine “responsive design” indica le tecniche di sviluppo delle pagine web che ne permettono l’ottimizzazione per il tipo di dispositivo sul quale un sito viene visualizzato, con particolare riferimento ai dispositivi mobili, tramite il ridimensionamento ed il riposizionamento dei contenuti

Per quanto riguarda il primo aspetto, cioè il ridimensionamento, si sono già viste in precedenti articoli le tecniche di base da applicare ai box contenitori ed ai principali contenuti (con particolare riferimento alle immagini) tramite le media query che subordinano l’applicazione di determinate regole CSS alla dimensione effettiva della viewport del dispositivo.

Relativamente al riposizionamento, invece, la pratica indica che nella maggior parte dei casi la natura di “elementi a livello di blocco” dei contenitori di pagina è sufficiente a fare sì che si dispongano uno sopra l’altro nella pagina occupando lo spazio orizzontale disponibile; tutt’al più, può essere necessario rimuovere la proprietà float per evitare che si affianchino (si rilegga questo articolo a proposito dell’uso della proprietà display: table-cell; piuttosto che della proprietà float per costruire un layout a 2 o più colonne).

In determinate circostanze, tuttavia, può essere necessario modificare questo comportamento.

Prendiamo a titolo di esempio il caso di un layout a 2 colonne, in cui la sidebar a sinistra è utilizzata per un sottomenu di pagine.
Normalmente, nel layout reattivo, questo box si posizionerebbe al di sopra di quello principale, dal momento che nel codice di pagina è inserito prima.
Ecco un semplicissimo esempio che mostra questo comportamento in un contenitore a larghezza fissa di 960px.
E’ sufficiente ridimensionare la finestra del browser per vedere come gli elementi si ridimensionano e redispongono.

Il punto è: come fare in modo che si posizioni invece al di sotto?

Continua a leggere

Menu adattivo con jQuery

Tra le varie problematiche emerse con il web design reattivo, o adattivo che dir si voglia, c’è innanzitutto quella di garantire un facile accesso ed operatività del menu di navigazione.

Ogni voce del menu stesso deve essere facilmente azionabile, cosa che in una visualizzazione normale (zoomata “out”) della pagina nel caso in cui questa non sia reattiva può diventare pressoché impossibile.

Una soluzione pratica e gradevole graficamente, poiché per niente intrusiva, è quella di nascondere il menu normale raggiunta una certa dimensione della viewport e fare apparire un menu in forma di pulsante, con o senza etichetta.

Si consideri ad esempio questa pagina creata apposta per il tutorial, quindi molto essenziale.

Il contenitore di base ha larghezza pari a 960px; nel momento in cui la viewport scende sotto tale dimensione – ovvero, in termini di media query, ha larghezza massima di 959px – il contenitore stesso occupa tutto lo spazio disponibile.

Il menu di base, che è orizzontale, non viene immediatamente sostituito poiché resta facilmente accessibile fino a quando la viewport non raggiunge una dimensione quantificata in 640px (breakpoint): a quel punto, appare il menu adattivo.

Per realizzare quanto sopra è stato utilizzato un plugin per jQuery chiamato SlickNav – Responsive Mobile Menu Plugin for jQuery che ha il pregio di essere facile da impiegare e da personalizzare.

Dopo avere scaricato il pacchetto dal sito del plugin (vedi sotto), copiamo il file jquery.slicknav.js (o il corrispondente minimizzato, anche se il “peso” in Kb è molto modesto) in una cartella chiamata ad esempio /js ed il file slicknav.css in una cartella chiamata /css.

Nel codice di pagina inseriremo dunque nella sezione <head>:


<!– Viewport tag and properties –>
<meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no”/>
<!– /Viewport tag and properties –>

(come sempre quando vogliamo che i dispositivi mobili eseguano le media query basandosi sulla propria risoluzione della viewport invece di zoomare), poi:


<!– css –>
<link href=”css/style.css” rel=”stylesheet” type=”text/css”>
<link href=”css/slicknav.css” rel=”stylesheet” type=”text/css”>
<!– /css –>

<!– jQuery e plugin –>
<script src=”js/jquery.js”></script>
<script src=”js/jquery.slicknav.js”></script>
<script>
$(function(){
$(‘#menu’).slicknav();
});
</script>
<!– /jQuery e plugin –>

Il foglio style.css è quello di base della nostra pagina mentre slicknav.css è quello specifico del plugin.

Continua a leggere

FitVids.js: plugin jQuery per l’inserimento di video reattivi

L’inserimento di video da YouTube o altre piattaforme sociali tramite iframe in una pagina reattiva o comunque fluida, comporta alcune difficoltà particolari, legate all’esigenza di mantenere il corretto rapporto proporzionale tra base ed altezza del video (e del relativo contenitore).

L’argomento è stato già trattato e, in un recente articolo, è stato indicato un fix, peraltro non immediato, per risolvere il problema.

Esiste tuttavia un plugin sviluppato per il framework jQuery, chiamato FitVids.js, che serve proprio allo scopo.

Esempio 1: utilizzo in una pagina fluida

Vediamo come utilizzarlo in una pagina fluida con dimensioni 100%, dove abbiamo impostato solo un padding a body.

Associamo la libreria di base del framework ed il plugin, preventivamente scaricato ed inserito in un’apposita cartella del nostro sito:


<head>

<script src=”https://code.jquery.com/jquery.js”></script>
<script src=”js/jquery.fitvids.js”></script>
<script>
$(document).ready(function(){
// Target your .container, .wrapper, .post, etc.
$(“#videoBox”).fitVids();
});
</script>


</head>

là dove #videoBox è il box che conterrà il video.

Continua a leggere

Categorie
Archivi