Come distruggere un template con jQuery e CSS

Come distruggere un template con jQuery e CSS

Francamente non ne posso più. Sono arrivato al quinto template in pochi mesi in cui tutti i maggiori problemi derivano dalla scarsa conoscenza di come usare i CSS e jQuery insieme. Non metto in dubbio la buona volontà di voler abbellire il template con effetti speciali (ma loro sono scienza, noi fantascienza), ma almeno prima di mettere in vendita un template cercate di effettuare dei test (almeno). L'ultimo della serie è un tema di Wordpress il cui menu principale dovrebbe funzionare con un bell'effetto di dropdown. Solo che non funziona. O meglio, l'intero blocco dell'header si espande in verticale durante l'effetto. Da un analisi del foglio di stile e del codice jQuery, mi accorgo che l'uno contraddice l'altro, soprattutto per quanto riguarda l'uso della proprietà overflow. Si potrebbe dire che la colpa è della personalizzazione fatta al tema. Ma come, non è prevista una personalizzazione? Tutti i siti che usano questo tema dovrebbero essere identici? Non capisco.

Ho notato anche che in genere i template sono come dei castelli di carte: modifichi un componente del layout e ottieni un effetto domino che fa crollare tutto. E se modifichi il codice jQuery, vai in conflitto con le regole di stile, che non prevedono la possibilità di quella modifica. Nel caso specifico, l'overflow del contenuto non era stato impostato correttamente. Il sottomenu era stato posizionato in modo relativo alla voce del menu principale. Per evitare il fenomeno dell'espansione in altezza, il sottomenu dovrebbe essere posizionato in modo assoluto rispetto alla pagina, usando l'offset superiore e sinistro della voce a cui appartiene.

In questo modo il sottomenu ha come riferimento body e non il contenitore del menu principale, quindi le sue dimensioni non influiscono sull'altezza del contenitore e il problema dell'overflow è risolto.

Ma nel CSS c'è un profluvio di position: relative che salgono di genitore in genitore fino ad arrivare al settimo cielo della ridondanza. Ma come, siamo nel 2011 e ancora non è noto che position: relative per IE serve solo in pochi casi e non va usato dappertutto? Domanda sciocca, presuntuosa e che non merita una risposta. Mi rimetto alla clemenza della giuria.

Comunque, trovata la soluzione si può tornare a rasserenare il clima semplicemente consigliando una maggiore flessibilità nel design dei template e anche qualche buona lettura sui CSS, a cominciare da On Having Layout.

Torna su