{"id":7678,"date":"2011-06-22T16:16:49","date_gmt":"2011-06-22T14:16:49","guid":{"rendered":"https:\/\/www.artera.net\/it\/blog\/?p=7678"},"modified":"2023-03-06T16:25:04","modified_gmt":"2023-03-06T16:25:04","slug":"riflessi-css-in-firefox","status":"publish","type":"post","link":"https:\/\/www.artera.net\/it\/marketing\/riflessi-css-in-firefox\/","title":{"rendered":"Riflessi CSS in Firefox"},"content":{"rendered":"<p>In questi giorni \u00e8 uscita la versione 5.0 di Firefox, che <strong>aggiunge supporto alle animazioni CSS e miglioramenti all&#8217;interfaccia<\/strong>. Ho quindi deciso di dedicare un&#8217;articolo a questo browser, per quanto personalmente continui a ritenere WebKit superiore.<\/p>\n<p>Da oltre 3 anni in WebKit \u00e8 presente una propriet\u00e0 CSS che permette di riflettere per intero un elemento del DOM: <a href=\"http:\/\/www.webkit.org\/blog\/182\/css-reflections\/\">-webkit-box-reflect<\/a>.<\/p>\n<p>In firefox questa propriet\u00e0 non \u00e8 presente, ma possiamo sfruttare l&#8217;interessante <a href=\"https:\/\/developer.mozilla.org\/en\/CSS\/-moz-element\">-moz-element<\/a> che permette di impostare come background di un elemento, <strong>una copia del contenuto di un&#8217;altro elemento<\/strong>, riferendosi ad esso tramite l&#8217;id.<\/p>\n<p>Utilizzando <em>-moz-element<\/em> in accoppiata con <em>-moz-transform<\/em> possiamo copiare il contenuto dell&#8217;elemento da riflettere e ribaltarne l&#8217;asse Y.<\/p>\n<h3>In Pratica<\/h3>\n<p>Nel nostro esempio utilizziamo un tag IMG all&#8217;interno di un DIV che servir\u00e0 a fare da contenitore al riflesso.<\/p>\n<p>[code gutter=&#8221;false&#8221; language=&#8221;html&#8221;]<\/p>\n<div id=\"box\"><\/div>\n<p>[\/code]<\/p>\n<p>Da CSS applichiamo uno stile allo pseudo elemento <em>#box::before<\/em>, dandogli le stesse dimensioni dell&#8217;immagine e posizionandolo subito al di sotto di essa. Quindi a <em>#box<\/em> assegnamo un&#8217;altezza doppia a quella dell&#8217;immagine, in modo da lasciare uno spazio libero per il suo riflesso e, per dare un effetto dissolvenza, applichiamo anche un gradiente di sfondo semitrasparente, assicurandoci per\u00f2 di posizionare il riflesso sotto di esso tramite <em>z-index<\/em>.<\/p>\n<p>Tutto quello che resta da fare \u00e8 applicare il background con <em>-moz-element<\/em> e ribaltare l&#8217;asse Y con &#8220;<em>-moz-transform: scaleY(-1)<\/em>&#8221; o come nell&#8217;esempio con la funzione <strong>matrix<\/strong>.<\/p>\n<p>[code gutter=&#8221;false&#8221; language=&#8221;css&#8221;]<br \/>\n#box {<br \/>\nposition: relative;<br \/>\nheight: 602px; \/* 2x img height *\/<br \/>\nbackground: -moz-linear-gradient(top, rgba(255,255,255,0) 50%, rgba(255,255,255,1));<br \/>\n}<\/p>\n<p>#box::before {<br \/>\ncontent: &#8221;;<br \/>\nwidth: 601px;<br \/>\nheight: 301px;<br \/>\nbackground: -moz-element(#img) no-repeat;<br \/>\nposition: absolute;<br \/>\ntop: 301px;<br \/>\n-moz-transform: matrix(1, 0, 0, -1, 0, 0);<br \/>\nz-index: -1;<br \/>\n}<br \/>\n[\/code]<\/p>\n<p>Ecco l&#8217;esempio all&#8217;opera (visualizzare con Firefox):<br \/>\n[iframe src=&#8221;\/\/jsfiddle.net\/mtorromeo\/eUmR9\/2\/embedded\/result,css,html&#8221;]<\/p>\n<h3>Potenzialit\u00e0<\/h3>\n<p>La cosa veramente interessante di <em>-moz-element<\/em> \u00e8 che qualsiasi modifica applicata all&#8217;elemento da riflettere si &#8220;rifletter\u00e0&#8221; (scusate il gioco di parole) LIVE sulla copia.<\/p>\n<p>Di seguito lo stesso esempio di prima al quale ho applicato una piccola animazione CSS (visualizzare con Firefox 5 o superiore):<br \/>\n[iframe src=&#8221;\/\/jsfiddle.net\/mtorromeo\/eUmR9\/3\/embedded\/result,css,html&#8221;]<\/p>\n","protected":false},"excerpt":{"rendered":"<p><img decoding=\"async\" class=\"alignleft size-full wp-image-6939\" title=\"Css3\" src=\"https:\/\/www.artera.net\/wp-content\/uploads\/2011\/04\/css_logo_medium2.png\" alt=\"\" width=\"120\" height=\"108\" style=\"margin-top:-5px\" \/>In questi giorni \u00e8 uscita la versione 5.0 di Firefox, che <strong>aggiunge supporto alle animazioni CSS e miglioramenti all&#8217;interfaccia<\/strong>. Ho quindi deciso di dedicare un&#8217;articolo a questo browser, per quanto personalmente continui a ritenere WebKit superiore.<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":"","footnotes":""},"categories":[300],"tags":[85,69,238,163,106],"class_list":["post-7678","post","type-post","status-publish","format-standard","hentry","category-marketing","tag-animazioni-web","tag-css3","tag-firefox","tag-gradient","tag-html5"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u2022 Riflessi CSS in Firefox - Artera<\/title>\n<meta name=\"description\" content=\"Leggi dal blog: Riflessi CSS in Firefox. Contattaci per una partnership! Artera Swiss Premium Hosting news, articoli e notizie interessanti dal mondo digitale.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.artera.net\/it\/marketing\/riflessi-css-in-firefox\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u2022 Riflessi CSS in Firefox - Artera\" \/>\n<meta property=\"og:description\" content=\"Leggi dal blog: Riflessi CSS in Firefox. Contattaci per una partnership! Artera Swiss Premium Hosting news, articoli e notizie interessanti dal mondo digitale.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.artera.net\/it\/marketing\/riflessi-css-in-firefox\/\" \/>\n<meta property=\"og:site_name\" content=\"Artera\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/artera.net\/\" \/>\n<meta property=\"article:published_time\" content=\"2011-06-22T14:16:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-06T16:25:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.artera.net\/wp-content\/uploads\/2018\/02\/artera-logo-color.png\" \/>\n\t<meta property=\"og:image:width\" content=\"425\" \/>\n\t<meta property=\"og:image:height\" content=\"281\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Massimiliano Torromeo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Massimiliano Torromeo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/marketing\\\/riflessi-css-in-firefox\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/marketing\\\/riflessi-css-in-firefox\\\/\"},\"author\":{\"name\":\"Massimiliano Torromeo\",\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/#\\\/schema\\\/person\\\/f0793d88769c8429e457f364de9ae071\"},\"headline\":\"Riflessi CSS in Firefox\",\"datePublished\":\"2011-06-22T14:16:49+00:00\",\"dateModified\":\"2023-03-06T16:25:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/marketing\\\/riflessi-css-in-firefox\\\/\"},\"wordCount\":352,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/#organization\"},\"keywords\":[\"animazioni web\",\"CSS3\",\"firefox\",\"gradient\",\"html5\"],\"articleSection\":[\"Marketing\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.artera.net\\\/it\\\/marketing\\\/riflessi-css-in-firefox\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/marketing\\\/riflessi-css-in-firefox\\\/\",\"url\":\"https:\\\/\\\/www.artera.net\\\/it\\\/marketing\\\/riflessi-css-in-firefox\\\/\",\"name\":\"\u2022 Riflessi CSS in Firefox - Artera\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/#website\"},\"datePublished\":\"2011-06-22T14:16:49+00:00\",\"dateModified\":\"2023-03-06T16:25:04+00:00\",\"description\":\"Leggi dal blog: Riflessi CSS in Firefox. Contattaci per una partnership! Artera Swiss Premium Hosting news, articoli e notizie interessanti dal mondo digitale.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/marketing\\\/riflessi-css-in-firefox\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.artera.net\\\/it\\\/marketing\\\/riflessi-css-in-firefox\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/marketing\\\/riflessi-css-in-firefox\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.artera.net\\\/it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Riflessi CSS in Firefox\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/www.artera.net\\\/it\\\/\",\"name\":\"Artera\",\"description\":\"Swiss Premium Hosting\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.artera.net\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/#organization\",\"name\":\"Artera\",\"url\":\"https:\\\/\\\/www.artera.net\\\/it\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.artera.net\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/artera-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.artera.net\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/artera-logo.png\",\"width\":300,\"height\":77,\"caption\":\"Artera\"},\"image\":{\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/artera.net\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/artera\\\/\",\"https:\\\/\\\/www.instagram.com\\\/artera_swiss\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.artera.net\\\/it\\\/#\\\/schema\\\/person\\\/f0793d88769c8429e457f364de9ae071\",\"name\":\"Massimiliano Torromeo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c8c79e6f7da11d2b45e20c77201173517aecba437175f94ec02f729095cb40c2?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c8c79e6f7da11d2b45e20c77201173517aecba437175f94ec02f729095cb40c2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c8c79e6f7da11d2b45e20c77201173517aecba437175f94ec02f729095cb40c2?s=96&d=mm&r=g\",\"caption\":\"Massimiliano Torromeo\"},\"description\":\"Passionate about computer science since I was a child, I started programming as a self-taught person from about the age of twelve. Over time, I have become a staunch supporter of free software and the open source movement. This fondness for free software soon led me to approach the Linux world and in 2011 I became a member of the Arch Linux Trusted Users team. In Artera since 2007 I deal with all aspects related to our infrastructure, internal development of software and enterprise solutions, research and development and internal training of our programming and support departments.\",\"url\":\"https:\\\/\\\/www.artera.net\\\/it\\\/author\\\/massimiliano-torromeo\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u2022 Riflessi CSS in Firefox - Artera","description":"Leggi dal blog: Riflessi CSS in Firefox. Contattaci per una partnership! Artera Swiss Premium Hosting news, articoli e notizie interessanti dal mondo digitale.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.artera.net\/it\/marketing\/riflessi-css-in-firefox\/","og_locale":"it_IT","og_type":"article","og_title":"\u2022 Riflessi CSS in Firefox - Artera","og_description":"Leggi dal blog: Riflessi CSS in Firefox. Contattaci per una partnership! Artera Swiss Premium Hosting news, articoli e notizie interessanti dal mondo digitale.","og_url":"https:\/\/www.artera.net\/it\/marketing\/riflessi-css-in-firefox\/","og_site_name":"Artera","article_publisher":"https:\/\/www.facebook.com\/artera.net\/","article_published_time":"2011-06-22T14:16:49+00:00","article_modified_time":"2023-03-06T16:25:04+00:00","og_image":[{"width":425,"height":281,"url":"https:\/\/www.artera.net\/wp-content\/uploads\/2018\/02\/artera-logo-color.png","type":"image\/png"}],"author":"Massimiliano Torromeo","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"Massimiliano Torromeo","Tempo di lettura stimato":"2 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.artera.net\/it\/marketing\/riflessi-css-in-firefox\/#article","isPartOf":{"@id":"https:\/\/www.artera.net\/it\/marketing\/riflessi-css-in-firefox\/"},"author":{"name":"Massimiliano Torromeo","@id":"https:\/\/www.artera.net\/it\/#\/schema\/person\/f0793d88769c8429e457f364de9ae071"},"headline":"Riflessi CSS in Firefox","datePublished":"2011-06-22T14:16:49+00:00","dateModified":"2023-03-06T16:25:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.artera.net\/it\/marketing\/riflessi-css-in-firefox\/"},"wordCount":352,"commentCount":1,"publisher":{"@id":"https:\/\/www.artera.net\/it\/#organization"},"keywords":["animazioni web","CSS3","firefox","gradient","html5"],"articleSection":["Marketing"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.artera.net\/it\/marketing\/riflessi-css-in-firefox\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.artera.net\/it\/marketing\/riflessi-css-in-firefox\/","url":"https:\/\/www.artera.net\/it\/marketing\/riflessi-css-in-firefox\/","name":"\u2022 Riflessi CSS in Firefox - Artera","isPartOf":{"@id":"https:\/\/www.artera.net\/it\/#website"},"datePublished":"2011-06-22T14:16:49+00:00","dateModified":"2023-03-06T16:25:04+00:00","description":"Leggi dal blog: Riflessi CSS in Firefox. Contattaci per una partnership! Artera Swiss Premium Hosting news, articoli e notizie interessanti dal mondo digitale.","breadcrumb":{"@id":"https:\/\/www.artera.net\/it\/marketing\/riflessi-css-in-firefox\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.artera.net\/it\/marketing\/riflessi-css-in-firefox\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.artera.net\/it\/marketing\/riflessi-css-in-firefox\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.artera.net\/it\/"},{"@type":"ListItem","position":2,"name":"Riflessi CSS in Firefox"}]},{"@type":"WebSite","@id":"https:\/\/www.artera.net\/it\/#website","url":"https:\/\/www.artera.net\/it\/","name":"Artera","description":"Swiss Premium Hosting","publisher":{"@id":"https:\/\/www.artera.net\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.artera.net\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.artera.net\/it\/#organization","name":"Artera","url":"https:\/\/www.artera.net\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.artera.net\/it\/#\/schema\/logo\/image\/","url":"https:\/\/www.artera.net\/wp-content\/uploads\/2019\/09\/artera-logo.png","contentUrl":"https:\/\/www.artera.net\/wp-content\/uploads\/2019\/09\/artera-logo.png","width":300,"height":77,"caption":"Artera"},"image":{"@id":"https:\/\/www.artera.net\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/artera.net\/","https:\/\/www.linkedin.com\/company\/artera\/","https:\/\/www.instagram.com\/artera_swiss\/"]},{"@type":"Person","@id":"https:\/\/www.artera.net\/it\/#\/schema\/person\/f0793d88769c8429e457f364de9ae071","name":"Massimiliano Torromeo","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/c8c79e6f7da11d2b45e20c77201173517aecba437175f94ec02f729095cb40c2?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c8c79e6f7da11d2b45e20c77201173517aecba437175f94ec02f729095cb40c2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c8c79e6f7da11d2b45e20c77201173517aecba437175f94ec02f729095cb40c2?s=96&d=mm&r=g","caption":"Massimiliano Torromeo"},"description":"Passionate about computer science since I was a child, I started programming as a self-taught person from about the age of twelve. Over time, I have become a staunch supporter of free software and the open source movement. This fondness for free software soon led me to approach the Linux world and in 2011 I became a member of the Arch Linux Trusted Users team. In Artera since 2007 I deal with all aspects related to our infrastructure, internal development of software and enterprise solutions, research and development and internal training of our programming and support departments.","url":"https:\/\/www.artera.net\/it\/author\/massimiliano-torromeo\/"}]}},"_links":{"self":[{"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/posts\/7678","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/comments?post=7678"}],"version-history":[{"count":2,"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/posts\/7678\/revisions"}],"predecessor-version":[{"id":255369,"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/posts\/7678\/revisions\/255369"}],"wp:attachment":[{"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/media?parent=7678"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/categories?post=7678"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.artera.net\/it\/wp-json\/wp\/v2\/tags?post=7678"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}