{"id":92,"date":"2005-10-16T11:31:21","date_gmt":"2005-10-16T10:31:21","guid":{"rendered":"http:\/\/www.zarrelli.org\/new_blog\/?p=92"},"modified":"2005-10-16T11:31:21","modified_gmt":"2005-10-16T10:31:21","slug":"della-opacita","status":"publish","type":"post","link":"https:\/\/www.zarrelli.org\/blog\/della-opacita\/","title":{"rendered":"Della opacit\u00e0"},"content":{"rendered":"<p>Sul sito di <a href=\"http:\/\/www.mandarindesign.com\/opacity.html\" target=\"_blank\">Mandarin Design<\/a>, trovo un&#8217;interessante digressione su come utilizzare l&#8217;alfa blending nei css in modo da giocare con gli effetti di trasparenza.<\/p>\n<p>Purtroppo, solo per Mozilla (anche Firefox) e Internet Explorer.<\/p>\n<p>L&#8217;opacit\u00e0 pu\u00f2 essere considerata come un&#8217;operazione di post processazione, ovvero dopo che un elemento \u00e8 stato disegnato a video, il valore di opacit\u00e0 determina quanto quest&#8217;ultimo venga sfumato all&#8217;inteno di una immagine composita. Il valore di opacit\u00e0 attribuito tramite i CSS a un elemento pu\u00f2 andare da <code>0.0<\/code> (trasparenza completa) a <code>1.0<\/code> (opacit\u00e0 completa) e ogni numero al di fuori di quest&#8217;arco verr\u00e0 riportato al suo interno. Se l&#8217;oggetto \u00e8 un elemento contenitore, l&#8217;effetto sar\u00e0 applicato ai suoi contenuti come se venissero sfumati sullo sfondo, usando una maschera in cui il valore di ogni pixel (della maschera) \u00e8 il valore di opacit\u00e0 indicato.<\/p>\n<h2>Qualche esempio<\/h2>\n<p>Il punto di partenza sar\u00e0 la mia immagine in formato manga, giusto per avere qualcosa di brutto che non possa essere ulteriormente peggiorato dai nostri esperimenti:<\/p>\n<p><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" width=\"50\" height=\"50\"\/><\/p>\n<p><\/p>\n<p>Ora, giochiamo un po&#8217;.<\/p>\n<h3>Iniziamo a sfumare<\/h3>\n<p>Prendiamo l&#8217;immagine precedente e mettiamola in una serie di sfumature, partendo da un&#8217;opacit\u00e0 al 25% e salendo di 25% ogni volta:<\/p>\n<div style=\"width:250px;margin:0 auto;\">\n<span style=\"float:left;filter:alpha(opacity=25);-moz-opacity:.25;opacity:.25;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" width=\"50\" height=\"50\"\/><\/span><span style=\"float:left;filter:alpha(opacity=50);-moz-opacity:.50;opacity:.50;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" width=\"50\" height=\"50\"\/><\/span><span style=\"float:left;filter:alpha(opacity=75);-moz-opacity:.75;opacity:.75;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" width=\"50\" height=\"50\"\/><\/span><span style=\"float:left;filter:alpha(opacity=100);-moz-opacity:1.0;opacity:1.0;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" width=\"50\" height=\"50\"\/><\/span>\n<\/div>\n<p>Simpatico, vero? Ecco il codice che potrete inserire nelle vostre pagine e adattare:<\/p>\n<form><textarea rows=\"10\" cols=\"55\" ><\/p>\n<div style=\"width:250px;margin:0 auto;\">\n<span style=\"float:left;filter:alpha(opacity=25);-moz-opacity:.25;opacity:.25;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" width=\"50\" height=\"50\"\/><\/span><span style=\"float:left;filter:alpha(opacity=50);-moz-opacity:.50;opacity:.50;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" width=\"50\" height=\"50\"\/><\/span><span style=\"float:left;filter:alpha(opacity=75);-moz-opacity:.75;opacity:.75;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" width=\"50\" height=\"50\"\/><\/span><span style=\"float:left;filter:alpha(opacity=100);-moz-opacity:1.0;opacity:1.0;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" width=\"50\" height=\"50\"\/><\/span><\/div>\n<p><\/textarea><\/form>\n<p>Da notare che \u00e8 stato utilizzato del codice specifico per il browser Mozilla <code>moz-opacity<\/code>, che con Firefox non si rende necessario. Meglio, comunque, utilizzarlo per una piena compatibilit\u00e0 con le versioni pi\u00f9 vecchie di Mozilla.<\/p>\n<h3>Opacizziamo al passaggio del mouse<\/h3>\n<p>Definiamo alcune classi CSS che ci consentano di modificare l&#8217;opacit\u00e0 degli oggetti al passaggio del mouse:<\/p>\n<form>\n<textarea rows=\"10\" cols=\"55\" ><\/p>\n<div style=\"width:250px;margin:0 auto;\">\n<style type=\"text\/css\">\n<!--\ndiv.transOFF {width: 100%; background-color: silver;border:1px solid black; }\ndiv.transON  {width: 100%; background-color: silver;opacity:.50;filter: alpha(opacity=50); -moz-opacity: 0.5;border:1px solid black; }\ndiv.trans25   {width: 100%; background-color: silver;opacity:.25;filter: alpha(opacity=25); -moz-opacity: 0.25;border:1px solid black; }\ndiv.trans75   {width: 100%; background-color: silver;opacity:.75;filter: alpha(opacity=75); -moz-opacity: 0.75;border:1px solid black; }\n-->\n<\/style>\n<\/div>\n<p><\/textarea><br \/>\n<\/form>\n<p><\/p>\n<p>E ora creiamo un testo in un div che ci consenta di gestire il passaggio del mouse:<\/p>\n<form>\n<textarea rows=\"10\" cols=\"55\" ><\/p>\n<div style=\"width:250px;margin:0 auto;\">\n<div class=\"transOFF\" onmouseover=\"this.className='transON'\" onmouseout=\"this.className='transOFF'\">\n<p style=\"padding:5px;width:75%;\">Passaci sopra con il mouse&#8230;Devi avere Mozilla o IE<\/p>\n<\/div>\n<\/div>\n<p><\/textarea><br \/>\n<\/form>\n<p>\nOra, l&#8217;effetto ottenuto sar\u00e0 il seguente:<\/p>\n<p><\/p>\n<div class=\"transOFF\" onmouseover=\"this.className='transON'\" onmouseout=\"this.className='transOFF'\">\n<p style=\"padding:5px;width:75%;\">Passaci sopra con il mouse&#8230;Devi avere Mozilla o IE<\/p>\n<\/div>\n<p><\/p>\n<p>Invertiamo l&#8217;attributo di partenza del div, e utiliziamo la classe transON, passando poi a transOFF<\/p>\n<p><\/p>\n<div class=\"transON\" onmouseover=\"this.className='transOFF'\" onmouseout=\"this.className='transON'\">\n<p style=\"padding:5px;width:75%;\">Passaci sopra con il mouse&#8230;Devi avere Mozilla o IE<\/p>\n<\/div>\n<p><\/p>\n<h3>Opacizziamo le immagini al passaggio del mouse<\/h3>\n<p>Applichiamo quanto finora visto alle immagini:<\/p>\n<p><\/p>\n<div class=\"trans25\"  style=\"width:50px;height:50px;\" onmouseover=\"this.className='transOFF'\" onmouseout=\"this.className='trans25'\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" width=\"50\" height=\"50\"  title=\"Da trans25 a transOFF passando con il mouse\" alt=\"trans25\"\/><\/div>\n<div class=\"transON\"  style=\"width:50px;height:50px;\" onmouseover=\"this.className='transOFF'\" onmouseout=\"this.className='transON'\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" width=\"50\" height=\"50\"  title=\"Da transON a transOFF passando con il mouse\" alt=\"transON\"\/><\/div>\n<div class=\"trans75\"  style=\"width:50px;height:50px;\" onmouseover=\"this.className='transOFF'\" onmouseout=\"this.className='trans75'\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" width=\"50\" height=\"50\"  title=\"Da trans75 a transOFF passando con il mouse\" alt=\"trans75\"\/><\/div>\n<p><\/p>\n<p>Il relativo codice \u00e8:<\/p>\n<form>\n<textarea rows=\"10\" cols=\"55\" ><\/p>\n<div style=\"width:250px;margin:0 auto;\">\n<div class=\"trans25\"  style=\"width:50px;height:50px;\" onmouseover=\"this.className='transOFF'\" onmouseout=\"this.className='trans25'\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" width=\"50\" height=\"50\"  title=\"trans25 to transOFF on mouseover\" alt=\"trans25\"\/><\/div>\n<div class=\"transON\"  style=\"width:50px;height:50px;\" onmouseover=\"this.className='transOFF'\" onmouseout=\"this.className='transON'\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" width=\"50\" height=\"50\"  title=\"transON to transOFF on mouseover\" alt=\"transON\"\/><\/div>\n<div class=\"trans75\"  style=\"width:50px;height:50px;\" onmouseover=\"this.className='transOFF'\" onmouseout=\"this.className='trans75'\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" width=\"50\" height=\"50\"  title=\"trans75 to transOFF on mouseover\" alt=\"trans75\"\/><\/div>\n<\/div>\n<p><\/textarea><br \/>\n<\/form>\n<h3>Opacizziamo immagini e testo<\/h3>\n<p>Proviamo ad applicare la trasparenza contemporaneamente sia a immagini che al testo.<\/p>\n<p><\/p>\n<div style=\"width:75%;\" class=\"trans25\"   onmouseover=\"this.className='transOFF'\" onmouseout=\"this.className='trans25'\">\n<p style=\"padding:5px;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" style=\"float:left;padding:5px;\" width=\"50\" height=\"50\"\/>Passaci sopra con il mouse&#8230;Devi avere Mozilla o IE. L&#8217;opacit\u00e0 \u00e8 al 25%<\/p>\n<\/div>\n<div style=\"width:75%;\" class=\"transON\"   onmouseover=\"this.className='transOFF'\" onmouseout=\"this.className='transON'\">\n<p style=\"padding:5px;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" style=\"float:left;padding:5px;\" width=\"50\" height=\"50\"\/>Passaci sopra con il mouse&#8230;Devi avere Mozilla o IE. L&#8217;opacit\u00e0 \u00e8 al 50%<\/p>\n<\/div>\n<div style=\"width:75%;\" class=\"trans75\"   onmouseover=\"this.className='transOFF'\" onmouseout=\"this.className='trans75'\">\n<p style=\"padding:5px;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" style=\"float:left;padding:5px;\" width=\"50\" height=\"50\"\/>Passaci sopra con il mouse&#8230;Devi avere Mozilla o IE. L&#8217;opacit\u00e0 \u00e8 al 75%<\/p>\n<\/div>\n<p><\/p>\n<p>Il relativo codice \u00e8:<\/p>\n<form>\n<textarea rows=\"10\" cols=\"55\" ><\/p>\n<div style=\"width:250px;margin:0 auto;\">\n<div style=\"width:75%;\" class=\"trans25\"   onmouseover=\"this.className='transOFF'\" onmouseout=\"this.className='trans25'\">\n<p style=\"padding:5px;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" style=\"float:left;padding:5px;\" width=\"50\" height=\"50\"\/>Passaci sopra con il mouse&#8230;Devi avere Mozilla o IE. L&#8217;opacit\u00e0 \u00e8 al 25%<\/p>\n<\/div>\n<div style=\"width:75%;\" class=\"transON\"   onmouseover=\"this.className='transOFF'\" onmouseout=\"this.className='transON'\">\n<p style=\"padding:5px;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" style=\"float:left;padding:5px;\" width=\"50\" height=\"50\"\/>Passaci sopra con il mouse&#8230;Devi avere Mozilla o IE. L&#8217;opacit\u00e0 \u00e8 al 50%<\/p>\n<\/div>\n<div style=\"width:75%;\" class=\"trans75\"   onmouseover=\"this.className='transOFF'\" onmouseout=\"this.className='trans75'\">\n<p style=\"padding:5px;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" style=\"float:left;padding:5px;\" width=\"50\" height=\"50\"\/>Passaci sopra con il mouse&#8230;Devi avere Mozilla o IE. L&#8217;opacit\u00e0 \u00e8 al 75%<\/p>\n<\/div>\n<\/div>\n<p><\/textarea><br \/>\n<\/form>\n<h3>Immagini opacizzate e link ipertestuali<\/h3>\n<p>Complichiamo un po&#8217; le cose e proviamo a creare una immagine, che cambi opacit\u00e0 al passaggio del mouse e che funga anche da collegamento ipertestuale. Iniziamo con il creare un paio di stili ad hoc:<\/p>\n<form>\n<textarea rows=\"10\" cols=\"55\" ><\/p>\n<div style=\"width:250px;margin:0 auto;\">\n<style type=\"text\/css\">\na.linkopacity img {\nfilter:alpha(opacity=50);\n-moz-opacity: 0.5;\nopacity: 0.5;}<\/p>\n<p>a.linkopacity:hover img {\nfilter:alpha(opacity=100);\n-moz-opacity: 1.0;\nopacity: 1.0;\n}\n<\/style>\n<\/div>\n<p><\/textarea><br \/>\n<\/form>\n<p><\/p>\n<p>E adesso \u00e8 il momento di inserire il seguente codice nella pagina html:<\/p>\n<form>\n<textarea rows=\"10\" cols=\"55\" ><\/p>\n<div style=\"width:250px;margin:0 auto;\">\n<p><a class=\"linkopacity\" href=\"https:\/\/www.zarrelli.org\/blog\/index.php\/2005\/10\/16\/della-opacita\/\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" width=\"100\" height=\"119\" style=\"border:1px solid black;\"\/><\/a><\/p>\n<\/div>\n<p><\/textarea><br \/>\n<\/form>\n<p><\/p>\n<p>Fatto? Ok, il risultato \u00e8&#8230;<\/p>\n<p><\/p>\n<p><a class=\"linkopacity\" href=\"https:\/\/www.zarrelli.org\/blog\/index.php\/2005\/10\/16\/della-opacita\/\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.zarrelli.org\/blog\/wp-content\/images\/giomang.jpg\" width=\"100\" height=\"119\" style=\"border:1px solid black;\"\/><\/a><\/p>\n<p><\/p>\n<p>Decisamente interessante. Non rimane ora che fare qualche prova, in attesa della seconda puntata sulla trasparenza con i CSS, nella quale verranno affrontati applicazioni dell&#8217;opacit\u00e0 davvero attraenti.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sul sito di Mandarin Design, trovo un&#8217;interessante digressione su come utilizzare l&#8217;alfa blending nei css in modo da giocare con gli effetti di trasparenza. Purtroppo, solo per Mozilla (anche Firefox) e Internet Explorer. L&#8217;opacit\u00e0 pu\u00f2 essere considerata come un&#8217;operazione di post processazione, ovvero dopo che un elemento \u00e8 stato disegnato a video, il valore di &hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[129,472,479],"class_list":["post-92","post","type-post","status-publish","format-standard","hentry","category-di-tutto-un-po","tag-applicazioni","tag-fon","tag-internet","without-featured-image"],"_links":{"self":[{"href":"https:\/\/www.zarrelli.org\/blog\/wp-json\/wp\/v2\/posts\/92","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zarrelli.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.zarrelli.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.zarrelli.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.zarrelli.org\/blog\/wp-json\/wp\/v2\/comments?post=92"}],"version-history":[{"count":0,"href":"https:\/\/www.zarrelli.org\/blog\/wp-json\/wp\/v2\/posts\/92\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.zarrelli.org\/blog\/wp-json\/wp\/v2\/media?parent=92"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.zarrelli.org\/blog\/wp-json\/wp\/v2\/categories?post=92"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zarrelli.org\/blog\/wp-json\/wp\/v2\/tags?post=92"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}