<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml"
>

<channel>
	<title>diploD &#187; CSS</title>
	<atom:link href="http://www.diplod.it/category/webdesigner/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.diplod.it</link>
	<description>by Davide Del Monte</description>
	<lastBuildDate>Wed, 14 Dec 2011 08:43:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Un menu duttile, con un po&#8217; di javascript e css</title>
		<link>http://www.diplod.it/2009/06/02/un-menu-duttile-con-un-po-di-javascript-e-css/</link>
		<comments>http://www.diplod.it/2009/06/02/un-menu-duttile-con-un-po-di-javascript-e-css/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 22:43:45 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Ajax e Javascript]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[segnalazione]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=771</guid>
		<description><![CDATA[Arrivano le feste e finalmente c'è tempo per dedicarsi a ciò che più piace. JQuery e un pizzico di CSS sono sufficienti per rendere accattivante un menù, creando tendine a cascata sul mouse-hover o affascinanti barre di navigazione, perfette per i menù in stile magazine. Tutta la faccenda è frutto di un comodo plugin di jquery: superfish.]]></description>
			<content:encoded><![CDATA[<p>Arrivano le feste e finalmente c&#8217;è tempo per dedicarsi a ciò che più piace. <a title="JQuery" href="http://jquery.com/" target="_blank"><strong>JQuery</strong></a> e un pizzico di <strong>CSS</strong> sono sufficienti per rendere accattivante un menù, creando <strong>tendine a cascata</strong> sul mouse-hover o affascinanti <strong>barre di navigazione</strong>, perfette per i menù in stile magazine. Tutta la faccenda è frutto di un comodo plugin di jquery: <a title="Superfish" href="http://users.tpg.com.au/j_birch/plugins/superfish/" target="_blank">superfish</a>.</p>
<p>Per vederlo subito all&#8217;opera basta dare un&#8217;occhiata agli <a title="Demo Superfish" href="http://users.tpg.com.au/j_birch/plugins/superfish/#sample1" target="_blank">esempi che ci sono sul sito ufficiale</a>.</p>
<p>Questo plugin torna veramente utile se accoppiato ai classici menù per wordpress, dove tipicamente la sintassi html è la seguente:</p>
<p><code>&lt;ul <strong>class="sf-menu"</strong>&gt;<br />
&lt;li class="page_item"&gt;&lt;a href="#" title="Home"&gt;Home&lt;/a&gt;&lt;/li&gt;<br />
&lt;li class="page_item page-item-1"&gt;&lt;a href="#" title="About"&gt;About&lt;/a&gt;<br />
&lt;ul&gt;<br />
&lt;li class="page_item page-item-2"&gt;&lt;a href="#" title="Sottopagina Uno"&gt;Sottopagina Uno&lt;/a&gt;&lt;/li&gt;<br />
&lt;li class="page_item page-item-3"&gt;&lt;a href="#" title="Sottopagina Due"&gt;Sottopagina Due&lt;/a&gt;&lt;/li&gt;<br />
&lt;/ul&gt;<br />
&lt;/li&gt;<br />
&lt;li class="page_item page-item-4"&gt;&lt;a href="#" title="Contatti"&gt;Contatti&lt;/a&gt;<br />
&lt;/ul&gt;</code></p>
<p>Questa sintassi viene generata dalla funzione <a title="wordpress codex" href="http://codex.wordpress.org/Template_Tags/wp_list_pages" target="_blank">wp_list_pages()</a>, indicando come argomento depth=2. E&#8217; sufficiente assegnare la classe &#8220;sf-menu&#8221; alla lista (&lt;ul&gt;) che compone il menù e lo script farà il resto del lavoro, individuando le liste annidate e nascondendole. Quando l&#8217;utente passerà con il mouse sulla pagina padre, allora saranno mostrate a cascata le pagine figlie.</p>
<p>Ovviamente per far funzionare il tutto è necessario includere nella testata della pagina qualche riga di codice, per caricare jquery, il plugin e alcuni file css:</p>
<p><code>// link al file CSS<br />
&lt;link rel="stylesheet" type="text/css" media="screen" href="superfish.css" /&gt;<br />
// link al javascript (hoverIntent è opzonale)<br />
&lt;script type="text/javascript" src="hoverIntent.js"&gt;&lt;/script&gt;<br />
&lt;script type="text/javascript" src="superfish.js"&gt;&lt;/script&gt;<br />
// inizializzazione di Superfish, sf-menu è la classe su cui sarà attivo l'effetto<br />
&lt;script type="text/javascript"&gt;<br />
$(document).ready(function(){<br />
$("ul.sf-menu").superfish();<br />
});<br />
&lt;/script&gt;</code></p>
<p>I temi rilasciati su <a title="Elegantthemes" href="http://www.elegantthemes.com/" target="_blank">eleganthemes</a> fanno abbondantemente uso di questo plugin e gli effetti sono piuttosto gradevoli. Credo proprio che mi divertirò nei prossimi giorni.. <strong>Conoscete altri script altrettanto versatili e pronti all&#8217;uso?</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2009/06/02/un-menu-duttile-con-un-po-di-javascript-e-css/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Manutenzione a Nerino, versione 2.3</title>
		<link>http://www.diplod.it/2009/04/19/manutenzione-a-nerino-versione-23/</link>
		<comments>http://www.diplod.it/2009/04/19/manutenzione-a-nerino-versione-23/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 22:02:50 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[aggiornamento]]></category>
		<category><![CDATA[nerino]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=766</guid>
		<description><![CDATA[Da un po&#8217; di tempo non mettevo le mani su Nerino. Questo post per avvisare tutti gli utilizzatori del suddetto tema che è stato aggiornato alla versione 2.3, si consiglia pertanto di caricare nei vostri blog la nuova versione (sovrascrivendo quella precedente). In particolare sono stati risolti alcuni piccoli bug: Visualizzazione widget aggiustata la visualizzazione [...]]]></description>
			<content:encoded><![CDATA[<p>Da un po&#8217; di tempo non mettevo le mani su <strong><a title="Nerino 2.3" href="http://www.diplod.it/2007/12/14/nerino-20-template-per-wordpress-gratuito/" target="_self">Nerino</a></strong>. Questo post per avvisare tutti gli utilizzatori del suddetto tema che <strong>è stato aggiornato alla versione 2.3</strong>, si consiglia pertanto di <strong>caricare nei vostri blog la nuova versione</strong> (sovrascrivendo quella precedente).</p>
<p>In particolare sono stati risolti alcuni piccoli bug:</p>
<ul>
<li><strong>Visualizzazione widget<br />
</strong>aggiustata la visualizzazione dei titoli del widget rss e delle sottopagine/sottocategorie</li>
<li><strong>Navigazione tra i post precedente e successivo nella testata<br />
</strong>risolto un problema di visualizzazione dei titoli del post precedente e successivo dalla pagina di visualizzazione del singolo post</li>
</ul>
<p>Per chi non vuole sovrascrivere il tema, perchè magari ha apportato modifiche, è possibile <strong>aggiornare sovrascrivendo alcune parti di CSS</strong>. Basta aprire il file <strong>style.css</strong> e fare le seguenti operazioni:<br />
<span id="more-766"></span></p>
<p>1. Le ultime righe vanno sostituite con le seguenti:<br />
<code>/*navigation*/<br />
.navigation {<br />
font-size: 95%;<br />
height: 20px;<br />
border-top: 1px solid #dadada;<br />
border-bottom: 1px solid #dadada;<br />
background: #f7f7f7;<br />
margin: 0 15px 10px 0;<br />
overflow: hidden;<br />
}<br />
.nav-header {<br />
position: absolute;<br />
top: 182px;<br />
font-size: 95%;<br />
background: transparent url(images/nav-bg.gif) no-repeat top center;<br />
margin: 0;<br />
overflow: hidden;<br />
width: 810px;<br />
height: 25px;<br />
}<br />
.nav-header .nav-sx, .nav-header .nav-dx {<br />
background: transparent;<br />
color: #fff;<br />
padding: 2px 12px 0 12px;<br />
width: 360px;<br />
overflow: hidden;<br />
height: 23px;<br />
}<br />
.nav-header .nav-sx a, .nav-header .nav-dx a {<br />
color: #fff;<br />
}<br />
.nav-header .nav-dx {<br />
text-align: right;<br />
}</code><br />
2. Le regole sulle classi .alignleft e .alignright (dalla riga 504 alla 509) vanno aggiornate copiando il seguente codice:<br />
<code>.alignleft, .float-left {<br />
float: left;<br />
}<br />
.alignright, .float-right {<br />
float: right;<br />
}</code><br />
3. Tra le &#8220;additional classes&#8221; (riga 534) bisogna aggiungere il codice seguente:<br />
<code>/* additional classes */<br />
a.rsswidget img { border: none; padding: 0; margin: 0; }</code><br />
<strong>Se avete bisogno di una mano per l&#8217;aggiornamento, non esitate a contattarmi.</strong> ;)</p>
<p>In attesa del prossimo tema.. che non vedo l&#8217;ora di poter concludere!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2009/04/19/manutenzione-a-nerino-versione-23/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Creare un tema personalizzato per sharepoint moss 2007 o wss 3</title>
		<link>http://www.diplod.it/2008/12/30/creare-un-tema-personalizzato-per-sharepoint-moss-2007-o-wss-3/</link>
		<comments>http://www.diplod.it/2008/12/30/creare-un-tema-personalizzato-per-sharepoint-moss-2007-o-wss-3/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 06:06:33 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[designer]]></category>
		<category><![CDATA[sharepoint]]></category>
		<category><![CDATA[temi]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=719</guid>
		<description><![CDATA[Sebbene sharepoint sia dotato di diversi temi coi quali lo si può vestire a dovere, spesso può essere utile creare qualcosa di più personale. La creazione di un nuovo template non è complicatissima se si parte in copia da uno pre-esistente: è il modo migliore per non perdersi nella miriade di classi css.]]></description>
			<content:encoded><![CDATA[<p>Sebbene <a title="Microsoft sharepoint" href="http://www.microsoft.com/italy/cmserver/" target="_blank">sharepoint</a> sia dotato di diversi temi coi quali lo si può vestire a dovere, spesso può essere utile <strong>creare qualcosa di più personale</strong>. La creazione di un nuovo template non è complicatissima se <strong>si parte in copia da uno pre-esistente</strong>: è il modo migliore per non perdersi nella miriade di classi css (<strong>la leggibilità e la correttezza semantica del codice è in perfetto stile Microsoft, l’applicativo fa un largo uso di tabelle e stratagemmi javascript “particolari”</strong>).<br />
Supponiamo di voler partire dal tema “Simple”, messo a disposizione nella raccolta di base, i passi da seguire sono i seguenti:<br />
<span id="more-719"></span></p>
<ol>
<li>Accedere al server sul quale è installato sharepoint e posizionarsi nella cartella:<br />
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\THEMES</li>
<li>Copiare la cartella “Simple” e rinominare la cartella copiata a piacere, in questo caso la chiameremo “Miotema”</li>
<li>Nella cartella “Miotema” rinominare il file “SIMPLE.INF” in “MIOTEMA.INF”, tutto in caratteri maiuscoli.</li>
<li>Aprire il file “MIOTEMA.INF” con un editor di testo e sostituire tutte le occorrenze di “Simple” con il termine “Miotema”. Il risultato sarà come il seguente:<br />
<blockquote><p>[info]<br />
title=Miotema<br />
codepage=65001<br />
version=3.00<br />
format=3.00<br />
readonly=true<br />
refcount=0</p>
<p>[titles]<br />
1031= Miotema<br />
1036= Miotema<br />
1040= Miotema<br />
…</p></blockquote>
</li>
<li>Aprire con un editor di testo il file che si trova nella posizione:<br />
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\1033\SPThemes.xml</li>
<li>Aggiungere all’interno del tag &lt;SPThemes&gt; le seguenti linee di codice:<br />
<blockquote><p>&lt;Templates&gt;<br />
&lt;TemplateID&gt;Miotema&lt;/TemplateID&gt;<br />
&lt;DisplayName&gt; Miotema &lt;/DisplayName&gt;<br />
&lt;Description&gt; Tema creato da me.&lt;/Description&gt;<br />
&lt;Thumbnail&gt;images/thlmiotema.gif&lt;/Thumbnail&gt;<br />
&lt;Preview&gt;images/thmiotema.gif&lt;/Preview&gt;<br />
&lt;/Templates&gt;</p></blockquote>
<p><strong>NB</strong>: Ovviamente se vogliamo le preview bisognerà creare le immagini gif e inserirle nella cartella images del tema.</li>
<li>Per rendere visibile il tema nella lista di quelli disponibili sarà necessario fare un issreset (dal prompt di DOS: “iisreset /noforce”).</li>
</ol>
<p>Ora il tema è caricato, per modificare colori e quant’altro bisognerà intervenire sul file css, che si trova alla posizione:<br />
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\THEMES\MIOTEMA\theme.css<br />
Ogni volta che si fanno delle modifiche è bene fare un <em>iisreset</em> e dalla mia esperienza è bene evitare di fare modifiche su temi che sono attualmente in uso su qualche sito sharepoint, altrimenti queste non vengono correttamente caricate al riavvio del server.</p>
<p>Se invece c&#8217;è bisogno di eseguire modifiche strutturali alle pagine, per rimuovere o aggiungere blocchi, sarà necessario fare ricorso a <a title="Sharepoint Designer" href="http://office.microsoft.com/it-it/sharepointdesigner/FX100487631040.aspx" target="_blank">Sharepoint Designer</a> tramite il quale si possono costruire o elaborare le <a title="Master Pages overview" href="http://msdn.microsoft.com/en-us/library/wtxbf3hh.aspx" target="_blank">master pages</a>, accedendo al sito in questione.<br />
<strong>Buona customizzazione! ;)</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2008/12/30/creare-un-tema-personalizzato-per-sharepoint-moss-2007-o-wss-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Un po di XSL per processare un feed di Google News</title>
		<link>http://www.diplod.it/2008/12/18/un-po-di-xsl-per-processare-un-feed-di-google-news/</link>
		<comments>http://www.diplod.it/2008/12/18/un-po-di-xsl-per-processare-un-feed-di-google-news/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 23:06:56 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[feed]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xsl]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=715</guid>
		<description><![CDATA[L&#8217;obiettivo è visualizzare con una trasformazione XSL il contenuto di un feed generato da Google News per una determinata parola la chiave. Come esempio ho lanciato la ricerca di tutte le notizie riguardanti &#8220;Obama&#8221; e questo è l&#8217;url del feed prodotto: http://news.google.it/news?hl=it&#38;ned=it&#38;q=obama&#38;ie=UTF-8&#38;nolr=1&#38;output=rss Come noto, un feed RSS è un documento XML. La formattazione è classica: [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;obiettivo è visualizzare con una trasformazione <a title="Extensible Stylesheet Language" href="http://it.wikipedia.org/wiki/Extensible_Stylesheet_Language" target="_blank">XSL</a> il contenuto di un feed generato da <a title="Google News" href="http://news.google.it" target="_blank">Google News</a> per una determinata parola la chiave. Come esempio ho lanciato la ricerca di tutte le notizie riguardanti &#8220;Obama&#8221; e questo è l&#8217;url del feed prodotto:<br />
<a title="feed google news su obama" href="http://news.google.it/news?hl=it&amp;ned=it&amp;q=obama&amp;ie=UTF-8&amp;nolr=1&amp;output=rss" target="_blank">http://news.google.it/news?hl=it&amp;ned=it&amp;q=obama&amp;ie=UTF-8&amp;nolr=1&amp;output=rss</a></p>
<p>Come noto, un feed <a title="RSS - wikipedia" href="http://it.wikipedia.org/wiki/Really_simple_syndication" target="_blank">RSS</a> è un documento <a title="XML - wikipedia" href="http://it.wikipedia.org/wiki/XML" target="_blank">XML</a>. La formattazione è classica:</p>
<blockquote><p><strong>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;rss version=&#8221;2.0&#8243;&gt;<br />
&lt;channel&gt;<br />
&lt;generator&gt;</strong>NFE/1.0<strong>&lt;/generator&gt;</strong><br />
<strong>&lt;title&gt;</strong>obama &#8211; Google News<strong>&lt;/title&gt;</strong><br />
<strong>&lt;link&gt;</strong>http://news.google.it/news?hl=it&amp;ned=it&amp;q=obama&amp;ie=UTF-8<strong>&lt;/link&gt;</strong><br />
<strong>&lt;language&gt;</strong>it<strong>&lt;/language&gt;</strong><br />
<strong>&lt;webMaster&gt;</strong>news-feedback@google.com<strong>&lt;/webMaster&gt;</strong><br />
<strong>&lt;copyright&gt;</strong>©2008 Google<strong>&lt;/copyright&gt;</strong><br />
<strong>&lt;pubDate&gt;</strong>Mon, 15 Dec 2008 14:34:32 GMT<strong>&lt;/pubDate&gt;</strong><br />
<strong>&lt;lastBuildDate&gt;</strong>Mon, 15 Dec 2008 14:34:32 GMT<strong>&lt;/lastBuildDate&gt;</strong><br />
<strong>&lt;image&gt;<br />
&lt;title&gt;</strong>obama &#8211; Google News<strong>&lt;/title&gt;</strong><br />
<strong>&lt;url&gt;</strong>http://news.google.com/intl/it_it/images/news_res.gif<strong>&lt;/url&gt;</strong><br />
<strong>&lt;link&gt;</strong>http://news.google.it/<strong>&lt;/link&gt;</strong><br />
<strong>&lt;/image&gt;<br />
&lt;item&gt;<br />
&lt;title&gt;</strong>USA: OBAMA ANNUNCIA OGGI NOMINE ENERGIA E AMBIENTE &#8211; La Repubblica<strong>&lt;/title&gt;</strong><br />
<strong>&lt;link&gt;</strong>http://news.google.it/news/url?sa=T&amp;ct=it/0-0&amp;fd=R&amp;url=http://www.repubblica.it/news/ired/ultimora/esteri/rep_esteri_n_3455881.html&amp;cid=1263615727&amp;ei=92pGScbgOJmmwAGz5pzbDg&amp;usg=AFQjCNF0go8PkbUwHKLk9BaKdp8dFCS0hg<strong>&lt;/link&gt;</strong><br />
<strong>&lt;guid isPermaLink=&#8221;false&#8221;&gt;</strong>tag:news.google.com,2005:cluster=http://www.repubblica.it/news/ired/ultimora/esteri/rep_esteri_n_3455881.html<strong>&lt;/guid&gt;</strong><br />
<strong>&lt;pubDate&gt;</strong>Mon, 15 Dec 2008 07:37:02 GMT<strong>&lt;/pubDate&gt;</strong><br />
<strong>&lt;description&gt;</strong>&lt;table border=0 width= valign=top cellpadding=2 cellspacing=7&gt;&lt;tr&gt;&lt;td width=80 align=center valign=top&gt;&lt;font style=&#8221;font-size:85%;font-family:arial,sans-serif&#8221;&gt;&lt;a  href=&#8221;http://news.google.it/news/url?sa=T&amp;ct=it/0i-0&amp;fd=R&amp;url=http://www.instablog.org/ultime/35898.html&amp;cid=1263615727&amp;ei=92pGScbgOJmmwAGz5pzbDg&amp;usg=AFQjCNFqys_EXXw7Kh4xa96o32AB49JHvw&#8221;&gt;&lt;img src=http://news.google.it/news?imgefp=ve3DuBkpQiwJ&amp;imgurl=www.instablog.org/blogpress/art/ultimora/obama.jpg width=80 height=51 alt=&#8221;" border=1&gt;&lt;br&gt;&lt;font size=-2&gt;The Instablog&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;&lt;td valign=top class=j&gt;&lt;font style=&#8221;font-size:85%;font-family:arial,sans-serif&#8221;&gt;&lt;br&gt;&lt;div style=&#8221;padding-top:0.8em;&#8221;&gt;&lt;img alt=&#8221;" height=&#8221;1&#8243; width=&#8221;1&#8243;&gt;&lt;/div&gt;&lt;div class=lh&gt;&lt;a href=&#8221;http://news.google.it/news/url?sa=T&amp;ct=it/0-0&amp;fd=R&amp;url=http://www.repubblica.it/news/ired/ultimora/esteri/rep_esteri_n_3455881.html&amp;cid=1263615727&amp;ei=92pGScbgOJmmwAGz5pzbDg&amp;usg=AFQjCNF0go8PkbUwHKLk9BaKdp8dFCS0hg&#8221;&gt;USA: &lt;b&gt;OBAMA&lt;/b&gt; ANNUNCIA OGGI NOMINE ENERGIA E AMBIENTE&lt;/a&gt;&lt;br&gt;&lt;font size=-1&gt;&lt;font color=#6f6f6f&gt;La Repubblica -&lt;/font&gt; &lt;nobr&gt;6 ore fa&lt;/nobr&gt;&lt;/font&gt;&lt;br&gt;&lt;font size=-1&gt;Il presidente eletto, Barack &lt;b&gt;Obama&lt;/b&gt;, annuncera&#8217; oggi le nomine del segretario al Dipartimento Energia e dello &#8216;zar&#8217; per l&#8217;Ambiente. Gli annunci, che verranno &lt;b&gt;&#8230;&lt;/b&gt;&lt;/font&gt;&lt;br&gt;&lt;font size=-1&gt;&lt;a href=&#8221;http://news.google.it/news/url?sa=T&amp;ct=it/0-1&amp;fd=R&amp;url=http://notizie.alice.it/notizie/esteri/2008/12_dicembre/15/usa_obama_incontra_oggi_staff_difesa_e_annuncia_nomine_ambiente,17232675.html&amp;cid=1263615727&amp;ei=92pGScbgOJmmwAGz5pzbDg&amp;usg=AFQjCNHg4RwSRzsrR_uvMvcY3h-S38meRg&#8221;&gt;Usa/ &lt;b&gt;Obama&lt;/b&gt; incontra oggi staff difesa e annuncia nomine ambiente&lt;/a&gt; &lt;font size=-1 color=#6f6f6f&gt;&lt;nobr&gt;Virgilio Notizie&lt;/nobr&gt;&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;font size=-1&gt;&lt;a href=&#8221;http://news.google.it/news/url?sa=T&amp;ct=it/0-2&amp;fd=R&amp;url=http://www.agenziami.it/ultime/9415/USA%2BObama%2Bpronte%2Ble%2Bnomine%2Bper%2Bl%2Bambiente/&amp;cid=1263615727&amp;ei=92pGScbgOJmmwAGz5pzbDg&amp;usg=AFQjCNGniMEyAO4lJg5HiWJCKROXee8p_g&#8221;&gt;USA. &lt;b&gt;Obama&lt;/b&gt;, pronte le nomine per l&#8217;ambiente&lt;/a&gt; &lt;font size=-1 color=#6f6f6f&gt;&lt;nobr&gt;(ami) Agenzia Multimediale Italiana&lt;/nobr&gt;&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;font size=-1&gt;&lt;a href=&#8221;http://news.google.it/news/url?sa=T&amp;ct=it/0-3&amp;fd=R&amp;url=http://www.instablog.org/ultime/36309.html&amp;cid=1263615727&amp;ei=92pGScbgOJmmwAGz5pzbDg&amp;usg=AFQjCNF64d7ozOXQdd8tBoaRDHWfPlBfsg&#8221;&gt;&lt;b&gt;Obama&lt;/b&gt;: nomine ambiente, oggi gli annunci ufficiali&lt;/a&gt; &lt;font size=-1 color=#6f6f6f&gt;&lt;nobr&gt;The Instablog&lt;/nobr&gt;&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;font class=p size=-1&gt;&lt;a class=p href=http://news.google.it/news?hl=it&amp;ned=it&amp;ie=UTF-8&amp;ncl=1263615727&gt;&lt;nobr&gt;e altri 4 articoli simili&lt;/nobr&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;<strong>&lt;/description&gt;<br />
&lt;/item&gt;</strong><br />
[...]<br />
<strong>&lt;/channel&gt;<br />
&lt;/rss&gt;</strong></p></blockquote>
<p><span id="more-715"></span><br />
Si può formattare a dovere con un po&#8217; di XSL per pubblicare ad esempio i titoli, rendendoli cliccabili con un link diretto all&#8217;articolo (quello contenuto nel tag &lt;link&gt;).</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;ISO-8859-1&#8243;?&gt;<br />
&lt;xsl:stylesheet version=&#8221;1.0&#8243; xmlns:xsl=&#8221;http://www.w3.org/1999/XSL/Transform&#8221;&gt;<br />
&lt;xsl:template match=&#8221;/rss&#8221;&gt;<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;!&#8211;&lt;link href=&#8221;style.css&#8221; rel=&#8221;stylesheet&#8221; type=&#8221;text/css&#8221; /&gt;&#8211;&gt;</p>
<p>&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;div id=&#8221;logo&#8221; style=&#8221;border-bottom: 1px solid #ccc; margin-bottom: 5px; font-size: 1.2em; font-weight: bold;&#8221;&gt;<br />
&lt;xsl:element name=&#8221;a&#8221;&gt;<br />
&lt;xsl:attribute name=&#8221;href&#8221;&gt;<br />
&lt;xsl:value-of select=&#8221;channel/link&#8221; /&gt;<br />
&lt;/xsl:attribute&gt;<br />
&lt;xsl:value-of select=&#8221;channel/title&#8221; /&gt;<br />
&lt;/xsl:element&gt;<br />
&lt;/div&gt;<br />
&lt;div class=&#8221;Snippet&#8221;&gt;<br />
&lt;ul style=&#8221;list-style: none; margin: 0; padding:0&#8243;&gt;<br />
&lt;xsl:for-each select=&#8221;channel/item&#8221;&gt;<br />
&lt;li&gt;<br />
&lt;xsl:element name=&#8221;a&#8221;&gt;<br />
&lt;xsl:attribute name=&#8221;href&#8221;&gt;<br />
&lt;xsl:value-of select=&#8221;link&#8221;/&gt;<br />
&lt;/xsl:attribute&gt;<br />
&lt;xsl:value-of select=&#8221;title&#8221;/&gt;<br />
&lt;/xsl:element&gt;<br />
&lt;br/&gt;<br />
&lt;small style=&#8221;color: #ccc; text-align: right&#8221;&gt;&lt;xsl:value-of select=&#8221;pubDate&#8221; /&gt;&lt;/small&gt;<br />
&lt;/li&gt;<br />
&lt;/xsl:for-each&gt;<br />
&lt;/ul&gt;<br />
&lt;/div&gt;<br />
&lt;div id=&#8221;footer&#8221; style=&#8221;display: none;&#8221;&gt;<br />
&lt;xsl:value-of select=&#8221;channel/copyright&#8221; /&gt;<br />
&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
&lt;/xsl:template&gt;<br />
&lt;/xsl:stylesheet&gt;</p></blockquote>
<p>Per semplificare un po&#8217; ho aggiunto qualche regola CSS direttamente in linea, ma nulla vieta di creare un foglio esterno (ho commentato la porzione di codice che richiamerebbe un foglio di stile).<br />
L&#8217;unica vera scocciatura di Google News è che non offre un feed <em>pulito</em>, ma all&#8217;interno del tag &lt;description&gt; inserisce codice html e questo può dare problemi in fase di parsing XML.</p>
<p>Per chi volesse approfondire l&#8217;argomento un buon punto di partenza è <a title="xml - xsl" href="http://xhtml.html.it/guide/lezione/1740/trasformare-xml-introduzione-a-xsl/">questo</a>. Buona lettura.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2008/12/18/un-po-di-xsl-per-processare-un-feed-di-google-news/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Redesign del blog: attenzione sui dettagli</title>
		<link>http://www.diplod.it/2008/07/29/redesign-del-blog-attenzione-sui-dettagli/</link>
		<comments>http://www.diplod.it/2008/07/29/redesign-del-blog-attenzione-sui-dettagli/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 06:06:49 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[redesign]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=585</guid>
		<description><![CDATA[Illustrazione delle tecniche e del codice usato per costruire i calendarietti della data e il form dei commenti nel nuovo tema di diploD]]></description>
			<content:encoded><![CDATA[<p>Si torna a parlare del redesign di diploD: ero partito dalla testata, questa volta mi soffermerò su alcuni dettagli come  il form per i commenti o la data a fianco dei post.</p>
<p>Quando si mette in pratica un&#8217;azione di redesign, si pensa anche alla riprogettazione strutturale delle categorie. Ultimamente sentivo sempre più forte l&#8217;esigenza di separare gli articoli &#8220;tecnici&#8221; (passatemi il termine) da quelli prettamente personali. I contenuti di un post sulle <a title="vacanze in irlanda" href="http://www.diplod.it/2008/05/09/irish-memories/" target="_self">vacanze in irlanda</a> sono decisamente diversi da quelli di un articolo sul <a title="knowledge management" href="http://www.diplod.it/2008/06/09/knowledge-management-e-risorse-umane-due-casi-studio/" target="_self">knowledge management</a>. E&#8217; nell&#8217;utilità dei lettori far percepire questi articoli come diversi: una esigenza che deve necessariamente prendere forma nel design.</p>
<p>A parte la separazione dei feed (a cui sto lavorando), il primo passo è quello di differenziare visivamente questi contenuti. Ho quindi pensato di realizzare il calendarietto che solitamente sta a fianco del titolo in due versioni differenti: una classica e una in stile post-it.</p>
<p><img src="http://www.diplod.it/wp-content/uploads/2008/07/date.gif" alt="data" width="60" height="70" /> <img src="http://www.diplod.it/wp-content/uploads/2008/07/date-personale.gif" alt="data personale" width="60" height="70" /></p>
<p>Già con un primo colpo d&#8217;occhio sarà quindi intuibile il taglio dell&#8217;articolo (tecnico piuttosto che personale). I box grigi sotto il calendarietto servono a contenere i <strong>link all&#8217;articolo precedente e successivo</strong>.</p>
<p><span id="more-585"></span></p>
<p>Questo è lo screenshot di come appare una pagina di ricerca.</p>
<p><img src="http://www.diplod.it/wp-content/uploads/2008/07/esempio1.png" alt="esempio" width="926" height="534" /></p>
<p>Per quanto riguarda il codice css e xhtml, lo riporto di seguito con commenti a lato.</p>
<p>Partiamo dall&#8217;<strong>xhtml</strong>:<br />
<code><br />
&lt;div class="data personale"&gt;<br />
&lt;span class="d"&gt;10&lt;/span&gt; &lt;span class="m"&gt;DIC&lt;/span&gt;<br />
&lt;!--div che contiene i link agli articoli prec. e succ.--&gt;<br />
&lt;div class="scroller"&gt;<br />
&lt;!--sui link l'attributo onclick richiama il javascript jquery--&gt;<br />
&lt;a class="scroll-link scroll-up" href="#header" title="post precedente" onclick="$diplod('#header').ScrollTo(800); return false;"&gt;pre&lt;/a&gt;<br />
&lt;a class="scroll-link scroll-down" href="#footer-wrap" title="post successivo" onclick="$diplod('#footer-wrap').ScrollTo(800); return false;"&gt;suc&lt;/a&gt;<br />
&lt;/div&gt;&lt;!--fine div scroller--&gt;<br />
&lt;/div&gt;&lt;!--fine div data--&gt;<br />
</code></p>
<p>Ed ecco il <strong>CSS</strong>:<br />
<code><br />
div.data {<br />
float: left; /* la data fluttua a sinistra per lasciare spazio al titolo sulla destra */<br />
clear: both;<br />
width: 60px; /* stessa larghezza dell'immagine di sfondo*/<br />
height: 70px;<br />
margin: 0 5px 0 0;<br />
text-align: center;<br />
color: #666;<br />
padding-bottom: 0;<br />
background: transparent url(images/date.gif) no-repeat;<br />
line-height: 1.3em;<br />
}<br />
div.personale { /*classe per riconoscere gli articoli di determinate categorie */<br />
background: transparent url(images/date-personale.gif) no-repeat;<br />
}<br />
div.data span.d { /*stili per il giorno */<br />
display: block;<br />
height: 16px;<br />
font-size: 150%;<br />
font-weight: bold;<br />
color: #666;<br />
padding-top: 20px;<br />
background: transparent;<br />
}<br />
div.data span.m { /*stili per il mese */<br />
text-transform: uppercase;<br />
font-size: 90%;<br />
padding-top: 5px;<br />
height: 15px;<br />
}<br />
</code></p>
<p>Veniamo ora all&#8217;<strong>implementazione in wordpress</strong>, che forse è la cosa più interessante.<br />
<code><br />
&lt;?php $postcount=0;   ?&gt;<br />
&lt;?php if (have_posts()) : ?&gt;<br />
&lt;?php while (have_posts()) : the_post(); ?&gt;<br />
&lt;?php $postcount=$postcount+1; ?&gt;<br />
&lt;div id="scroll-&lt;?php echo $postcount; ?&gt;" class="data&lt;?php if(in_category(260) || in_category(14) || in_category(1)) { echo(' personale'); } ?&gt;"&gt;&lt;span class="d"&gt;&lt;?php the_time('j') ?&gt;&lt;/span&gt; &lt;span class="m"&gt;&lt;?php the_time('M') ?&gt;&lt;/span&gt;<br />
&lt;div class="scroller"&gt;<br />
&lt;?php if ($postcount!=1) { ?&gt;<br />
&lt;a class="scroll-link scroll-up" href="#scroll-&lt;?php echo ($postcount-1); ?&gt;" title="post precedente" onclick="$diplod('#scroll-&lt;?php echo ($postcount-1); ?&gt;').ScrollTo(800); return false;"&gt;pre&lt;/a&gt;<br />
&lt;?php } ?&gt;<br />
&lt;?php if ($postcount!=5) { ?&gt;<br />
&lt;a class="scroll-link scroll-down" href="#scroll-&lt;?php echo ($postcount+1); ?&gt;" title="post successivo" onclick="$diplod('#scroll-&lt;?php echo ($postcount+1); ?&gt;').ScrollTo(800); return false;"&gt;suc&lt;/a&gt;<br />
&lt;?php } ?&gt;<br />
&lt;/div&gt;&lt;/div&gt;<br />
&lt;h1&gt;&lt;a href="&lt;?php the_permalink() ?&gt;" rel="bookmark" title="Permanent Link a &lt;?php the_title(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h1&gt;<br />
[..]<br />
</code></p>
<p><strong>Cosa fa il codice? </strong></p>
<p>Con il tag di wordpress <a title="in_category() wordpress tag" href="http://codex.wordpress.org/Template_Tags/in_category" target="_blank">in_category()</a> ci si chiede se il post appartiene a determinate categorie (in questo caso quelle con ID 1, 260 o 14), se è così si aggiunge la classe &#8220;personale&#8221; al <em>div</em> della data. A questo <em>div</em> viene assegnato poi un <em>id</em> univoco del tipo &#8220;scroll-2&#8243;, dove 2 è il valore del contatore <em>$postcount</em>, inizializzato a zero fuori dal <a title="The Loop wordpress" href="http://codex.wordpress.org/The_Loop" target="_blank">loop</a> e incrementato di una unità dentro al ciclo.</p>
<p>Gli <em>if</em> sui link servono per evitare di pubblicare il link &#8220;precedente&#8221; sul primo articolo o il link &#8220;successivo&#8221; sull&#8217;ultimo articolo. In questo caso ho scelto di pubblicare solo 5 articoli per pagina, quindi il controllo viene fatto su <em>$postcount</em> diverso da 1 e da 5.<br />
Infine viene pubblicato il titolo del post con relativo link.</p>
<p>Veniamo ora al <strong>form dei commenti</strong>: volevo qualcosa di originale ma non troppo pacchiano. Qualcosa di insolito ma al tempo stesso funzionale. A parte le icone (classiche <a title="famfam" href="http://www.famfamfam.com/lab/icons/silk/" target="_blank">famfam</a>), che ormai reputo insostituibili, ho pensato di mettere delle delicate sfumature sui campi di input. <strong>Che ne pensate?</strong> Sono aperte le critiche..</p>
<p>Questa è la <a title="diplod demo form" href="http://lab.diplod.it/diplod/anteprima-form.html" target="_blank">demo con il risultato</a>. (ma potete vederlo anche sotto)</p>
<p>Gli utenti non IE (Internet Explorer) potranno notare come selezionando il campo questo cambia colore sfumando verso il grigio.<br />
Utilizzando una tecnica ormai nota detta <a title="CSS Fast Rollover" href="http://www.wellstyled.com/css-nopreload-rollovers.html" target="_blank">CSS Fast Rollover</a>, ho replicato l&#8217;effetto sui campi input del form. L&#8217;idea è semplicissima: mettere come <em>background</em> una immagine che contiene i diversi sfondi e cambiare la posizione dello sfondo con le pseudo classi css (<em>:hover</em>, <em>:active</em>). Nell&#8217;articolo di Wellstyled viene descritta la tecnica per i link, ma si può impiegare anche per la pseudo classe <em>:focus</em> degli elementi input del form.<br />
Il vantaggio è che non viene caricata nessun&#8217;altra immagine quando si seleziona il campo di <em>input</em>, ma semplicemente viene traslata quella caricata in precedenza, in questo modo l&#8217;utente non avverte un tempo di attesa e l&#8217;efetto risultante è molto più fluido. Questo vale per i campi di <em>input</em> che hanno altezza fissa, mentre per la <em>textarea</em> è necessario caricare una seconda immagine e si avverte un leggero tempo di attesa.</p>
<p>Questa è l&#8217;immagine che ho utilizzato per il campo di input.</p>
<p><img src="http://www.diplod.it/wp-content/uploads/2008/07/input-bg.gif" alt="input-bg" width="30" height="60" /></p>
<p>Si tratta di una immagine &#8220;doppia&#8221;. Sul <em>:focus</em> del campo <em>input</em> ho semplicemente cambiato le coordinate di posizionamento dello sfondo, traslando l&#8217;immagine di 30px. Ecco il codice css:<br />
<code><br />
form.comment-form input {<br />
padding: 5px;<br />
margin: 0;<br />
border: none;<br />
background: #fff url(images/input-bg.gif) no-repeat top right; /*immagine allineata in alto */<br />
}<br />
form.comment-form input:focus, form.comment-form input:active {<br />
background: #f1f9ff url(images/input-bg.gif) no-repeat bottom right; /*immagine allineata in basso*/<br />
color: #333;<br />
}<br />
</code></p>
<p>Unico neo: su Safari l&#8217;evidenziazione azzurrina dei campi attivi fa svanire l&#8217;effetto sfumatura, ma rende bene ugualmente.</p>
<p><strong>PS</strong>: se sei arrivato fin qui a leggere, probabilmente <strong>non sei in vacanza</strong>. Un saluto dalla Sicilia (o da Pompei, Caserta, Orvieto.. non so bene dove si fermerà la macchina).. ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2008/07/29/redesign-del-blog-attenzione-sui-dettagli/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>diploD si rifà il look</title>
		<link>http://www.diplod.it/2008/07/25/diplod-si-rifa-il-look/</link>
		<comments>http://www.diplod.it/2008/07/25/diplod-si-rifa-il-look/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 08:06:18 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[diplod]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://www.diplod.it/?p=604</guid>
		<description><![CDATA[Forse i più attenti l&#8217;avranno già notato: diploD si è rifatto le vesti.. Il template lo avevo in cantiere ormai da diversi mesi, ma per pigrizia non avevo mai fatto il cambio. Eccolo. Resta sempre tutto liquido, ma i dettagli sono cambiati, chi ha l&#8217;occhio più abituato noterà le differenze. A parte l&#8217;integrazione dei Gravatars, [...]]]></description>
			<content:encoded><![CDATA[<p>Forse i più attenti l&#8217;avranno già notato: <strong>diploD si è rifatto le vesti</strong>..<br />
Il template lo avevo in cantiere ormai da diversi mesi, ma per pigrizia non avevo mai fatto il cambio. Eccolo.</p>
<p>Resta sempre tutto liquido, ma i dettagli sono cambiati, chi ha l&#8217;occhio più abituato noterà le differenze.<br />
A parte l&#8217;integrazione dei Gravatars, nei prossimi giorni illustrerò tecnicamente alcune soluzioni adottate, per continuare il <a title="redesign diploD" href="http://www.diplod.it/2008/06/11/redesign-del-blog-si-parte-dalla-testata-css-xhtml-e-video/" target="_self">lavoro iniziato a suo tempo</a>.</p>
<p>Molti meno javascript inutili, per agevolare il caricamento, e una ristrutturazione del layout delle pagine singole. Anche la struttura resta simile, sia il CSS che l&#8217;XHTML sono stati riscritti da zero. Validazione W3C come garanzia e qualche bottoncino per l&#8217;accessibilità in alto a destra, anche se su quest&#8217;ultimo versante sono tante le cose che ancora devo migliorare.</p>
<p>Sempre nei prossimi giorni (mesi, ndr) tutti i <a title="temi gratis wordpress italiano" href="http://www.diplod.it/templates-open-source/" target="_self">template gratuiti per wordpress</a> che ho rilasciato in passato verranno sistemati e aggiornati per la versione 2.6 secondo gli <a title="repository temi wordpress" href="http://www.wordpress-it.it/2008/07/18/temi-centralizzati-su-wordpressorg/" target="_blank">standard dettati dal team di wordpress</a>, per poi essere pubblicati sul repository ufficiale dei temi. Tempo di rinnovamento.</p>
<p><strong>NB</strong>: se in questi giorni incontrate qualche problemino nella navigazione segnalatelo nei commenti. I test che ho fatto sono tanti (FireFox, IE 7, Opera, Safari..) ma può sempre scappare qualcosina. Per quei testoni che ancora usano IE6, non resta che <a href="http://www.italianwebdesign.it/per-cancellare-ie6-dalla-faccia-della-terra/" target="_blank">ricordare loro come fare</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2008/07/25/diplod-si-rifa-il-look/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Tecniche interessanti tra CSS e CSS3</title>
		<link>http://www.diplod.it/2008/07/01/tecniche-interessanti-tra-css-e-css3/</link>
		<comments>http://www.diplod.it/2008/07/01/tecniche-interessanti-tra-css-e-css3/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 12:34:28 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[microformat]]></category>

		<guid isPermaLink="false">http://www.diplod.it/2008/07/01/tecniche-interessanti-tra-css-e-css3/</guid>
		<description><![CDATA[Tra riviste e blog che leggo, trovo sempre più articoli interessanti: descrivono tecniche e spunti che vorrei utilizzare nel redesign di questo blog e che in generale mi sto appuntando per usi futuri. Una piccola lista: Thumbnail ridimensionabili con overflow: si tratta di una semplice tecnica che sfrutta la proprietà css overflow per allargare una miniatura di [...]]]></description>
			<content:encoded><![CDATA[<p>Tra riviste e blog che leggo, trovo sempre più <strong>articoli interessanti</strong>: descrivono tecniche e spunti che vorrei utilizzare nel redesign di questo blog e che in generale mi sto appuntando per usi futuri.</p>
<p>Una piccola lista:</p>
<ol>
<li><a title="html.it - thumbnail ridimensionabili" href="http://css.html.it/articoli/leggi/2685/thumbnail-ridimensionabili-con-la-proprieta-overfl/" target="_blank"><strong>Thumbnail ridimensionabili con overflow</strong></a>: si tratta di una semplice tecnica che sfrutta la proprietà css <em>overflow</em> per allargare una miniatura di una immagine al passaggio del mouse sopra di essa.<br />
Esistono innumerevoli gallerie grafiche realizzate in javascript, ma stavolta non si tratta di javascript, nè di galleria. E&#8217; un metodo decisamente semplice e accattivante per presentare una serie di immagini attraverso miniature. Credo proprio che lo userò per il <a title="portfolio" href="http://www.diplod.it/portfolio/">portfolio</a>.</li>
<li><a title="Iconize" href="http://pooliestudios.com/projects/iconize/"><strong>Icone sui link esterni e sui file</strong></a>: la tecnica proposta da Alexander Kaiser affianca una piccola icona ai link che puntano a file sfruttando i selettori css; l&#8217;avevo già utilizzata a suo tempo per <a title="Nerino" href="http://www.diplod.it/2007/12/14/nerino-20-template-per-wordpress-gratuito/">Nerino</a> e potrebbe tornare utile.<br />
In pratica tutti i link a un file pdf vengono riconosciuti in questo modo:<br />
<code><br />
a[href$='.pdf'] {<br />
   padding-right: 18px;<br />
   background: transparent url(icona_pdf.gif) no-repeat center right;<br />
}<br />
</code><br />
Il simbolo <em>$</em> permette di individuare se alla fine dell&#8217;attributo <em>href</em> dell&#8217;elemento <em>a</em> esiste la stringa <em>.pdf</em>. Ovviamente lo stesso principio si può estendere a tutti gli altri tipi di file nonchè a siti esterni, ad esempio utilizzando l&#8217;operatore <em>^</em> per riconoscere un link esterno (a patto che tutti i link interni abbiano indirizzo relativo):<br />
<code><br />
a[href^='http'] {<br />
   padding-right: 18px;<br />
   background: transparent url(icona_esterna.gif) no-repeat center right;<br />
}</code></li>
<li><strong>Iniziare ad usare CSS3</strong>: è di oggi la segnalazione su <a title="edit - css3" href="http://blog.html.it/archivi/2008/07/01/usare-oggi-i-css3.php" target="_blank">edit</a> dell&#8217;articolo di Eric Wendeling che spiega <a title="selettori css3" href="http://eriwen.com/css/css-indirect-adjacent-combinator/" target="_blank">l&#8217;utilizzo dei selettori + e ~</a>, ora supportati dai principali browser  di ultima generazione. Anche in questo caso, li utilizzerò nel nuovo design.<br />
Sempre a proposito di CSS3, c&#8217;è un interessante articolo dal titolo un po&#8217; spavaldo: &#8220;<a title="CSS3" href="http://www.sitepoint.com/article/tomorrows-css-today" target="_blank">Tomorrow&#8217;s CSS Today: 8 Tecniques they don&#8217;t want you to know</a>&#8220;. Consiglio di dare un&#8217;occhiata per capire come si possono usare i nuovi costrutti.</li>
<li><a title="immagine di sfondo ridimensionabile" href="http://css-tricks.com/how-to-resizeable-background-image/" target="_blank"><strong>Immagine di sfondo ridimensionabile</strong></a>: questo articolo affronta un problema all&#8217;apparenza banale e spiega come piazzare una immagine di sfondo in modo tale che questa si ridimensioni assieme alla finestra del browser. A parte le tecniche che sfruttano javascript, ce n&#8217;è una che si basa solo su CSS. Non mi convince a pieno, perchè utilizza un elemento <em>img</em> e in alcuni casi rende male su IE, ma può essere un buon punto di partenza e di certo una valida lettura.</li>
<li><strong>Dare stile ai microformats con CSS</strong>: il <a title="microformat" href="http://it.wikipedia.org/wiki/Microformat" target="_blank">microformat</a> è un markup xhtml semantico, in grado di offrire quindi informazioni aggiuntive circa i dati che racchiude.<br />
Saranno utilizzati nella futura pagina contatti di questo blog (esistono anche comodi <a title="microformat generator" href="http://microformats.org/code-tools/" target="_blank">generatori</a> di microformat, per chi fosse interessato); già da tempo qualcuno ha pensato di <a title="highlight microformat" href="http://www.hicksdesign.co.uk/journal/highlight-microformats-with-css" target="_blank">dargli stile via CSS</a>, e qualcunaltro ha pensato di creare un <a title="microformat css template" href="http://vanirsystems.com/danielsblog/2008/01/31/microformats-css-and-amaya/" target="_blank">template css con tutte le classi relative ai microformat</a>, molto comodo per dare stile alle proprie carte di identità xhtml.</li>
<li><strong>[update]</strong> <strong><a title="menu espandibile con css e js" href="http://css.html.it/articoli/leggi/2699/un-menu-in-puro-css-piu-usabile-tramite-javascript/" target="_blank">Menu espandibili con CSS</a>, e javascript per renderli usabili</strong>: creare menù di navigazione espandibili in solo css (sfruttando la proprietà :hover) è una soluzione perfetta in termini di accessibilità. Ma può risultare poco usabile: appena il mouse esce dall&#8217;area del link il sottomenù sparisce. Questa tecnica propone l&#8217;utilizzo di un javascript non intrusivo per ritardarne la scomparsa.</li>
</ol>
<p><strong>Conoscete altre chicche o finezze del caso?</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2008/07/01/tecniche-interessanti-tra-css-e-css3/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Redesign del blog: si parte dalla testata. Css, xhtml e video.</title>
		<link>http://www.diplod.it/2008/06/11/redesign-del-blog-si-parte-dalla-testata-css-xhtml-e-video/</link>
		<comments>http://www.diplod.it/2008/06/11/redesign-del-blog-si-parte-dalla-testata-css-xhtml-e-video/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 13:49:49 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[diplod]]></category>
		<category><![CDATA[image replacement]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[redesign]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://www.diplod.it/2008/06/11/redesign-del-blog-si-parte-dalla-testata-css-xhtml-e-video/</guid>
		<description><![CDATA[Come annunciato, in questi giorni sto lavorando al rifacimento del tema di questo blog per renderlo più snello e robusto. Sono partito dalla testata. Questa, in anteprima mondiale, è la bozza della nuova grafica. Ci sarà il classico logo, una nuvoletta per i tag (i seguito capiremo il motivo di questa scelta), un box di [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.diplod.it/2008/05/28/redesign-di-un-blog-si-inizia-un-nuovo-template/" title="redesign blog" target="_blank">Come annunciato</a>, in questi giorni sto lavorando al rifacimento del tema di questo blog per renderlo più <strong>snello</strong> e <strong>robusto</strong>.  Sono partito dalla <strong>testata</strong>. Questa, in anteprima mondiale, è la bozza della nuova grafica.</p>
<p><img src="http://www.diplod.it/wp-content/uploads/2008/06/header.png" alt="Testata diploD" /></p>
<p>Ci sarà il classico logo, una nuvoletta per i tag (i seguito capiremo il motivo di questa scelta), un box di destra per contenere l&#8217;icona dei feed, il link alla versione inglese e il box di ricerca; in angolo qualche utile tasto per il ridimensionamento del testo. diploD è nato liquido, e liquido deve restare. Per <strong>tradurre la bozza grafica in xhtml+css</strong> è quindi necessario spezzare l&#8217;immagine in tante sotto-immagini, da utilizzare come sfondo per i vari &#8216;div&#8217; che andremo a creare. La tecnica è piuttosto banale, ma nel caso di un <a href="http://css.html.it/articoli/leggi/466/layout-liquido-a-2-colonne-con-i-css/" title="layout liquido" target="_blank">layout liquido</a> è necessario fare qualche considerazione.<br />
<strong>Update</strong>: Per chi è impaziente di vedere il risultato finale, <a href="http://lab.diplod.it/diplod/testata.html">eccolo qui</a>.</p>
<p><span id="more-573"></span></p>
<p>Il box di destra, così come il menù, devono <strong>adattarsi alle dimensioni della pagina</strong>. Non è quindi possibile creare un&#8217;unica immagine di sfondo. Ho pensato di suddividere lo spazio in questo modo:</p>
<p><img src="http://www.diplod.it/wp-content/uploads/2008/06/header-div.png" alt="Header div" /></p>
<p>Ad ogni oggetto sono quindi state applicate come sfondo <strong>parti dell&#8217;immagine globale</strong>, che assieme rendono il tutto adattabile a diverse risoluzioni.</p>
<p>E&#8217; il caso di fare qualche <strong>puntualizzazione</strong>:</p>
<ol>
<li>Il logo è stata riprodotto utilizzando una tecnica di <a href="http://css.html.it/articoli/leggi/2030/image-replacement-le-3-tecniche-migliori/3/" title="image replacement css" target="_blank">image replacement</a> con css semplicissima. Il metodo è quello <a href="http://mondaybynoon.com/2006/10/23/my-latest-take-on-image-replacement/" title="image replacement perfetto" target="_blank">presentato da Jon Christopher</a>: si tratta di rendere il testo dello stesso colore dello sfondo e impostare la larghezza del titolo in modo da tale da far apparire tutta l&#8217;immagine di sfondo. Quando è applicabile, è la <strong>tecnica che preferisco</strong> su tutte: non richiede <strong>nessun markup aggiuntivo</strong> e funziona anche per chi ha le <strong>immagini disabilitate</strong>.<br />
Guardando il codice qui sotto, si può vedere come il titolo h1 (e il relativo link) siano presenti nel markup, ma non appaiono come testo.</li>
<li>Ho scelto di inserire la <strong>nuvola dei tag</strong> nella testata perchè ritengo sia importante far percepire ai bot dei motori di ricerca qualche <strong>parola chiave ad inizio pagina</strong>. Non so bene quanto sarà proficua la scelta, ma voglio provare. Preferisco qualche parola scritta nel codice che in una immagine neutra.</li>
<li>Nel div &#8220;text-tools&#8221; di destra ho inserito i classici bottoni per il ridimensionamento del testo. Sono quei piccoli accorgimenti per facilitare la lettura e migliorare l&#8217;<strong>accessibilità</strong> del sito. Mancavano..</li>
</ol>
<p>Ecco come si presenta il codice xhtml:</p>
<p><code><br />
&lt;div id="header"&gt;<br />
&lt;div id="header-content"&gt;<br />
&lt;h1 id="logo-text"&gt;&lt;a href=#" title="home"&gt;diploD&lt;/a&gt;&lt;/h1&gt;<br />
&lt;h2 id="slogan"&gt;by Davide Del Monte&lt;/h2&gt;<br/><br />
&lt;div id="nav"&gt;<br />
&lt;ul&gt;<br />
&lt;li&gt;&lt;a href="index.html"&gt;Archivio&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href="index.html"&gt;Contatti&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href="index.html"&gt;Servizi&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href="index.html"&gt;Foto&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a href="index.html"&gt;Templates&lt;/a&gt;&lt;/li&gt;<br />
&lt;/ul&gt;<br />
&lt;/div&gt;<br/><br />
&lt;div id="header-tags"&gt;<br />
&lt;span class="tag1"&gt;Webdesign&lt;/span&gt; &lt;span class="tag4"&gt;reti&lt;/span&gt; &lt;span class="tag3"&gt;Ingegneria&lt;/span&gt; &lt;span class="tag2"&gt;Project Management&lt;/span&gt; &lt;span class="tag5"&gt;e-business&lt;/span&gt; &lt;span class="tag3"&gt;Ambiente&lt;/span&gt; &lt;span class="tag4"&gt;tecnologie&lt;/span&gt; &lt;span class="tag2"&gt;Web&lt;/span&gt; &lt;span class="tag5"&gt;Tortelli di Zucca&lt;/span&gt;<br />
&lt;/div&gt;<br/><br />
&lt;div id="header-right"&gt;<br />
&lt;div id="feed-icon"&gt;&lt;a href="#" title="RSS Feed"&gt;&lt;img src="images/feed.gif" class="no-format" alt="Feed" /&gt;&lt;/a&gt;&lt;/div&gt;<br />
&lt;div id="feed-box"&gt;« &lt;a href="#" title="RSS Feed"&gt;Segui questo blog via feed&lt;/a&gt;.&lt;br/&gt;&lt;small&gt;Non ti interessano articoli personali o non sai cosa sono i feed? &lt;a href="#" title="come usare i feed di diploD"&gt;vedi qui&lt;/a&gt;&lt;/small&gt; »&lt;/div&gt;<br />
&lt;div id="english-flag"&gt;&lt;a href="#" title="english info"&gt;&lt;img class="no-format" src="images/english-flag.gif" alt="en"/&gt;&lt;/a&gt;&lt;/div&gt;<br />
&lt;form action="#" method="get" class="searchform"&gt;<br />
&lt;input id="stringa" type="text" name="s" class="textbox" /&gt;<br />
&lt;input name="search" class="button" value="Cerca.." type="submit" /&gt;<br />
&lt;/form&gt;<br />
&lt;/div&gt;<br/><br />
&lt;div id="text-tools"&gt;<br />
&lt;a href="#" title="aumenta dimensione del testo" onclick="changeFontSize(1);return false;"&gt;&lt;img src="images/abigger.gif" alt="Text Bigger" class="no-format" /&gt;&lt;/a&gt;&lt;a href="#" title="diminuisci dimensione del testo" onclick="changeFontSize(-1);return false;"&gt;&lt;img src="images/asmaller.gif" alt="Text Smaller" class="no-format" /&gt;&lt;/a&gt;&lt;br/&gt;<br />
&lt;a href="#" title="resetta dimensione del testo" onclick="revertStyles(); return false;"&gt;&lt;img src="images/areset.gif" alt="Reset" class="no-format" /&gt;&lt;/a&gt;<br />
&lt;/div&gt;<br/><br />
&lt;/div&gt;&lt;/div&gt;<br />
</code></p>
<p>Questo è inveceil <strong>codice css</strong> che regola i blocchi e gli elementi sopra. Come si nota ogni oggetto ha una immagine di sfondo diversa, che altro non è se non una porzione dell&#8217;immagine generale.<br />
Le dimensioni dei testi sono espresse in px, il motivo è che in questo caso è necessario controllare al millimetro la disposizione del testo, soprattutto per quanto riguarda tag-cloud e titolo, perchè si tratta di ricomporre una testata grafica.</p>
<p><code><br />
/* header */<br />
#header {<br />
height: 201px;<br />
text-align: left;<br />
background: #000 url(images/bg.gif) repeat-x top left;<br />
}<br />
#header-content {<br />
position: relative;<br />
margin: 0 auto;<br />
padding: 0;<br />
height: 201px;<br />
background: transparent url(images/header-right-bg.gif) no-repeat top right;<br />
overflow: hidden;<br />
}<br />
#header-content h1, #header-content h2 {<br />
margin: 0;<br />
padding: 0;<br />
}<br />
#header-content h1#logo-text a {<br />
position: absolute;<br />
margin: 0; padding: 0;<br />
font: bold 10px 'Trebuchet MS', Tahoma, Arial, Sans-serif;<br />
letter-spacing: -1px;<br />
text-decoration: none;<br />
text-transform: uppercase;<br />
text-align: right;<br />
color: #272727;<br />
background: transparent url(images/logo.gif) no-repeat top left;<br />
width: 250px;<br />
height: 150px;<br />
/* posizione del titolo principale */<br />
top: 0; left: 0;<br />
}<br />
#header-content h2#slogan {<br />
position: absolute;<br />
height: 25px;<br />
font: bold 10px 'Trebuchet Ms', Sans-serif;<br />
text-transform: none;<br />
margin: 0; padding: 0;<br />
color: #272727;<br />
/* posizione dello slogan */<br />
top: 15; left: 260px;<br />
}<br />
#header-tags {<br />
position: absolute;<br />
width: 200px;<br />
height: 90px;<br />
font: bold 12px 'Trebuchet Ms', Sans-serif;<br />
text-transform: none;<br />
margin: 0; padding: 30px 25px;<br />
color: #968e81;<br />
background: transparent url(images/header-tag-bg.gif) no-repeat top left;<br />
overflow: hidden;<br />
/* posizione dello slogan */<br />
top: 0px; left: 30%;<br />
}<br />
#header-tags .tag1 { font-size: 18px; }<br />
#header-tags .tag2 { font-size: 16px; }<br />
#header-tags .tag3 { font-size: 14px; }<br />
#header-tags .tag4 { font-size: 12px; }<br />
#header-tags .tag5 { font-size: 10px; }<br />
#header-tags .tag1:hover, #header-tags .tag2:hover, #header-tags .tag3:hover, #header-tags .tag4:hover, #header-tags .tag5:hover { color: #02AFE5; }<br />
#header-right {<br />
position: absolute;<br />
width: 30%;<br />
height: 120px;<br />
font: bold 12px 'Trebuchet Ms', Sans-serif;<br />
text-transform: none;<br />
margin: 0; padding: 0;<br />
background-color: #dedede;<br />
border-top: 1px solid #fff;<br />
border-left: 1px solid #fff;<br />
border-right: 1px solid #fff;<br />
overflow: hidden;<br />
/* posizione del box di destra */<br />
top: 80px; right: 5%;<br />
}<br />
/* feed icon */<br />
#feed-icon {<br />
position: absolute;<br />
background: transparent;<br />
top: 5px;<br />
left: 5px;<br />
}<br />
#feed-box {<br />
position: absolute;<br />
width: 60%;<br />
height: 50px;<br />
top: 10px;<br />
left: 75px;<br />
overflow: hidden;<br />
}<br />
/* text-tools e english flag*/<br />
#text-tools {<br />
position: absolute;<br />
top: 158px;<br />
right: 0.7%;<br />
}<br />
#english-flag {<br />
position: absolute;<br />
top: 0px;<br />
right: 0px;<br />
}<br />
/* Navigation */<br />
#nav {<br />
position: absolute;<br />
width: 70%;<br />
height: 40px;<br />
margin: 0 auto;<br />
padding: 0;<br />
overflow: hidden;<br />
/*posizione del menu */<br />
top: 157px;    left: 5%;<br />
}<br />
#nav ul {<br />
float: left;<br />
list-style: none;<br />
margin: 0; padding: 0;<br />
text-align: center;<br />
}<br />
#nav ul li {<br />
float: left;<br />
margin: 0; padding: 0;<br />
}<br />
#nav ul li a {<br />
display: block;<br />
float: left;<br />
width: auto;<br />
margin: 0 3px;<br />
padding: 8px 12px;<br />
color: #333;<br />
font: bold 14px "Trebuchet MS", Helvetica, Arial, Geneva, sans-serif;<br />
border: 1px solid #C3FE2E;<br />
text-decoration: none;<br />
font-variant: small-caps;<br />
letter-spacing: 1px;<br />
background: transparent url(images/nav-bg.gif) repeat-x bottom left;<br />
}<br />
#nav ul li a:hover,<br />
#nav ul li a:active {<br />
color: #fff;<br />
background: transparent url(images/nav-orange.png) repeat-x bottom left;<br />
border: 1px solid #fff;<br />
}<br />
</code></p>
<p>Per chi volesse approfondire la faccenda della <strong>suddivisione con photoshop dell&#8217;immagine principale</strong>, ecco il <strong>video</strong> che presenta tutte le immagine ricavate. Prendetelo come un esperimento, avevo voglia di fare qualche prova con gli screen cast. Il risultato può essere noioso (anzi forse lo è), ma si capisce bene come è stata suddivisa l&#8217;immagine in modo da rendere il caricamento veloce e la visualizzazione della pagina corretta. Buona visione.</p>
<p>Se poi qualcuno avesse <strong>suggerimenti</strong> o <strong>consigli</strong>, <strong>ben vengano</strong>.</p>
<p><embed src="http://www.diplod.it/wp-content/themes/diplod/mediaplayer.swf"width="500"height="380"allowscriptaccess="always"allowfullscreen="true"flashvars="height=380&#038;width=500&#038;file=http://www.diplod.it/wp-content/uploads/2008/06/video.flv"/></p>
<p><strong>UPDATE: nei commenti Angelo ha fatto notare che servirebbe una demo per vedere con mano come esce la pagina sul browser, così ho caricato tutto per renderlo visibile: <a href="http://lab.diplod.it/diplod/testata.html">ecco qui la demo</a>.<br />
Commenti e suggerimenti continuano ad essere ben accetti!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2008/06/11/redesign-del-blog-si-parte-dalla-testata-css-xhtml-e-video/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Form con CSS, secondo me</title>
		<link>http://www.diplod.it/2007/11/12/form-con-css-secondo-me/</link>
		<comments>http://www.diplod.it/2007/11/12/form-con-css-secondo-me/#comments</comments>
		<pubDate>Mon, 12 Nov 2007 01:13:02 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Ajax e Javascript]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://www.diplod.it/2007/11/12/form-con-css-secondo-me/</guid>
		<description><![CDATA[Form con CSS (e talvolta javascript) ne ho visti di tutti i tipi, ma non ho trovato nessuno che mi soddisfacesse in pieno. Me ne serviva uno, così l&#8217;ho realizzato prendendo spunto qua e là. Il punto di partenza è l&#8217;articolo su A List Apart, per la costruzione di form accessibili e semanticamente corretti a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center"><img src="http://www.diplod.it/wp-content/uploads/2007/11/form.gif" alt="Form con CSS" /></p>
<p><strong>Form</strong> con <strong>CSS</strong> (e talvolta javascript) ne ho visti di tutti i tipi, ma non ho trovato nessuno che mi soddisfacesse in pieno.<br />
Me ne serviva uno, così l&#8217;ho realizzato prendendo spunto qua e là. Il punto di partenza è l&#8217;articolo su <a href="http://www.alistapart.com/articles/prettyaccessibleforms" title="Prettier Accesible Form" target="_blank">A List Apart</a>, per la costruzione di <strong>form accessibili</strong> e <strong>semanticamente corretti</strong> a livello di codice. Va bene essere pignoli, ma scomodare <a href="http://jquery.com/" title="JQuery - javascript library" target="_blank">JQuery</a> e avere qualche bug di visualizzazione su Mozilla mi sembra eccessivo (si veda a tal proposito lo <a href="http://css.html.it/articoli/leggi/1929/form-con-i-css/" title="HTML.it form" target="_blank">stesso form su html.it</a>). Preferisco la semplicità, pur rimandendo nella sfera del &#8220;semanticamente corretto&#8221; ed essere pienamente &#8220;acessibile&#8221;.</p>
<p><a href="http://www.diplod.it/dev/form/form.html" title="Form con CSS" target="_blank">Vediamo subito il risultato</a>, per poi analizzarlo in dettaglio.</p>
<p><span id="more-411"></span></p>
<p>Ci sono <strong>effetti sulle caselle di input </strong>che aiutano l&#8217;utente nella compilazione, rendendo verdi i bordi dei box, in caso di dati corretti, oppure rossi al contrario. Appaiono inoltre le <strong>istruzioni</strong> sulla destra che diventano visibili semplicemente sfruttando l&#8217;effetto  &#8220;hover&#8221; sugli elementi della lista (cambiando il colore del testo da bianco a scuro). Tale tecnica è molto semplice, ma non è supportata da IE6: poco male, se pensiamo che comunque sono dati aggiuntivi e non fondamentali. Mentre chi non ha CSS e javascript attivi riesce in ogni caso a vederle.</p>
<p><img src="http://www.diplod.it/wp-content/uploads/2007/11/form-effetti.gif" alt="Form effetti" /></p>
<p>La <strong>validazione</strong> è stata realizzata utilizzando l&#8217;utilissimo script <a href="http://www.livevalidation.com/" title="live validation" target="_blank">Live Validation</a>.</p>
<p><img src="http://www.diplod.it/wp-content/uploads/2007/11/form-validato.gif" alt="Form validato" /></p>
<p>La <strong>resa cross-browser</strong> è buona, questo screenshot ad esempio rappresenta la pagina caricata sullo schermo di un palmare.</p>
<p><img src="http://www.diplod.it/wp-content/uploads/2007/11/form-palmare.gif" alt="Form palmare" /></p>
<p>Anche <strong>senza CSS e javascript</strong> attivi il form risulta pienamente accessibile e di facile lettura. Ecco come appare a quegli utenti che non hanno nulla di attivo.</p>
<p><img src="http://www.diplod.it/wp-content/uploads/2007/11/form-nocssjava.gif" alt="Form senza CSS e javascript" /></p>
<h4>Il codice HTML</h4>
<p>Prendendo spunto da A List Apart, il codice HTML non deve avere tabelle, ma la solita lista &lt;ul&gt; dove poi inseriremo i vari box di input.</p>
<p>Gli unici accorgimenti sono l&#8217;inserimento delle istruzioni all&#8217;interno di una classe &#8220;help&#8221; e la specifica della classe &#8220;option&#8221; per le etichette delle caselline da spuntare.</p>
<p><code><br />
&lt;form action="#"&gt;<br />
&lt;fieldset&gt;<br />
&lt;legend&gt;I campi marcati con * sono obbligatori&lt;/legend&gt;<br />
&lt;ul&gt;<br />
&lt;li&gt;<br />
&lt;label&gt;Nome*&lt;/label&gt;<br />
&lt;span class="help"&gt;[Scrivi qui il tuo nome]&lt;/span&gt;<br />
&lt;input name="ddnome" id="ddnome" value="" type="text" size="30" /&gt;<br />
&lt;/li&gt;<br />
&lt;li&gt;<br />
&lt;label&gt;Cognome*&lt;/label&gt;<br />
&lt;span class="help"&gt;[Scrivi qui il tuo cognome]&lt;/span&gt;<br />
&lt;input name="ddcognome" id="ddcognome" value="" type="text" size="30" /&gt;<br />
&lt;/li&gt;<br />
&lt;li&gt;<br />
&lt;label&gt;Indirizzo&lt;/label&gt;<br />
&lt;span class="help"&gt;[Scrivi qui il tuo indirizzo]&lt;/span&gt;<br />
&lt;input name="ddindirizzo" id="ddindirizzo" value="" type="text" size="30" /&gt;<br />
&lt;/li&gt;<br />
&lt;li&gt;<br />
&lt;label&gt;Città*&lt;/label&gt;<br />
&lt;span class="help"&gt;[Scrivi qui la tua città]&lt;/span&gt;<br />
&lt;input name="ddcitta" id="ddcitta" value="" type="text" size="30" /&gt;<br />
&lt;/li&gt;<br />
&lt;li&gt;<br />
&lt;label&gt;Provincia*&lt;/label&gt;<br />
&lt;span class="help"&gt;[Scrivi qui la sigla della tua provincia]&lt;/span&gt;<br />
&lt;input name="ddprovincia" id="ddprovincia" class="small-text" value="" type="text" size="2" /&gt;<br />
&lt;/li&gt;<br />
&lt;li&gt;<br />
&lt;label&gt;Email*&lt;/label&gt;<br />
&lt;span class="help"&gt;[Scrivi qui la tua e-mail]&lt;/span&gt;<br />
&lt;input name="ddemail" id="ddemail" value="" type="text" size="30" /&gt;<br />
&lt;/li&gt;<br />
&lt;li&gt;<br />
&lt;label&gt;Data di Nascita&lt;/label&gt;<br />
&lt;span class="help"&gt;[Seleziona la tua data di nascita]&lt;/span&gt;<br />
&lt;select id="dob-d"&gt;&lt;option value="1"&gt;1&lt;/option&gt;&lt;option value="2"&gt;2&lt;/option&gt;&lt;/select&gt;<br />
&lt;select id="dob-m"&gt;&lt;option value="1"&gt;Jan&lt;/option&gt;&lt;option value="2"&gt;Feb&lt;/option&gt;&lt;/select&gt;<br />
&lt;select id="dob-y"&gt;&lt;option value="1980"&gt;1984&lt;/option&gt;&lt;option value="1985"&gt;1985&lt;/option&gt;&lt;/select&gt;<br />
&lt;/li&gt;<br />
&lt;li&gt;<br />
&lt;label&gt;Tuo commento&lt;/label&gt;<br />
&lt;span class="help"&gt;[Scrivi qui un tuo commento]&lt;/span&gt;<br />
&lt;textarea name="ddcommento" rows="5" cols="10"&gt;&lt;/textarea&gt;<br />
&lt;/li&gt;<br />
&lt;li&gt;<br />
&lt;label&gt;Il tuo sesso?&lt;/label&gt;<br />
&lt;span class="help"&gt;[Indica il tuo sesso]&lt;/span&gt;<br />
&lt;label class="option"&gt;&lt;input type="radio" name="ddsesso[key]" value="si" checked="checked" class="form-radio" /&gt;uomo&lt;/label&gt;<br />
&lt;label class="option"&gt;&lt;input type="radio" name="ddsesso[key]" value="no" class="form-radio" /&gt;donna&lt;/label&gt;<br />
&lt;/li&gt;<br />
&lt;li&gt;<br />
&lt;label class="option"&gt;&lt;input name="ddcontratto" value="ok" type="checkbox" /&gt; Ho letto tutti i contratti di questa terra&lt;/label&gt;<br />
&lt;/li&gt;<br />
&lt;/ul&gt;<br />
&lt;/fieldset&gt;<br />
&lt;p&gt;&lt;input class="button" type="submit" value="Invia Form"/&gt;&lt;/p&gt;<br />
&lt;/form&gt;<br />
</code></p>
<h4>Il codice CSS</h4>
<p>Il CSS pesa in tutto 5Kb, compresa la parte per la struttura. Con una attenta formattazione si può migliorare di qualche Kb. Qui riporto solo la parte relativa al form vero e proprio.</p>
<p><code><br />
form {<br />
margin: 0 auto;<br />
padding: 10px;<br />
border: 1px solid #f3a251;<br />
font: normal 1em Verdana, sans-serif;<br />
background-color: #fff;<br />
width: 800px;<br />
text-align: left;<br />
}<br />
form ul {<br />
background: transparent;<br />
margin: 0;<br />
padding: 0;<br />
list-style: none;<br />
}<br />
form ul li {<br />
margin: 0;<br />
padding: .4em 0;<br />
background: #fff;<br />
color: #fff;<br />
list-style: none;<br />
font: normal 0.9em Verdana, sans-serif;<br />
border-bottom: 1px solid #dadada;<br />
}<br />
form ul li:hover {<br />
color: #333;<br />
background: #eee;<br />
}<br />
form span.help {<br />
float: right;<br />
width: 29%;<br />
}<br />
fieldset {<br />
margin: 0;<br />
padding: 0;<br />
border-top: 1px solid #dadada;<br />
color: #777;<br />
}<br />
label {<br />
display: block;<br />
font-weight:bold;<br />
margin: 0;<br />
font: normal 1.5em Verdana, sans-serif;<br />
color: #333;<br />
width: auto;<br />
}<br />
label.option {<br />
margin: .2em;<br />
font: normal 1.2em/1.2em Verdana, sans-serif;<br />
width: 60%;<br />
}<br />
input {<br />
padding: .4em;<br />
margin: 0;<br />
border: 1px solid #dadada;<br />
font: normal 1.5em Verdana, sans-serif;<br />
color: #333;<br />
background: #fafafa;<br />
}<br />
input.form-radio {<br />
padding: 0;<br />
margin: 0 .2em 0 0;<br />
border: none;<br />
}<br />
textarea {<br />
width: 66%;<br />
padding: .4em;<br />
font: normal 1.2em/1.2em Verdana, sans-serif;<br />
border: 1px solid #dadada;<br />
height: 10em;<br />
display:block;<br />
color:#333;<br />
background: #fafafa;<br />
}<br />
textarea.small-textarea {<br />
height: 3em;<br />
}<br />
select {<br />
padding: .2em 0;<br />
margin: 0;<br />
border: 1px solid #dadada;<br />
font: normal 1.5em Verdana, sans-serif;<br />
color: #333;<br />
background: #fafafa;<br />
}<br />
option {<br />
display: block;<br />
padding: .1em;<br />
margin: 0;<br />
font: normal 1em Verdana, sans-serif;<br />
color: #333;<br />
background: #fafafa;<br />
}<br />
input:focus, input:active, textarea:focus, textarea:active, select:focus, select:active {<br />
border: 1px solid #f3a251;<br />
background: #ffeddc;<br />
}<br />
input.button {<br />
margin: .3em;<br />
padding: .25em .3em;<br />
border: 1px solid #f3a251;<br />
background: #ffeddc;<br />
font: normal 1.5em Verdana, sans-serif;<br />
cursor: pointer;<br />
}<br />
input.button:hover {<br />
background: #f3a251;<br />
color: #fff;<br />
}<br />
</code></p>
<h4>Javascript per la validazione</h4>
<p>La parte javascript è molto semplice, per crearla basta seguire la <a href="http://www.livevalidation.com/examples" title="Esempi LiveValidation" target="_blank">documentazione di LiveValidation</a>. Tutte le validazioni avvengono dopo che l&#8217;utente ha abbandonato il box sul quale sta scrivendo. Questo è possibile specificando il parametro &#8220;onlyOnBlur: true&#8221;.</p>
<p>Per ogni singolo campo che deve essere validato viene costruito un oggetto LiveValidation() richiamandolo in base all&#8217;id.</p>
<p><code><br />
&lt;script type="text/javascript"&gt;<br />
var valNome = new LiveValidation( 'ddnome', {onlyOnBlur: true, validMessage: "OK" } );<br />
valNome.add( Validate.Presence, {failureMessage: "Devi inserire il nome"} );<br />
var valCognome = new LiveValidation( 'ddcognome', {onlyOnBlur: true, validMessage: "OK" } );<br />
valCognome.add( Validate.Presence, {failureMessage: "Devi inserire il cognome"} );<br />
var valCitta = new LiveValidation( 'ddcitta', {onlyOnBlur: true, validMessage: "OK" } );<br />
valCitta.add( Validate.Presence, {failureMessage: "Devi inserire una città"} );<br />
var valProvincia = new LiveValidation( 'ddprovincia', {onlyOnBlur: true, validMessage: "OK" } );<br />
valProvincia.add( Validate.Presence, {failureMessage: "Devi inserire la provincia"} );<br />
valProvincia.add( Validate.Length, { minimum: 2, maximum: 4, tooShortMessage: "Almeno due caratteri", tooLongMessage: "Inserisci la sigla della provincia, al massimo 4 caratteri (ROMA)"} );<br />
var valEmail = new LiveValidation( 'ddemail', {onlyOnBlur: true, validMessage: "OK" } );<br />
valEmail.add( Validate.Presence, {failureMessage: "Lascia un indirizzo e-mail"} );<br />
valEmail.add( Validate.Email, {failureMessage: "Indirizzo non valido"} );<br />
&lt;/script&gt;<br />
</code></p>
<p>Sia il codice CSS che quello HTML è validato W3C. Se vuoi scaricare l&#8217;esempio <a href="http://www.diplod.it/wp-content/uploads/2007/11/diplod-form.zip" title="diploD CSS Form">ecco il file zip</a>, con <a href="http://creativecommons.org/licenses/by/3.0/deed.it" title="Licenza CC" target="_blank">licenza CC</a>. Fammi sapere se apporti utili migliorie al codice o lo utilizzi per impieghi particolari.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2007/11/12/form-con-css-secondo-me/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Sportemplate: tema wordpress per società sportive, ma non solo..</title>
		<link>http://www.diplod.it/2007/10/19/sportemplate-tema-wordpress-per-societa-sportive-ma-non-solo/</link>
		<comments>http://www.diplod.it/2007/10/19/sportemplate-tema-wordpress-per-societa-sportive-ma-non-solo/#comments</comments>
		<pubDate>Fri, 19 Oct 2007 20:20:59 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Progetti]]></category>
		<category><![CDATA[atletica]]></category>
		<category><![CDATA[basket]]></category>
		<category><![CDATA[calcio]]></category>
		<category><![CDATA[fitness]]></category>
		<category><![CDATA[rugby]]></category>
		<category><![CDATA[sport]]></category>
		<category><![CDATA[temi]]></category>
		<category><![CDATA[tennis]]></category>
		<category><![CDATA[volley]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.diplod.it/2007/10/19/sportemplate-tema-wordpress-per-societa-sportive-ma-non-solo/</guid>
		<description><![CDATA[Sportemplate è un tema per wordpress indirizzato a coloro con hanno un blog che tratta di sport, siano questi semplici appassionati o vere e proprie società sportive. Dalla pallavolo alla pallacanestro, dal calcio all&#8217;atletica. Ma c&#8217;è anche una versione per il semplice blog, se ti piace il design ma non non vuoi avere lo sportivo [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center"><img src="http://www.diplod.it/wp-content/uploads/2007/10/sportemplate-small.png" alt="Sportemplate per WordPress" /></p>
<p>Sportemplate è un <strong>tema per wordpress</strong> indirizzato a coloro con hanno un blog che tratta di <strong>sport</strong>, siano questi semplici appassionati o vere e proprie società sportive. Dalla pallavolo alla pallacanestro, dal calcio all&#8217;atletica.</p>
<p>Ma c&#8217;è anche una <strong>versione per il semplice blog</strong>, se ti piace il design ma non non vuoi avere lo sportivo che salta, c&#8217;è pure la versione con la classica matita.</p>
<h3>Download e demo</h3>
<p><strong><a class="download-link" title="Sportemplate WordPress Theme" href="http://www.diplod.it/wp-content/uploads/2008/09/sportemplate15.zip">Download di Sportemplate per WordPress (versione 1.5)<br />
</a></strong></p>
<p>Per <strong>vederlo in opera</strong> potete <a title="Basket Rubiera 2000" href="http://www.basketrubiera.it" target="_blank">visitare il sito del Basket Rubiera</a> (amata squadra locale) oppure dare un occhiata alla <a title="demo" href="http://lab.diplod.it/demo/index.php?wptheme=Sport%20Template">demo online</a>.</p>
<p>E’ disponibile anche la versione senza pannello di amministrazione. Sportemplate utilizza il noto <a title="wordpress theme toolkit" onclick="javascript:pageTracker._trackPageview('/uscenti/articoli/planetozh.com');" href="http://planetozh.com/blog/my-projects/wordpress-theme-toolkit-admin-menu/" target="_blank">toolkit open source per temi wordpress</a>, tuttavia qualcuno ha segnalato problemi con l’editor di scrittura avanzato, per questo metto a disposizione una versione di Sportemplate senza pannello di amministrazione, tutte le personalizzazioni sono comunque effettuabili intervenendo direttamente sul file header.php (vedi istruzioni sotto).</p>
<p><a class="download-link" title="Sportemplate WordPress Theme" href="http://www.diplod.it/wp-content/uploads/2008/09/sportemplate15-no-admin.zip">Download di Sportemplate per WordPress (versione 1.5 senza pannello di amministrazione)<br />
</a></p>
<h3>Installazione e attivazione</h3>
<p>La procedura è sempre la solita. Si scariza il file zip e si decomprime la cartella /sportemplate/ all&#8217;interno della cartella che contiene i templates di wordpress: wp-content/themes/<br />
Nulla di complicato.</p>
<p>Per attivare il tema, dal pannello di amministrazione di wordpress andare su &#8216;Design&#8217; e scegliere Sport Template come tema di base.</p>
<p>Una volta attivato il tema, andare in &#8216;Design&#8217;-&gt;&#8217;Sport Template&#8217;. Questo è il pannello di amministrazione del tema, da qui si possono impostare tutte le opzioni di visualizzazione.<br />
Chi ha scaricato la versione senza pannello può configurare le stesse cose aprendo direttamente il file header.php con un editor di testo (ad esempio notepad). Nelle prime righe del codice ci sono le istruzioni per personalizzare il tema, è sufficiente cambiare valore a qualche variabile.</p>
<h3>Personalizzazione della testata</h3>
<p>Per impostare la testata desiderata basta accedere al <strong>pannello di amministrazione</strong> e scegliere dal menù quella desiderata.<br />
<span id="more-381"></span></p>
<p>Ecco come appare il pannello di amministrazione del tema:</p>
<p><a href="http://www.diplod.it/wp-content/uploads/2008/08/sportemplate-otions.png"><img class="alignnone size-full wp-image-631" title="sportemplate-otions" src="http://www.diplod.it/wp-content/uploads/2008/08/sportemplate-otions.png" alt="" width="480" height="242" /></a></p>
<p>Ecco una carrellata delle diverse testate disponibili, è possibile adattare questo template a svariate esigenze:</p>
<ul>
<li>Blog Normale<br />
<img src="http://www.diplod.it/wp-content/uploads/2007/10/header-blog-normale.gif" alt="Testata Blog" /></li>
<li>Basket<br />
<img src="http://www.diplod.it/wp-content/uploads/2007/10/header-basket.gif" alt="Testata Basket" /></li>
<li>Calcio<br />
<img src="http://www.diplod.it/wp-content/uploads/2007/10/header-calcio.gif" alt="Testata Calcio" /></li>
<li>Corsa<br />
<img src="http://www.diplod.it/wp-content/uploads/2007/10/header-corsa.gif" alt="Testata Corsa" /></li>
<li>Fitness<br />
<img src="http://www.diplod.it/wp-content/uploads/2007/10/header-fitness.gif" alt="Testata Fitness" /></li>
<li>Hockey<br />
<img src="http://www.diplod.it/wp-content/uploads/2007/10/header-hockey.gif" alt="Testata Hockey" /></li>
<li>Rugby<br />
<img src="http://www.diplod.it/wp-content/uploads/2007/10/header-rugby.gif" alt="Testata Rugby" /></li>
<li>Tennis<br />
<img src="http://www.diplod.it/wp-content/uploads/2007/10/header-tennis.gif" alt="Testata Tennis" /></li>
<li>Volley<br />
<img src="http://www.diplod.it/wp-content/uploads/2007/10/header-volley.gif" alt="Testata Pallavolo" /></li>
</ul>
<h3>Personalizzazione della sidebar</h3>
<p>Il tema è <strong>widget ready</strong>, questo significa che la sidebar è completamente configurabile senza mettere mano al codice. Puoi scegliere inoltre se pubblicare in alto alla sidebar le <strong>notizie provenienti da una singola categoria</strong>, ad esempio gli ultimi risultati dal campo o le pagelle del santone. Nel pannello di amministrazione del tema devi attivare questa funzionalità e specificare:</p>
<ul>
<li><strong>ID categoria</strong>: è un numero che identifica la singola categoria. Lo trovi nel link alla categoria dal pannello di amministrazione wordpress: &#8216;Gestione&#8217;-&gt;&#8217;Categorie&#8217;. Passando il mouse sui nomi delle categorie in basso nella barra del browser appare un link che termina con un numero, quello è l&#8217;ID. Vedi l&#8217;immagine sotto per capire meglio.<br />
<a href="http://www.diplod.it/wp-content/uploads/2008/08/idcategorie.png"><img class="alignnone size-full wp-image-628" title="idcategorie" src="http://www.diplod.it/wp-content/uploads/2008/08/idcategorie.png" alt="" width="412" height="520" /></a></li>
<li><strong>Titolo da visualizzare nella sidebar</strong>: puoi scegliere il titolo da mostrare nella barra laterale, ad esempio &#8220;Ultime dal campo&#8221;</li>
<li><strong>Numero di notizie da pubblicare</strong>: puoi scegliere quante notizie far apparire in sidebar.</li>
</ul>
<h3>Extra e Licenza</h3>
<p>Una delle peculiarità di questo tema è l&#8217;utilizzo di un foglio di stile esterno con alcune <strong>regole CSS 3</strong> per ottenere i <strong>bordi arrotondati sui box di articoli e commenti</strong>, oltre alla <strong>selezione del testo rossa</strong>. Le tecniche utilizzate sono quelle illustrate molto bene da Alessandro Fulciniti in un <a title="CSS 3 cosa usare e come usarli" href="http://css.html.it/articoli/leggi/2320/css3-a-piccoli-passi/" target="_blank">articolo su html.it</a></p>
<p>Il tema è stato testato sui più diffusi browser: Firefox, IE, Opera, Safari, Chrome. Ovviamente il tema è <strong>validato W3C</strong> ed è rilasciato sotto <a title="Creative Commons" href="http://creativecommons.org/licenses/by/2.5/deed.it" target="_blank">licenza Creative Commons 2.5</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2007/10/19/sportemplate-tema-wordpress-per-societa-sportive-ma-non-solo/feed/</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
		<item>
		<title>Web Tv Template: open and free internet television design</title>
		<link>http://www.diplod.it/2007/10/12/web-tv-template-open-and-free-internet-television-design/</link>
		<comments>http://www.diplod.it/2007/10/12/web-tv-template-open-and-free-internet-television-design/#comments</comments>
		<pubDate>Thu, 11 Oct 2007 23:31:01 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Ajax e Javascript]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.diplod.it/2007/10/12/web-tv-template-open-and-free-internet-television-design/</guid>
		<description><![CDATA[English? Go here.. Ecco qui.. Le web TV ormai imperversano, tutti a dire che il futuro è quello, che pubblicare i propri video è molto cool! Non saprei dire se le notizie debbano per forza provenire dal basso (forse no), ma perché non rilasciare un template? Eccolo. Un template libero: scaricatelo, modificatelo, utilizzatelo. Ma abbiate [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center"><img src="http://www.diplod.it/wp-content/uploads/2007/10/tv-design.png" alt="Web Tv Design" /></p>
<p> <a href="http://www.diplod.it/2007/10/12/web-tv-template-open-and-free-internet-television-design/#entv" title="English version"><strong>English? Go here..</strong></a></p>
<p>Ecco qui.. Le <strong>web TV</strong> ormai imperversano, tutti a dire che il <strong>futuro</strong> è quello, che pubblicare i propri video è molto cool! Non saprei dire se le notizie debbano per forza provenire dal basso (forse no), ma perché non rilasciare un template? Eccolo.</p>
<p>Un <strong>template libero</strong>: scaricatelo, modificatelo, utilizzatelo. Ma abbiate cura di lasciare il link a diploD. E’ pensato per la classica tv on-line.<br />
Cosa c’è di bello?</p>
<ul>
<li> La <strong>navigazione a tab</strong> tramite javascript (simil ajax, ma non proprio..)</li>
<li>Le <strong>finestre fluttuanti</strong> realizzate con jQyery ed Interface, una per il video e una per la chat.</li>
<li>Un box pensato per la pubblicità (quale tv non ne ha? Potete comunque levarlo in un attimo se non ve ne frega un accidente)</li>
<li>Lo spazio per il codice da embeddare sul proprio sito</li>
<li><strong>Predisposizione per i più comuni tag html</strong>: form, code, blockquote, ecc..</li>
<li>Dei bellissimi box laterali dove mettere ciò che vi pare</li>
<li><strong>XHTML Strict, CSS Valid</strong></li>
<li>Compatibilità coi più diffusi browser, testato su FireFox, IE, Opera; non dovrebbero esserci problemi nemmeno con Safari</li>
</ul>
<p>Qual è il fattore in più? Le finestre Jquery. Attivando il video in una di queste finestre, l’utente può contemporaneamente vedere la diretta e navigare il sito con i tab, oltre ad aprire e imbustare la chat.<br />
<strong><a href="http://www.diplod.it/templates/tv-design/" title="Web Tv design" target="_blank"> Provatelo, è molto più semplice vedere che spiegare</a>.</strong></p>
<p><strong><a class="download-link" href="http://www.diplod.it/templates/tv-design.zip" title="Download Web Tv Template">Download Web TV Template (Open and Free Internet Television Design)</a></strong><br />
<span id="more-373"></span></p>
<p style="text-align: center"><img src="http://www.diplod.it/wp-content/uploads/2007/10/tv-design2.png" alt="Web Tv Design" /></p>
<h4 id="entv">English</h4>
<p>Here we are.. <strong>Internet television</strong> are the next revolution! I don’t know if news should be reported by the mass (maybe not), but I realized a template for web tv. Try it. Why not?</p>
<p>It’s a <strong>free template</strong>: download it, modify it, use it. But please don’t remove the link to this site, diploD. This is a layout for a standard web television.<br />
What’s cool?<br />
·    <strong>Tab navigation</strong> whit a simple javascript (ajax like)<br />
·    <strong>Floating windows</strong>, thanks to JQuery and Interface. One window for video, one for chat.<br />
·    A box for ads (who don’t have ads? But you can remove it if you want)<br />
·    Space for “embed” code<br />
·    <strong>Support for common html tags</strong>: form, code, blockquote..<br />
·    Nice sidebar boxes<br />
·    <strong>XHTML Strict, CSS Valid</strong><br />
·    Cross browser compatibility, tested with FireFox, IE, Opera; should work also whit Safari</p>
<p>JQuery windows are the best way to show your videos and your chat. The users can follow your programs on live tv and visit your site.<a href="http://www.diplod.it/templates/tv-design/" title="Web Tv design demo" target="_blank"><br />
</a><strong><a href="http://www.diplod.it/templates/tv-design/" title="Web Tv design demo" target="_blank">Open the demo to see the design in action</a>.</strong></p>
<p><strong><a class="download-link" href="http://www.diplod.it/templates/tv-design.zip" title="Download Web Tv Template">Download Web TV Template (Open and Free Internet Television Design)</a></strong><a href="http://www.diplod.it/templates/tv-design.zip" title="Download Web Tv Template"><br />
</a><br />
<strong>PS</strong>: sorry for my English :P<br />
The video you can see in the demo is a compilation of Parmigiano Reggiano’s spots. Parmigiano Reggiano is a wonderfull italian cheese, it’s art. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2007/10/12/web-tv-template-open-and-free-internet-television-design/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Nerino &#8211; Un nuovo tema per WordPress</title>
		<link>http://www.diplod.it/2007/09/10/nerino-un-nuovo-tema-per-wordpress/</link>
		<comments>http://www.diplod.it/2007/09/10/nerino-un-nuovo-tema-per-wordpress/#comments</comments>
		<pubDate>Sun, 09 Sep 2007 23:53:23 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Progetti]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[nerino]]></category>
		<category><![CDATA[tema]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.diplod.it/2007/09/10/nerino-un-nuovo-tema-per-wordpress/</guid>
		<description><![CDATA[UPDATE: Nerino è giunto alla versione 2.0, vedi le novità e scarica la nuova versione! Prima o poi doveva succedere: a Settembre si riparte, qualcuno decide di aprire un nuovo blog e qualcun altro di cambiare template. Ecco a voi Nerino 1.0, un nuovo tema per WordPress creato dal sottoscritto e rilasciato liberamente. Il nome [...]]]></description>
			<content:encoded><![CDATA[<p class="metainfo"> <strong>UPDATE: <a href="http://www.diplod.it/2007/12/14/nerino-20-template-per-wordpress-gratuito/" title="Nerino 2.0 - wordpress theme">Nerino è giunto alla versione 2.0, vedi le novità e scarica la nuova versione!</a> </strong></p>
<p>Prima o poi doveva succedere: a Settembre si riparte, qualcuno decide di aprire un nuovo blog e qualcun altro di cambiare template. Ecco a voi <strong>Nerino</strong> 1.0, un <strong>nuovo tema per WordPress creato dal sottoscritto e rilasciato liberamente</strong>. Il nome in onore di un gattino che mi ha conquistato.</p>
<p>Fatene ciò che volete, instalatelo, provatelo, testatelo, modificatelo.. ma per favore lasciate sempre un link al mio sito. Se volete una versione personalizzata invece <a href="http://www.diplod.it/contatti/" title="Contatti">contattatemi</a>.</p>
<h4>Presentiamolo</h4>
<p>Nerino è un semplice <strong>tema a due colonne</strong>, con la sidebar laterale e un footer popolato dagli ultimi articoli e dal blogroll. Il tema è <strong>widget ready</strong>, questo significa che se utilizzate i <a href="http://automattic.com/code/widgets/" title="wordpress widget" target="_blank">widget</a> sul vostro blog potete personalizzare la sidebar direttamente dal pannello di amministrazione di WordPress.<br />
L&#8217;impostazione cromatica gioca su blu, rosso e arancio. Non escludo che in futuro possano uscire altre versioni, se vi interessa fatene pure richiesta.</p>
<p><span id="more-357"></span></p>
<p style="text-align: center"><img src="http://www.diplod.it/wp-content/uploads/2007/09/nerino.jpg" alt="Nerino WordPress theme" id="image358" /></p>
<p>Le <strong>peculiarità</strong> di Nerino sono:</p>
<ul>
<li>Alcuni semplici pulsanti che tramite javascript modificano la <strong>dimensione del testo</strong>, per agevolare la lettura agli utenti con difficoltà nella vista<br />
<img src="http://www.diplod.it/wp-content/uploads/2007/09/nerino-pulsanti.gif" id="image352" alt="Pulsanti per modificare il testo" /></li>
<li>Un menù che utilizza le <strong>gif animate</strong> per rendere un semplice effetto di movimento (ormai mi sono lanciato con le gif animate!)<br />
<img src="http://www.diplod.it/wp-content/uploads/2007/09/nerino-menu.gif" id="image353" alt="Menu con gif animate" /></li>
<li>Il <strong>form dei commenti</strong>, ne vado troppo orgoglioso :)<br />
<img src="http://www.diplod.it/wp-content/uploads/2007/09/nerino-form.gif" id="image354" alt="Form commenti" /></li>
</ul>
<p>A parte tutto, ecco alcune schermate dalle quali potete avere un colpo d&#8217;occhio su come si presenta il layout, si tratta dell&#8217;<a href="http://www.diplod.it/wp-content/uploads/2007/09/nerino-home.png" title="Home page di Nerino" target="_blank">home page</a> e di un <a href="http://www.diplod.it/wp-content/uploads/2007/09/nerino-single.png" title="Nerino post singolo">post singolo</a> con relativi commenti.</p>
<p>Se volete testarlo live lo potete <a href="http://www.paolosilingardi.it/" title="Dire Fare Comunicare" target="_blank">vedere all&#8217;opera su DireFareComunicare</a>, il blog di un amico sul quale l&#8217;ho installato (e per il quale è nato).</p>
<p>E adesso non vi resta che scaricarlo e iniziare ad utilizzarlo!</p>
<p class="metainfo"> <strong>UPDATE: <a href="http://www.diplod.it/2007/12/14/nerino-20-template-per-wordpress-gratuito/" title="Nerino 2.0 - wordpress theme">Nerino è giunto alla versione 2.0, vedi le novità e scarica la nuova versione!</a> </strong></p>
<p>Se invece desideri scaricare la vecchia versione:<br />
<a href="http://www.diplod.it/wp-content/uploads/2007/09/nerino10.zip" class="download-link" title="Nerino WordPress theme zip"><strong>Clicca qui per il download di Nerino 1.0</strong></a></p>
<p>L&#8217;<strong>installazione</strong> è semplicissima, scompattate la cartella contenuta dentro allo zip nella cartella dei temi di wordpress: <strong>/wp-content/themes/nerino10</strong><br />
Andate nel pannello di amministrazione, clic su &#8216;Aspetto&#8217;, da qui sarà possibile selezionare <strong>Nerino</strong> come tema predefinito. Se volete gestire la sidebar tramite i widget, dopo aver installato il <a href="http://automattic.com/code/widgets/" title="Plugin Widget" target="_blank">plugin di Automattic</a>, basterà cliccare su &#8216;Sidebar Widgets&#8217;.</p>
<p>Il tema è stato testato e reso funzionante su FireFox 1.5, FireFox 2, IE7 e Opera (presumibilmente nemmeno Safari dovrebbe dare problemi). IE6 che fine ha fatto? Su IE6 Nerino funziona, ma ha qualche leggero difetto. Siccome il browser è vecchiotto, è ora di aggiornarsi! Le mie ore di sonno sono più importanti.. Il codice CSS e XHTML è <strong>validato W3C</strong>.<br />
Si accettano di buon grado consigli, suggerimenti e feedback di ogni genere..</p>
<p><strong>NB: WordPress theme Nerino in english? Stay tuned!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2007/09/10/nerino-un-nuovo-tema-per-wordpress/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>Welcome CSS Sliding Box WordPress Plugin</title>
		<link>http://www.diplod.it/2007/08/13/welcome-css-sliding-box-wordpress-plugin/</link>
		<comments>http://www.diplod.it/2007/08/13/welcome-css-sliding-box-wordpress-plugin/#comments</comments>
		<pubDate>Mon, 13 Aug 2007 11:20:02 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Ajax e Javascript]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Progetti]]></category>

		<guid isPermaLink="false">http://www.diplod.it/2007/08/13/welcome-css-sliding-box-wordpress-plugin/</guid>
		<description><![CDATA[English? Go here.. Che diavolo è? Provate a cliccare sul bottocino &#8220;che diavolo?&#8221; in alto a questa pagina e capirete in un attimo. Si tratta di un piccolo box CSS scorrevole, all&#8217;interno del quale si può far apparire tutto ciò che ci pare.. Dopo avdd-welcome-ita.ziper scaricato il plugin e fatto l&#8217;upload dei files &#8216;dd-welcome.php&#8217; e [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-weight: bold">English?</span> <a href="http://www.diplod.it/2007/08/13/welcome-css-sliding-box-wordpress-plugin/#english">Go here..</a></p>
<h4>Che diavolo è?</h4>
<p>Provate a cliccare sul bottocino &#8220;che diavolo?&#8221; in alto a questa pagina e capirete in un attimo. Si tratta di un piccolo box CSS  scorrevole, all&#8217;interno del quale si può far apparire tutto ciò che ci pare..<br />
Dopo avdd-welcome-ita.ziper scaricato il plugin e fatto l&#8217;upload dei files &#8216;dd-welcome.php&#8217; e &#8216;dd-bg.gif&#8217; all&#8217;interno della solita cartella  &#8216;wp-content/plugins/&#8217;, apparirà nel menù &#8216;Opzioni&#8217; un comodo pannello di amministrazione dal quale è possibile configurare il box scorrevole.</p>
<p><a class="download-link" href="http://www.diplod.it/wp-content/uploads/2007/10/dd-welcome-ita.zip" title="dd welcome WP plugin">SCARICALO QUI..</a></p>
<h4>A cosa serve?</h4>
<p>Bella domanda, in teoria per avere un box figo dove poter inserire le solite informazioni su chi siamo, cosa facciamo, da dove veniamo e dove vogliamo arrivare. In pratica potete metterci ciò che meglio credete, anche gli ultimi libri letti..</p>
<p><span id="more-338"></span></p>
<p style="text-align: center"><a href="http://www.diplod.it/wp-content/uploads/2007/08/dd-welcome-manager.jpg" title="Apri immagine in dimensioni originali"><img src="http://www.diplod.it/wp-content/uploads/2007/08/dd-welcome-manager-small.jpg" id="image336" alt="Welcome Manager" /></a></p>
<p>Dal &#8216;Welcome Manager&#8217;, senza toccare il codice del nostro template, potremo impostare:</p>
<ol>
<li>Il testo da far apparire all&#8217;interno del box, nel quale si possono utilizzare anche i più comuni tag HTML per fare link o inserire immagini</li>
<li>Il testo da far apparire sul bottoncino</li>
<li>Il colore di sfondo</li>
<li>Una eventuale immagine di sfondo</li>
<li>Il colore del testo</li>
<li>L&#8217;altezza in pixel del box scorrevole</li>
<li>L&#8217;allineamento del bottone (destra o sinistra)</li>
<li>Il margine dal bordo della pagina</li>
<li>La posizione del bottone (fissa o scorrevole con la pagina)</li>
</ol>
<p>Queste sono tutto proprietà CSS regolabili senza intervenire sul codice. Vi ricorda nulla? Ma certo, il celeberrimo e decantato plugin di Francesco Fullone <a href="http://www.fullo.net/blog/archives/2007/08/07/wordpress-plugin-fcc_ribbon-manager/" title="FCC Ribbon Manager" target="_blank">FCC Ribbon Manager</a>, da quale ho preso spunto e che ringrazio.</p>
<p><strong>NB</strong>: se impostate l&#8217;<strong>altezza del box a &#8217;100%&#8217;</strong> potrete avere una bellissima pagina nascosta, dove ad esempio si potrebbe mettere il portfolio personale.. o amenità varie.</p>
<p style="text-align: center"><img src="http://www.diplod.it/wp-content/uploads/2007/08/100percent.jpg" id="image337" alt="100 per cent" /></p>
<h4>Javascript?</h4>
<p>Ovviamente si. Questo plugin utilizza il solito scriptaculous.. Perchè questo e non Mootools? Semplicemente perchè dalla versione 2.qualcosa di wordpress esso è incluso direttamente tra i file del programma, così la pagina si dovrebbe caricare più velocemente.<br />
Se per caso avete una versione vecchiotta di WP e non è presente scriptaculous, potete scaricare <a href="http://www.diplod.it/wp-content/uploads/2007/08/wp-scriptaculous.zip" title="wp scriptaculous">questo zip</a> e mettere la cartella &#8216;/scriptaculous/&#8217; sul vostro server, dentro a &#8216;/wp-includes/js/&#8217;. Il percorso sarà quindi &#8216;/wp-includes/js/scriptaculous/&#8217;.</p>
<p>Se avete idee o suggerimenti.. <a href="http://www.diplod.it/contatti/" title="Contatti">scrivete pure due righe</a>.</p>
<p><a title="english" name="english"></a></p>
<h4>What&#8217;s?</h4>
<p>Click on the button &#8220;che diavolo?&#8221; at the top of this page and you can see. It&#8217;s a little CSS sliding box, where you can insert what you prefer..<br />
Download the plugin files and upload &#8216;dd-welcome.php&#8217; and &#8216;dd-bg.gif&#8217; on your server folder  &#8216;wp-content/plugins/&#8217;, then in the Option Menu you find the &#8216;Welcome Manager&#8217; where you can set your sliding box.</p>
<p><a class="download-link" href="http://www.diplod.it/wp-content/uploads/2007/08/dd-welcome-wp-plugin.zip" title="dd welcome WP plugin">DOWNLOAD HERE..</a></p>
<h4>Ok, but how can I use it?</h4>
<p>It&#8217;s a good question. You have a cool box to insert the classic info text or whatever you want: portfolio, last purchases, last read books, and so on..</p>
<p style="text-align: center"><a href="http://www.diplod.it/wp-content/uploads/2007/08/dd-welcome-manager.jpg" title="Apri immagine in dimensioni originali"><img src="http://www.diplod.it/wp-content/uploads/2007/08/dd-welcome-manager-small.jpg" id="image336" alt="Welcome Manager" /></a></p>
<p>In the Welcome Manager, without touching the code, you can set:</p>
<ol>
<li>The text that will appear in the sliding box, it supports common HTML tag to link or insert images</li>
<li>The text that will appear in the button</li>
<li>The background color</li>
<li>An opzional background image</li>
<li>The text color</li>
<li>Box height (in pixel)</li>
<li>Button align (left or right)</li>
<li>Button margin (in pixel, % or em..)</li>
<li>Button position (fixed or absolute)</li>
</ol>
<p><span style="font-weight: bold">NB</span>: if you set up the height to 100%, you have a cool hidden page on your blog..</p>
<p style="text-align: center"><img src="http://www.diplod.it/wp-content/uploads/2007/08/100percent.jpg" id="image337" alt="100 per cent" /></p>
<h4>Javascript?</h4>
<p>Obviously.. This plugin uses the classic scriptaculous. Why this and not Mootools? Simply because from the 2.1 version of wordpress it is included directly in the /wp-includes/ folder, therefore the page would have to be loaded fastly.<br />
If you have an old version or is not present scriptaculous, you can download <a href="http://www.diplod.it/wp-content/uploads/2007/08/wp-scriptaculous.zip" title="wp scriptaculous">this zip</a> and put the folder “/scriptaculous/” on your server, in “/wp-includes/js/”. The path will be “/wp-includes/js/scriptaculous/”.</p>
<p>If you have ideas or suggestions, please <a href="http://www.diplod.it/contatti/" title="Contatti">drop me two lines</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2007/08/13/welcome-css-sliding-box-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>45</slash:comments>
		</item>
		<item>
		<title>Javascript background-image change per Menu e Div</title>
		<link>http://www.diplod.it/2007/07/23/javascript-background-image-change-per-menu-e-div/</link>
		<comments>http://www.diplod.it/2007/07/23/javascript-background-image-change-per-menu-e-div/#comments</comments>
		<pubDate>Sun, 22 Jul 2007 23:16:48 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Ajax e Javascript]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.diplod.it/2007/07/23/javascript-background-image-change-per-menu-e-div/</guid>
		<description><![CDATA[Il titolo non è dei migliori, tradotto significa: Impostare uno sfondo ad un oggetto quando il mouse scorre su un&#8217;altro oggetto Può capitare, per esigenze estetiche, di aver bisogno che quando l&#8217;utente passa il mouse sopra ad un box venga cambiato lo sfondo ad un altro box. In una sorta di fanta-css sarebbe: #div1 { [...]]]></description>
			<content:encoded><![CDATA[<p>Il titolo non è dei migliori, tradotto significa:</p>
<h4>Impostare uno sfondo ad un oggetto quando il mouse scorre su un&#8217;altro oggetto</h4>
<p>Può capitare, per esigenze estetiche, di aver bisogno che quando l&#8217;utente passa il mouse sopra ad un box venga cambiato lo sfondo ad un altro box. In una sorta di fanta-css sarebbe:</p>
<p><code>#div1 {<br />
background: url(img1.gif) center;<br />
}<br />
#div2 {<br />
background: url(img2.gif) center;<br />
}<br />
#div1:hover {<br />
#div2-background: url(img1.gif);<br />
}</code></p>
<p>E&#8217; una soluzione che può tornare utile in certi casi, e ho preparato qualche esempio. Potete tranquillamente scaricarli e utilizzarli come volete, magari correggerli e migliorarli pure. Questo è il <a title="diploD javascript" href="http://www.diplod.it/wp-content/uploads/2007/07/diplod-js.zip">link al file zip con i tre gli esempi</a> presentati in seguito.<br />
Sono stati testati su IE 6 e 7, Opera, FireFox. Tutto il codice, CSS e XHTML, è stato <strong>validato secondo gli standard del <a target="_blank" title="w3c italia" href="http://www.w3c.it/">W3C</a></strong>. Faccio notare come tutti gli esempi siano correttamente e degnamente visualizzati anche da utenti con javascript disabilitati.</p>
<p><span id="more-326"></span></p>
<h4>Esempio 1: menu con css e javascript che spegne tutte le voci tranne quella selezionata col mouse</h4>
<p><a target="_blank" title="Menu js background" href="http://www.diplod.it/dev/menu-bg/">Da questa pagina si può vedere l&#8217;esempio</a>. L&#8217;immagine utilizzata per le tab è una sola, viene caricata secondo la <a target="_blank" title="css sliding doors tab menu" href="http://www.dynamicdrive.com/style/csslibrary/item/sliding-doors-tabs-menu/">tecnica dello slittamento</a> dell&#8217;immagine di sfondo.</p>
<p><img alt="tab" id="image329" src="http://www.diplod.it/wp-content/uploads/2007/07/tab.gif" /></p>
<p><strong>Sintassi HTML</strong>:</p>
<p><code><br />
&lt;ul id="menu"&gt;<br />
&lt;li id="current"&gt;&lt;a xhref="http://www.diplod.it/index.html" mce_href="http://www.diplod.it/index.html"        &gt;Home&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a xhref="http://www.diplod.it/#" mce_href="http://www.diplod.it/#"        &gt;Dove Siamo&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a xhref="http://www.diplod.it/#" mce_href="http://www.diplod.it/#"        &gt;Cosa Facciamo&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a xhref="http://www.diplod.it/#" mce_href="http://www.diplod.it/#"        &gt;Contatti&lt;/a&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;a xhref="http://www.diplod.it/#" mce_href="http://www.diplod.it/#"        &gt;Dicono di Noi&lt;/a&gt;&lt;/li&gt;<br />
&lt;/ul&gt;<br />
</code><br />
<strong>Il codice css</strong>:</p>
<p><code>/*menu tabs*/<br />
#menu {<br />
margin: 80px auto 0 auto;<br />
padding: 0;<br />
height: 30px;<br />
width: 880px;<br />
list-style: none;<br />
border-bottom: 5px solid #7ce41d;<br />
font: bold 13px/30px Arial, 'Trebuchet MS', Tahoma, verdana, sans-serif;<br />
}<br />
#menu li {<br />
display: inline;<br />
margin: 0;<br />
padding: 0;<br />
}<br />
#menu li a {<br />
height: 30px;<br />
width: 140px;<br />
float: left;<br />
background: url(tab.gif) no-repeat center top;<br />
margin: 0;<br />
padding: 0;<br />
text-decoration: none;<br />
color: #333;<br />
}<br />
#menu li a:hover {<br />
color: #336633;<br />
<strong>background: url(tab.gif) no-repeat center top !important;</strong><br />
}</code></p>
<p><strong>Il codice javascript</strong> (esterno alla pagina):</p>
<p><code>function cambiaSfondo(hover) { //cambia lo sfondo a tutte le altre tab<br />
var menu = document.getElementById('menu');<br />
var lis = menu.getElementsByTagName('li');<br />
for (var j = 0; j < lis.length; j++) {<br />
<strong>var a = lis[j].getElementsByTagName('a');<br />
a[0].style.backgroundPosition ='0 -30px';</strong><br />
}<br />
}<br />
function ripristinaSfondo(hover) { //cambia lo sfondo a tutte le altre tab<br />
var menu = document.getElementById('menu');<br />
var lis = menu.getElementsByTagName('li');<br />
for (var j = 0; j < lis.length; j++) {<br />
<strong>var a = lis[j].getElementsByTagName('a');<br />
a[0].style.backgroundPosition ='0 0';</strong><br />
}<br />
}<br />
//Events<br />
function addEvent(elm, evType, fn) {<br />
// cross-browser event handling<br />
if(elm.addEventListener) {<br />
elm.addEventListener(evType, fn, false);<br />
return true;<br />
}<br />
else if(elm.attachEvent) {<br />
var r = elm.attachEvent('on'+evType,fn);<br />
return r;<br />
}<br />
else {<br />
elm['on'+evType] = fn<br />
}<br />
}<br />
function addListeners(e) {<br />
var menu = document.getElementById('menu');<br />
var lis = menu.getElementsByTagName('li');<br />
for (var j = 0; j < lis.length; j++) {<br />
var a = lis[j].getElementsByTagName('a');<br />
<strong>addEvent(a[0],'mouseover',cambiaSfondo);<br />
addEvent(a[0],'mouseout',ripristinaSfondo);</strong><br />
}<br />
}<br />
//Aggiungi gli ascoltatori degli eventi quando si carica la pagina<br />
addEvent(window,'load',addListeners);</code></p>
<h4><strong>Esempio 2: Sfondo alternato su un unico bottone diviso in due</strong></h4>
<p><a target="_blank" title="Big button js background" href="http://www.diplod.it/dev/big-button-bg/">Da questa pagina si può vedere l&#8217;esempio</a>. In questo caso l&#8217;immagine utlizzata è decisamente pià grande (e pesante), ma in questo modo si evita che l&#8217;utente percepisca il vuoto mentre l&#8217;immagine si carica al passaggio del mouse. Lo sfondo è relativo al box esterno che contiene i due interni (destro e sinistro) entrambi con sfondo trasparente.</p>
<p><img alt="Big Button" id="image330" src="http://www.diplod.it/wp-content/uploads/2007/07/big-button-bg.gif" /></p>
<p><strong>Sintassi HTML</strong>:</p>
<p><code><br />
&lt;div id=bigbutton" &gt;<br />
&lt;div id="bbleft"&gt;<br />
&lt;h1&gt;&lt;a xhref="" mce_href=""     &gt;Pulsante Sinistro&lt;/a&gt;&lt;/h1&gt;<br />
&lt;h2 class="on-air"&gt;Passa il mouse qui sopra&lt;/h2&gt;<br />
&lt;/div&gt;<br />
&lt;div id="bbright"&gt;<br />
&lt;h1&gt;&lt;a xhref="" mce_href=""     &gt;Pulsante Destro&lt;/a&gt;&lt;/h1&gt;<br />
&lt;h2&gt;Oppure qui sopra..&lt;/h2&gt;<br />
&lt;/div&gt;<br />
&lt;/div&gt;<br />
</code></p>
<p><strong>Il codice css</strong>:<br />
Una piccola nota: il lampeggiamento del titoletto di sinistra non è opera del javascript, ma della dichiarazione css &#8220;text-decoration: blink&#8221;.</p>
<p><code>/*big-button*/<br />
#bigbutton {<br />
height: 130px;<br />
width: 880px;<br />
margin: 100px auto 0 auto;<br />
padding: 0px;<br />
<span style="font-weight: bold">background: transparent url(big-button-bg.gif) no-repeat center top;</span><br />
}<br />
#bbleft {<br />
width: 420px;<br />
margin: 0;<br />
padding: 0;<br />
display: inline;<br />
float: left;<br />
<span style="font-weight: bold">cursor: pointer;</span><br />
}<br />
#bbright {<br />
width: 420px;<br />
padding: 0;<br />
margin: 0;<br />
float: right;<br />
display: inline;<br />
<span style="font-weight: bold">cursor: pointer;</span><br />
}<br />
#bigbutton h1 {<br />
font: 2em/90px Verdana, Arial, sans-serif;<br />
letter-spacing: -3px;<br />
font-weight: bold;<br />
text-align: center;<br />
margin: 0 auto;<br />
padding: 0px;<br />
}<br />
#bigbutton a, #bigbutton a:hover {<br />
color: #333;<br />
text-decoration: none;<br />
outline: none; /* hide dotted outline */<br />
}<br />
#bigbutton h2 {<br />
font: 1.2em/20px Verdana, Arial, sans-serif;<br />
text-align: center;<br />
margin: 0 auto;<br />
padding: 0px;<br />
color: #555;<br />
text-transform:uppercase;<br />
}<br />
#bigbutton h2.on-air {<br />
<span style="font-weight: bold">text-decoration: blink;</span><br />
}</code></p>
<p><strong>Il codice javascript</strong> (esterno alla pagina):</p>
<p><code>function avvertisx() {<br />
alert('Hai cliccato sul pulsante di sinistra!');<br />
}<br />
function avvertidx() {<br />
alert('Hai cliccato sul pulsante di destra!');<br />
}<br />
function sfondosx() { //imposta lo sfondo quando si passa il mouse sul pulsante di sinistra<br />
var bigbutton = document.getElementById('bigbutton');<br />
<span style="font-weight: bold">bigbutton.style.backgroundPosition ='0 -130px';</span><br />
}<br />
function sfondodx() { //imposta lo sfondo quando si passa il mouse sul pulsante di destra<br />
var bigbutton = document.getElementById('bigbutton');<br />
<span style="font-weight: bold">bigbutton.style.backgroundPosition ='0 -260px';</span><br />
}<br />
function ripristinaSfondo() { //ripristina lo sfondo normale<br />
var bigbutton = document.getElementById('bigbutton');<br />
<span style="font-weight: bold">bigbutton.style.backgroundPosition ='0 0';</span><br />
}<br />
//Events<br />
function addEvent(elm, evType, fn) {<br />
// cross-browser event handling<br />
if(elm.addEventListener) {<br />
elm.addEventListener(evType, fn, false);<br />
return true;<br />
}<br />
else if(elm.attachEvent) {<br />
var r = elm.attachEvent('on'+evType,fn);<br />
return r;<br />
}<br />
else {<br />
elm['on'+evType] = fn<br />
}<br />
}<br />
function addListeners(e) {<br />
var bbleft = document.getElementById('bbleft');<br />
var bbright = document.getElementById('bbright');<br />
addEvent(bbleft,'click',avvertisx);<br />
<span style="font-weight: bold">addEvent(bbleft,'mouseover',sfondosx);</span><br style="font-weight: bold" /><span style="font-weight: bold">addEvent(bbleft,'mouseout',ripristinaSfondo);</span><br />
addEvent(bbright,'click',avvertidx);<br />
<span style="font-weight: bold">addEvent(bbright,'mouseover',sfondodx);</span><br style="font-weight: bold" /><span style="font-weight: bold">addEvent(bbright,'mouseout',ripristinaSfondo);</span><br />
}<br />
//Aggiungi gli ascoltatori degli eventi quando si carica la pagina<br />
addEvent(window,'load',addListeners);</code></p>
<h4><strong>Esempio 3: Sfondo alternato su due div separati</strong></h4>
<p><a target="_blank" title="Box js background" href="http://www.diplod.it/dev/box-bg/">Da questa pagina si può vedere l&#8217;esempio</a>. In questo caso si utilizza un&#8217;immagine diversa per ogni blocco, che viene fatta slittare al passaggio del mouse su uno di essi.</p>
<p><img alt="BB Left" id="image331" src="http://www.diplod.it/wp-content/uploads/2007/07/bbleft.gif" /> <img alt="BB Right" id="image332" src="http://www.diplod.it/wp-content/uploads/2007/07/bbright.gif" /></p>
<p><strong>Sintassi HTML</strong>:</p>
<p><code><br />
&lt;div id="bbleft"&gt;<br />
&lt;h1&gt;&lt;a xhref="" mce_href=""     &gt;Pulsante Sinistro&lt;/a&gt;&lt;/h1&gt;<br />
&lt;h2 class="on-air"&gt;Passa il mouse qui sopra&lt;/h2&gt;<br />
&lt;/div&gt;<br />
&lt;div id="bbright"&gt;<br />
&lt;h1&gt;&lt;a xhref="" mce_href=""     &gt;Pulsante Destro&lt;/a&gt;&lt;/h1&gt;<br />
&lt;h2&gt;Oppure qui sopra..&lt;/h2&gt;<br />
&lt;/div&gt;<br />
</code></p>
<p><strong>Il codice css</strong>:<br />
Nota: in questo caso i box sono posizionati in maniera assoluta, ma è possibile utilizzare qualsiasi elemento purchè esso venga identificato con un ID. Penso solo a un <span style="font-weight: bold">effetto di sfumatura su un box all&#8217;interno del quale sono presenti link nei paragrafi di testo</span>. Credo possa essere interessante, soprattutto se consideriamo il fatto che questa soluzione non va a ledere in nessun modo gli utenti con javascript disabilitato.<br />
<code>/*divs*/<br />
#bbleft {<br />
width: 380px;<br />
height: 130px;<br />
margin: 0;<br />
padding: 0;<br />
display: inline;<br />
cursor: pointer;<br />
<span style="font-weight: bold">background: transparent url(bbleft.gif) no-repeat center top;</span><br />
position: absolute;<br />
top: 40px; left: 100px;<br />
}<br />
#bbright {<br />
width: 380px;<br />
height: 130px;<br />
padding: 0;<br />
margin: 0;<br />
display: inline;<br />
cursor: pointer;<br />
<span style="font-weight: bold">background: transparent url(bbright.gif) no-repeat center top;</span><br />
position: absolute;<br />
top: 200px; right: 200px;<br />
}<br />
#bbleft h1, #bbright h1 {<br />
font: 2em/90px Verdana, Arial, sans-serif;<br />
letter-spacing: -3px;<br />
font-weight: bold;<br />
text-align: center;<br />
margin: 0 auto;<br />
padding: 0px;<br />
}<br />
#bbleft a, #bbleft a:hover, #bbright a, #bbright a:hover {<br />
color: #333;<br />
text-decoration: none;<br />
outline: none; /* hide dotted outline*/<br />
}<br />
#bbleft h2, #bbright h2 {<br />
font: 1.2em/20px Verdana, Arial, sans-serif;<br />
text-align: center;<br />
margin: 0 auto;<br />
padding: 0px;<br />
color: #555;<br />
text-transform:uppercase;<br />
}<br />
#bbleft h2.on-air {<br />
text-decoration: blink;<br />
}</code></p>
<p><strong>Il codice javascript</strong> (esterno alla pagina):</p>
<p><code>function avvertisx() {<br />
alert('Hai cliccato sul pulsante di sinistra!');<br />
}<br />
function avvertidx() {<br />
alert('Hai cliccato sul pulsante di destra!');<br />
}<br />
function sfondosx() { //imposta lo sfondo a destra quando si passa il mouse sul pulsante di sinistra<br />
var bbright = document.getElementById('bbright');<br />
<span style="font-weight: bold">bbright.style.backgroundPosition ='0 -130px';</span><br />
}<br />
function sfondodx() { //imposta lo sfondo a sinistra quando si passa il mouse sul pulsante di destra<br />
var bbleft = document.getElementById('bbleft');<br />
<span style="font-weight: bold">bbleft.style.backgroundPosition ='0 -130px';</span><br />
}<br />
function ripristinaSfondosx() { //ripristina lo sfondo normale a destra<br />
var bbright = document.getElementById('bbright');<br />
<span style="font-weight: bold">bbright.style.backgroundPosition ='0 0';</span><br />
}<br />
function ripristinaSfondodx() { //ripristina lo sfondo normale a sinistra<br />
var bbleft = document.getElementById('bbleft');<br />
<span style="font-weight: bold">bbleft.style.backgroundPosition ='0 0';</span><br />
}<br />
//Events<br />
function addEvent(elm, evType, fn) {<br />
// cross-browser event handling<br />
if(elm.addEventListener) {<br />
elm.addEventListener(evType, fn, false);<br />
return true;<br />
}<br />
else if(elm.attachEvent) {<br />
var r = elm.attachEvent('on'+evType,fn);<br />
return r;<br />
}<br />
else {<br />
elm['on'+evType] = fn<br />
}<br />
}<br />
function addListeners(e) {<br />
var bbleft = document.getElementById('bbleft');<br />
var bbright = document.getElementById('bbright');<br />
addEvent(bbleft,'click',avvertisx);<br />
<span style="font-weight: bold">addEvent(bbleft,'mouseover',sfondosx);</span><br style="font-weight: bold" /><span style="font-weight: bold">addEvent(bbleft,'mouseout',ripristinaSfondosx);</span><br />
addEvent(bbright,'click',avvertidx);<br />
<span style="font-weight: bold">addEvent(bbright,'mouseover',sfondodx);</span><br style="font-weight: bold" /><span style="font-weight: bold">addEvent(bbright,'mouseout',ripristinaSfondodx);</span><br />
}<br />
//Aggiungi gli ascoltatori degli eventi quando si carica la pagina<br />
addEvent(window,'load',addListeners);</code><br />
Se avete problemi ad utilizzare questi esempi o volete capire come personalizzarli non esitate a fare domande.. Alla prossima.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2007/07/23/javascript-background-image-change-per-menu-e-div/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>StripeGenerator and co.</title>
		<link>http://www.diplod.it/2007/04/23/stripegenerator/</link>
		<comments>http://www.diplod.it/2007/04/23/stripegenerator/#comments</comments>
		<pubDate>Mon, 23 Apr 2007 01:21:04 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.diplod.it/2007/04/23/stripegenerator/</guid>
		<description><![CDATA[Ho scoperto quasi per caso che due personaggi italiani hanno creato un simpatico aggeggio per facilitare la creazione di quelle lineette oblique tanto di moda adesso. Non sono solito segnalare questo genere di tool, ma visto che gli autori sono due connazionali mi sbilancio. Si tratta di StripeGenerator, creato da Alex La Rosa e Fabio [...]]]></description>
			<content:encoded><![CDATA[<p>Ho scoperto quasi per caso che due personaggi italiani hanno creato un simpatico aggeggio per facilitare la creazione di quelle lineette oblique tanto di moda adesso. Non sono solito segnalare questo genere di tool, ma visto che gli autori sono due connazionali mi sbilancio. Si tratta di <strong><a target="_blank" title="stripe generator" href="http://www.stripegenerator.com">StripeGenerator</a></strong>, creato da <strong>Alex La Rosa</strong> e <strong>Fabio Fidanza</strong>. Un sapiente modo per guadagnarsi un po&#8217; di notorietà.</p>
<div style="text-align: center"><img id="image235" alt="stripe generator" src="http://www.diplod.it/wp-content/uploads/2007/04/stripe_logo.gif" /></div>
<p>Il sito è composto da una sola pagina, dove si possono impostare i parametri e i colori per poi generare una immagine png. La qualità è piuttosto buona, anche se personalmente preferisco creare questo genere di cose in autonomia col mio programma di grafica preferito.<br />
In ogni caso non sempre è facile creare texture ripetibili e sfumature, in questo modo potremo velocizzarne la creazione.<br />
A tal proposito segnalo anche il <a target="_blank" title="deziner folio" href="http://www.dezinerfolio.com/2007/03/24/creating-seamless-web-20-stripe-site-headers/">brevissimo tutorial di Deziner Folio</a> per la creazione con Photoshop di questo tipo di cose.</p>
<p><span id="more-233"></span></p>
<p>Una piccola critica: il <strong>sottotitolo</strong> stona un pochetto.. L&#8217;avevo detto anche in altre occasioni, il web 2.0 non sono solo angoli arrotondati, trasparenze e linee oblique. Ma tant&#8217;è: beta.</p>
<p>Finchè ci siamo, segnaliamo anche qualche tecnica per gli angoli arrotondati, così abbiamo fatto 100.<br />
Sempre di italianità si tratta, ecco l&#8217;ottimo articolo di <strong>Alessandro Fulciniti</strong> sui <a title="nifty corners" target="_blank" href="http://www.html.it/articoli/nifty/index.html">Nifty Corners</a> (una particolare tecnica che lavora senza immagini); mentre qualcun altro ha pensato bene di mettere in piedi un <a title="spiffy corners" target="_blank" href="http://www.spiffycorners.com/">generatore automatico</a>.</p>
<div style="text-align: center"><img id="image236" alt="spiffy corners" src="http://www.diplod.it/wp-content/uploads/2007/04/spiffy.gif" /></div>
<p>Un altro tool per la generazione di angoli arrotondati è <a title="cornershop" target="_blank" href="http://wigflip.com/cornershop/">Cornershop</a> (in questo caso si utilizzano le immagini), giusto per citare i due più noti e qualitativamente accettabili.<br />
Possono essere dei comodi strumenti per testare velocemente alcune idee e metterle in pratica senza troppa fatica.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2007/04/23/stripegenerator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 Aprile: Senza vestiti in pubblico..</title>
		<link>http://www.diplod.it/2007/04/05/5-aprile-senza-vestiti-in-pubblico/</link>
		<comments>http://www.diplod.it/2007/04/05/5-aprile-senza-vestiti-in-pubblico/#comments</comments>
		<pubDate>Thu, 05 Apr 2007 16:29:16 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Pensieri Sconnessi]]></category>

		<guid isPermaLink="false">http://www.diplod.it/2007/04/05/5-aprile-senza-vestiti-in-pubblico/</guid>
		<description><![CDATA[Per un giorno diploD si sveste, e mostra a tutti il suo &#8216;body&#8216; Oggi, 5 di Aprile, è il CSS Naked Day, ovvero il giorno in cui un sacco di siti disattiveranno i loro fogli di stile CSS e mostreranno la struttura delle pagine nuda e cruda, senza la classica veste fatta da immagini e [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: center"><img id="image216" alt="css naked day" src="http://www.diplod.it/wp-content/uploads/2007/04/naked-day-07.png" /></div>
<p>Per un giorno <strong>diploD</strong> si sveste, e mostra a tutti il suo &#8216;<strong>body</strong>&#8216;<br />
Oggi, 5 di Aprile, è il <a title="CSS naked day" target="_blank" href="http://naked.dustindiaz.com/">CSS Naked Day</a>, ovvero il giorno in cui un sacco di siti disattiveranno i loro fogli di stile CSS e mostreranno la struttura delle pagine nuda e cruda, senza la classica veste fatta da immagini e colori. L&#8217;idea è semplice e banale: l&#8217;obiettivo è promuovere i <strong>Web Standards</strong>, il corretto uso dell&#8217;<strong>(x)html</strong>, una buona <strong>struttura gerarchica</strong>, <strong>markup semantico</strong>..<br />
Sono arrivato un po&#8217; tardi, perchè la notizia l&#8217;ho appresa solo oggi (<a target="_blank" href="http://www.duechiacchiere.it/488">grazie a samu</a>, tra gli altri hanno partecipato anche <a title="senzastile" target="_blank" href="http://www.senzastile.it/2007/04/05/css-naked-day-07-tutti-nudi/">SenzaStile</a>, <a target="_blank" href="http://www.creativebits.it/news/css-naked-day/">CreativeBits</a>..). Ma non potevo lasciarla passare inosservata.. anche perchè diploD senza abiti non è poi così male. :)</p>
<p><span id="more-217"></span></p>
<p><strong>IL GIORNO DOPO</strong></p>
<p>Si torna ai vestiti di tutti i giorni, per la cronaca ecco come appariva diploD senza CSS.</p>
<div style="text-align: center"><img id="image218" alt="diploD naked" src="http://www.diplod.it/wp-content/uploads/2007/04/diplod_naked.png" /></div>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2007/04/05/5-aprile-senza-vestiti-in-pubblico/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Joomla e tabelle: alla fine mi arrendo..</title>
		<link>http://www.diplod.it/2007/03/21/joomla-e-tabelle-alla-fine-mi-arrendo/</link>
		<comments>http://www.diplod.it/2007/03/21/joomla-e-tabelle-alla-fine-mi-arrendo/#comments</comments>
		<pubDate>Wed, 21 Mar 2007 16:20:05 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.diplod.it/2007/03/21/joomla-e-tabelle-alla-fine-mi-arrendo/</guid>
		<description><![CDATA[Sto lavorando alla messa a punto di un template per Joomla. Il mio metodo di lavoro è il solito, prima di partire vado alla ricerca di layout GPL per vedere quali sono le soluzioni migliori e adattarle alle mie esigenze. Premetto che finora non avevo mai creato un template per joomla da zero, quindi queste [...]]]></description>
			<content:encoded><![CDATA[<p>Sto lavorando alla messa a punto di un <strong>template per <a title="joomla" target="_blank" href="http://www.joomla.org/">Joomla</a></strong>. Il mio metodo di lavoro è il solito, prima di partire vado alla ricerca di <strong>layout GPL</strong> per vedere quali sono le soluzioni migliori e adattarle alle mie esigenze. Premetto che finora non avevo mai creato un template per joomla da zero, quindi queste sono le considerazioni di una <em>new-entry</em>.<br />
Ho perso un sacco di tempo per capire se fosse possibile con Joomla 1.0.x avere un template <strong>tableless</strong>, ovvero senza le odiose e fastidiose tabelle, tanto deprecate dagli standard. Alla fine mi sono arreso: il cuore del CMS genera infatti diverse tabelle che non è possibile eliminare se non intervenendo pesantemente sul codice sorgente. Cosa che non conviene assolutamente fare, per una questione di tempo e di aggiornabilità del sistema.</p>
<p>Ho scaricato una miriade di template open source e li ho testati in locale uno ad uno, la maggior parte utilizza una tabellona a tutta pagina come base del layout; altri implementano soluzioni più eleganti, con uno schema impostato sui &#8220;div&#8221; facilmente gestibili da css. Ho impostato il mio lavoro a partire da uno di questi, ma non posso sfuggire alla tabella delle ultime notizie in home page.. A quanto pare è un <a target="_blank" title="joomla e tabelle" href="http://forum.joomla.it/index.php?topic=6263.msg25944">problema che hanno avuto anche altri</a>, e dovrebbe essere risolto con le prossime release di Joomla (il ramo 1.5), intanto però ci si adatta.<br />
Joomla è stato recentemente <a title="premio miglior CMS" target="_blank" href="http://www.joomla.it/index.php?option=com_content&#038;task=view&#038;id=497&#038;Itemid=132">premiato come <strong>miglior CMS</strong></a>, devo ammettere che il pannello di amministrazione e la gestione dei contenuti sono davvero eccezionali, ma l&#8217;impressione che ho avuto con lo sviluppo del template è che siamo anni luce indietro rispetto a <strong>WordPress</strong>. Scrodatevi le funzioni richiamabili quà e là, le personalizzazioni fino all&#8217;osso: il sito classico in Joomla è piuttosto rigido.</p>
<p><span id="more-200"></span></p>
<p>Tengo a precisare: sto facendo un paragone con WordPress, ma questo è da intendersi solo relativamente alla questione dello sviluppo di un template. I due sistemi, entrambi open source, non sono confrontabili tra loro in senso lato, in quanto svolgono due funzioni diverse. WordPress è una piattaforma di blogging, Joomla è un CMS completo che tra le altre cose prevede anche la registrazione degli utenti. Se dobbiamo scegliere uno strumento sul quale costruire il nostro sito, non basiamoci soltanto sul sistema template..</p>
<p>C&#8217;è poi un&#8217;altra faccenda che mi sta particolarmente a cuore. Il sito ufficiale di Joomla (in inglese) non ha una sezione che raccoglie tutti i template liberamente scaricabili. Anche qui il parallelismo con WordPress balza subito in testa, non esiste infatti un equivalente delll&#8217;insuperabile <a title="theme viewer WP" target="_blank" href="http://themes.wordpress.net/">ThemeViewer</a>. Una nota di merito va invece alla comunità italiana, che tiene in archivio il <a title="Template Joomla" target="_blank" href="http://template.joomla.it/">Calderone dei Template</a>, dove è possibile visionare e scaricare i lavori, ma senza poterli filtrare come avviene su TW.<br />
Quando si va alla ricerca di temi per Joomla quindi si ricorre a Google, ed è triste notare come ci sia una vera e propria anarchia, con una miriade di finti siti che dichiarano di offrire template free e poi invece ti propinano template-pro a pagamento o impongono la registrazione per poter scaricare gli zip. Una cosa che mi ha lasciato particolarmente perplesso è il tutorial per creare un template <em>w3c valid</em> per joomla. Se cercate su Google la stringa &#8220;<strong>joomla w3c valid template</strong>&#8221; appaiono solo link che rimandano al tutorial di Compassdesigns. Il tutorial non è poi così ben curato, per questo non vi metto nemmo il link. Due commenti su tutti:</p>
<blockquote><p>Nice tutorial, but all of the tags in your code are missing the closing &#8216;>&#8217;<br />
Fairly annoying and unintuitive.</p></blockquote>
<blockquote><p>Standards?<br />
This page itself does not validate. Is this the best Joomla can do?</p></blockquote>
<p>E poi: non si poteva distribuire lo zip contenente i file normalemente? Non si capisce dove si possa scaricare, e pare che lo si possa fare solo registrandosi..</p>
<p>Ho citato questo sito solo per trarre le mie conclusioni: le basi sono buone, Joomla è un CMS davvero user-friendly nella gestione dei contenuti e degli utenti, ma deve ancora migliorare per quanto riguarda lo sviluppo dei template. Fermo restando che la personalizzazione del layout è sempre possibile, così come la validazione W3C. Ormai però non si può più considerare un pargoletto, è sulla scena da più di un anno e la vittoria del premio come miglior CMS lo ha consacrato come esempio da imitare, allora avanti con lo sviluppo.</p>
<p><strong>AGGIORNAMENTO</strong>: ho rilasciato un <strong>template gratuito per joomla</strong>, validato W3C e senza tabelle (almeno per quanto riguarda il codice scritto da me, e non quello prodotto da joomla).<br />
<a rel="nofollow" href="http://www.diplod.it/2007/04/09/template-gratuito-per-joomla/"> Da qui potete scaricarlo e vedere l&#8217;anteprima</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2007/03/21/joomla-e-tabelle-alla-fine-mi-arrendo/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>CSS: Strani bug su IE</title>
		<link>http://www.diplod.it/2007/03/11/css-strani-bug-su-ie/</link>
		<comments>http://www.diplod.it/2007/03/11/css-strani-bug-su-ie/#comments</comments>
		<pubDate>Sun, 11 Mar 2007 00:59:47 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[errori]]></category>
		<category><![CDATA[ie]]></category>

		<guid isPermaLink="false">http://www.diplod.it/2007/03/11/css-strani-bug-su-ie/</guid>
		<description><![CDATA[Negli ultimi tempi sto lavorando a pieno ritmo sui fogli di stile CSS. Ho colto l&#8217;occasione per apportare anche qualche piccola miglioria a diploD e mentre facevo ciò ho notato alcuni strani bug. Non ho approfondito le mie ricerche quindi non posso essere certo che questi problemi siano sconosciuti, resta il fatto che sono perlomeno [...]]]></description>
			<content:encoded><![CDATA[<p>Negli ultimi tempi sto lavorando a pieno ritmo sui fogli di stile CSS. Ho colto l&#8217;occasione per apportare anche qualche piccola miglioria a diploD e mentre facevo ciò ho notato alcuni strani bug. Non ho approfondito le mie ricerche quindi non posso essere certo che questi problemi siano sconosciuti, resta il fatto che sono perlomeno &#8220;particolari&#8221;. Andiamo ad analizzarli.</p>
<h4>Margini mangiati</h4>
<p>Il problema è davvero particolare. Consideriamo un box con il seguente codice css:</p>
<p><code>blockquote {<br />
margin: 15px 30px 0 10px;<br />
padding: 2px 6px 2px 20px;<br />
border-left: 5px solid #F8BF24;<br />
background: #FFF6D9 url('images/quote.gif') no-repeat top left;<br />
} </code></p>
<p>Su Firefox e Opera nessun problema, su Internet Explorer invece l&#8217;immagine di sfondo allineata a sinistra va in conflitto con il margine sinistro e si sovrappone ad esso. Tutto ciò che sta sotto al box viene poi spostato verso sinistra di qualche pixel, e finisce nascosto dietro al box esterno che lo contiene. L&#8217;effetto è a cascata: ovvero se sotto ci sarà un altro box di tipo <em>blockquote</em>, tutto ciò che viene dopo subisce uno spostamento verso sinistra ancora maggiore. La faccenda è ancora più strana se pensiamo che passando il mouse sopra a un link, l&#8217;allineamento delle righe prossime al link torna normale, mentre le righe sottostanti restano allineate male. Il bug si coglie bene da questi screenshot.</p>
<p><span id="more-189"></span></p>
<div style="text-align: center"><img id="image184" title="bug css" src="http://www.diplod.it/wp-content/uploads/2007/03/ie1.gif" alt="bug css" /></div>
<div style="text-align: center"><img id="image187" src="http://www.diplod.it/wp-content/uploads/2007/03/ie2.gif" alt="bug css" /></div>
<div style="text-align: center"><img id="image186" src="http://www.diplod.it/wp-content/uploads/2007/03/ie3.gif" alt="bug css" /></div>
<div style="text-align: center"><img id="image188" src="http://www.diplod.it/wp-content/uploads/2007/03/ie4.gif" alt="bug css" /></div>
<p>Il bug è stato corretto semplicemente mettendo l&#8217;immagine di sfondo a destra. Con l&#8217;immagine allineata in questo modo il problema non si manifesta più. Il nuovo codice del box risulta essere:</p>
<p><code>blockquote {<br />
margin: 5px;<br />
padding: 2px 26px 2px 6px;<br />
border: 1px solid #f3dc9e;<br />
border-left: 4px solid #F8BF24;<br />
background: #FFF6D9 url('images/quote.gif') no-repeat top right;<br />
overflow: auto;<br />
} </code></p>
<h4>Immagine di sfondo mangiata</h4>
<p>Su IE (Microsoft Internet Explorer) se abbiamo a che fare con un box sul quale è impostata la regola <em>overflow: hidden</em> e dove una parte del contenuto viene nascosta, l&#8217;immagine di sfondo di questo box viene mangiata e si vede solo in parte.<br />
Prendiamo ad esempio questo codice, relativo al box di sinistra dell&#8217;home page di diploD:</p>
<p><code>#homeboxleft {<br />
float: left;<br />
width: 53%;<br />
padding: 10px;<br />
margin: 20px 1% 60px 0;<br />
overflow: hidden;<br />
background: #fff url('images/homeboxbg_left.gif') no-repeat top right;<br />
border: 1px solid #ccc;<br />
} </code>Questo box ha come immagine di sfondo l&#8217;arcobaleno a tre colori. Se all&#8217;interno andiamo a mettere un&#8217;immagine che sfora le dimensioni del box in larghezza essa viene tagliata, in virtù della regola di <em>overflow</em>. Lo si può vedere bene in questi screenshot. Il primo riporta l&#8217;immagine che sfora la larghezza del box mentre il secondo mette in evidenza l&#8217;immagine di sfondo &#8220;tagliata&#8221;.</p>
<div style="text-align: center"><img id="image181" src="http://www.diplod.it/wp-content/uploads/2007/03/immmagine_ie6.gif" alt="bug css" /></div>
<div style="text-align: center"><img id="image182" src="http://www.diplod.it/wp-content/uploads/2007/03/bug_ie.gif" alt="bug css" /></div>
<p>Ciò che accade è sintetizzato in questo schema.</p>
<div style="text-align: center"><img id="image183" src="http://www.diplod.it/wp-content/uploads/2007/03/schema.jpg" alt="bug css" /></div>
<p>Questo problema si manifesta su Internet Explorer sia con la versione 6 che con la versione 7, anche se con quest&#8217;ultima l&#8217;immagine che sfora viene ridimensionata. Su Firefox invece è tutto normale, l&#8217;immagine di sfondo viene allineata al bordo del box mentre l&#8217;immagine più larga viene automaticamente ridimensionata all&#8217;interno del box.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2007/03/11/css-strani-bug-su-ie/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Il rilascio di un layout nell&#8217;era 2.0</title>
		<link>http://www.diplod.it/2007/01/30/il-rilascio-di-un-layout-nellera-20/</link>
		<comments>http://www.diplod.it/2007/01/30/il-rilascio-di-un-layout-nellera-20/#comments</comments>
		<pubDate>Tue, 30 Jan 2007 16:08:34 +0000</pubDate>
		<dc:creator>Davide</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Progetti]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.diplod.it/2007/01/30/il-rilascio-di-un-layout-nellera-20/</guid>
		<description><![CDATA[Negli ultimi giorni ho dedicato i mei sforzi alla creazione di un template per il blog di Giovy. Molti di voi avranno già avuto modo di vederlo, e molti hanno lasciato commenti al post di presentazione che Giovy ha scritto. Scrivo questo post per documentare una bella esperenzia. Il primo rilascio è avvenuto domenica notte, [...]]]></description>
			<content:encoded><![CDATA[<p><img align="left" alt="logo giovy" id="image113" title="logo giovy" src="http://www.diplod.it/wp-content/uploads/2007/01/logo-giovy.gif" />Negli ultimi giorni ho dedicato i mei sforzi alla creazione di un template per il <a target="_blank" title="giovy's blog" href="http://www.giovy.it/">blog di Giovy</a>. Molti di voi avranno già avuto modo di vederlo, e molti hanno <a target="_blank" title="giovy's blog layout 3.0" href="http://www.giovy.it/2007/01/29/giovys-blog-layout-30/">lasciato commenti al post di presentazione</a> che Giovy ha scritto.</p>
<p>Scrivo questo post per documentare una bella esperenzia. Il primo rilascio è avvenuto domenica notte, come è prassi per i siti altemente frequentati, per evitare disfunzioni e problemi al server e agli utenti. A stretto contatto con GTalk, assieme a Giovy abbiamo messo a posto le prime cose.</p>
<p>Il giorno dopo gli assidui lettori di Giovy hanno iniziato a postare commenti. La fase di macro-testing era ufficialmente iniziata. Grazie ai consigli e ai suggerimenti che via via venivano proposti dagli utenti ho passato tutto il lunedì mattina e buona parte del lunedì pomeriggio ad apportare modifiche al layout. Una trentina di modifiche al css e una decina di cambiamenti nei vari file php del template. Tutto questo ha fatto sì che nel giro di una giornata venissero corretti alcuni errori di visualizzazione (come quello nel modulo dei commenti, che con explorer scappava via dove nessuna regola css gli aveva imposto.. caro vecchio IE, che dire?!) e di ottimizzare diverse piccole cose: dai colori dei link agli spazi bianchi nell&#8217;header.</p>
<p><span id="more-112"></span></p>
<p>Ho sperimentato quindi a tutti gli effetti ciò che viene definito <strong>rilascio continuo</strong>. Nell&#8217;era del web2.0 non esiste più il <strong>rilascio per versioni</strong> ma le applicazioni, così come un template, vengono buttate fuori in beta perpetuo e le correzioni si apportano man mano che gli utenti segnalano anomalie, consigli, suggerimenti. Alcuni di questi  risultano davvero preziosi. Certo alcune cose avrei potuto sistemarle in locale, e faccio il mea cupla, ma tutto sommato dopo una giornata di assestamento le cose sembrano andare per il meglio. Giusto qualche minuto fa ho inviato a giovy un&#8217;altra piccola correzione.</p>
<p>Era il primo grande lavoro per un sito altamente trafficato, e tutto sommato sono soddisfatto di come è stato portato a compimento.<br />
Lavorare sulla grafica è senza dubbio un&#8217;attività più creativa che scrivere codice o capire come connettere un&#8217;applicazione java al database di SAP: ma a volte tocca fare anche quello (leggi nei prossimi mesi, ndr).<br />
Da questa esperienza ho imparato parecchio e spero non sia una parentesi a parte. Devo ringraziare i lettori di  giovy per gli interessanti consigli, i vari designer e programmatori che rendono disponibili i loro studi e lavori sul web, infine giovy che mi ha dato fiducia, e io spero di aver ripagato. Una delle cose più belle, credetemi, è stato conoscere al barcamp quello che prima era &#8220;un cliente&#8221; e si è trasformato in &#8220;persona&#8221;.<br />
Fin da subito ci siamo parlati con il &#8220;tu&#8221;, ci siamo aggiunti ai contatti Gtalk e spesso e volentieri sono nate discussioni e scambi di riflessione spontanei. Questo metodo di lavoro è ben diverso e decisamente più proficuo rispetto al vecchio sistema &#8220;cliente-studio&#8221;, dove le comunicazioni avvengono per email utilizzando il &#8220;lei&#8221;, le relazioni sono impersonali e nello sfondo vige la regola del &#8220;fidarsi è bene ma non fidarsi è meglio&#8221;.</p>
<p>Tornando al template, dopo la prima fase di macro-testing è ufficialmente iniziata la fase del micro-testing, dove verranno apportati gli aggiustamenti di misura, man mano che questi si rendono necessari.</p>
<p>In definitiva, il portfolio si espande.. e il sottoscritto ne giova. [ok, il gioco di parole è una battuta alla De Sica.. ma passatemala!]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.diplod.it/2007/01/30/il-rilascio-di-un-layout-nellera-20/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

