Ieri lavorando con i temi di ASP.NET 2.0 mi sono imbattuto nell'esigenza di impostare una immagine all'interno della pagina mediante il file skin del tema. La cosa di per se banale, ha molte diverse soluzioni. Quella che di primo acchito viene in mente è di usare un controllo impostandone lo SkinId e in seguito referenziarlo nel file della skin. Questo però è un approccio che può andare bene solo se le immagini nella pagina sono decisamente poche, altrimenti il numero di controlli web presenti che il runtime dovrà elaborare aumenta vertiginosamente. Alla fine ho scelto una soluzione, basata sull'uso dei css che mi è parsa degna di essere segnalata perchè nel mio caso mi ha esonerato dall'appensantire eccessivamente la pagina. L'idea è di usare un div al posto di un tag img e di impostarne il background via css.

<div id="myImage"></div>

Poi nel file css è sufficiente impostare il background del div come segue

div#myImage
{
    background-imageurl(images/my_image.gif);
    width:25px;
    height:25px;
}

In questo modo una immagine delle dimensioni di 25x25 pixels il cui vantaggio è di aver specificato l'url in uno stile. In questo modo è possibile usare un css all'interno di un tema di ASP.NET e soprattutto di evitare l'uso di innumerevoli webcontrol. Si tratta di un accorgimento banale, ma il risultato è degno di nota, anche poichè questa tecnica è valida con tutti i browser esistenti.

powered by IMHO 1.3


Commenti (4) -

# | Di .NET e di altre amenita' | 10.12.2005 - 23.22

# | Radicalmente | 29.06.2006 - 13.38

# | Di .NET e di altre amenita' | 29.06.2006 - 13.40

# | Rubens | 23.01.2007 - 22.51

ciao.
per mettere un'immagine in una cella di tabella usando i css ho fatto esattamente come lo hai descritto tu...

peccato che non vada...
e non va solo quello.. perchè tutte le altre proprietà del TD che modifico dentro la classe css si modificano...

e se il codice dell'immagine lo sposto da css all'interno del tag utilizzando lo style="...."  funziona...

mi sapresti dire il perchè?

grazie

Aggiungi Commento