Lug 212006
 

Lo stile collapsed per l’archivio dei post di Splinder, quello cioè in cui le annate passate sono riunite sotto un unico link espandibile, invece di apparire suddivise per singole mesate, soffre di un annoso problema: espandendo la voce del menu i link dei mesi appaiono con lo stile di default invece che con quello dell’archivio principale (in particolare caratteri e allineamento risultano sbagliati quando i due stili non coincidono).

Questo è dovuto al fatto che i link per le annate vengono espansi all’interno di una sezione discendente <DIV> priva di specificatore di classe, che oltretutto contiene direttamente l’elenco dei link per i relativi mesi, senza racchiuderli in un elemento <P>.

Le due soluzioni ovvie, assegnare una classe, e dunque uno stile, alla <DIV> espansa oppure includere l’elemento <P> mancante, sono impraticabili perché implementabili solo a livello di contenuto dei tag HTML (interamente controllato da Splinder) e non di template CSS (parzialmente sotto controllo dell’utente finale).

Esiste un workaround meno ovvio, che dipende dai dettagli del template specificamente utilizzato, e che consiste nel dettare esplicitamente lo stile degli elementi <A> (i link) discendenti direttamente da una sezione <DIV> contenuta nel selettore di classe dell’archivio.

Fin qui la teoria, che suppongo pochi capiscano. Però posso portare l’esempio del mio template, in cui l’archivio è contenuto in una sezione con selettore di classe .section (che detta il formato delle suddivisioni tra le diverse voci all’interno delle due colonne laterali), ma in cui lo stile dei link dell’archivio è invece dettato dalla regola per .contentright p (che detta il formato del testo nella colonna di destra), il quale fornisce lo stile di un elemento <P> contenuto in una sezione di classe contentright. In pratica, per correggere la situazione, ho aggiunto al mio template le parti sotto riportate in rosso (riporto anche le altre parti rilevanti del template):

.contentright p {
   font: normal 0.8em Verdana, Arial, Helvetica, sans-serif;
   color: #ffffff;
   padding:0px 10px;
   background:transparent
}

.section {
   background:transparent;
   margin-bottom: 20px;
   text-align:left;
   border: 0px solid #000000
}


/* Fix for the stupid collapsed archive style bug (unclassed
   descendant DIV with no enclosed P enclosing the list of A's) */

.section div>a {
  font: normal 0.8em Verdana, Arial, Helvetica, sans-serif;
  padding: 0px 10px;
  background: transparent;
}

Buona fortuna.

 Posted by at 16:47  Tagged with:

  3 Responses to “Template”

  1. interessante, se a uno importa di definire lo stile dell’archivio.

    io invece avrei un problemino diverso, sempre legato all’intoccabilità dei $tag$ splinderiani: come si fa a impostare stili diversi a seconda della categoria del post? non si può, vero? bisognerebbe avere accesso direttamente al database…

  2. > come si fa a impostare stili diversi a

    > seconda della categoria del post?

    Modificare lo stile di titolo e data non è possibile; almeno non in un modo che mi venga in mente.

    Editando direttamente l’HTML del testo si può racchiuderlo per intero tra un <DIV class=”categoria”>…</DIV>, supponendo di aver definito appropriatamente gli stili di “categoria”.

    Non vedo perché non dovrebbe funzionare, ma non è certo un metodo automatico.

  3. appunto non è automatico.

    come fa il CSS/HTML a fare un IF… THEN a seconda del tag di categoria associato al post?

Sorry, the comment form is closed at this time.