{"id":1175,"date":"2026-01-24T10:34:35","date_gmt":"2026-01-24T10:34:35","guid":{"rendered":"https:\/\/studioimmens.com\/animare-blocchi-gutenberg-scroll\/"},"modified":"2026-07-16T17:02:52","modified_gmt":"2026-07-16T15:02:52","slug":"animare-blocchi-gutenberg-scroll","status":"publish","type":"post","link":"https:\/\/studioimmens.com\/en\/animare-blocchi-gutenberg-scroll\/","title":{"rendered":"Come animare i blocchi Gutenberg durante lo scroll"},"content":{"rendered":"<p>Uno degli effetti visivi pi&ugrave; apprezzati dagli utenti &egrave; vedere gli elementi che &#8220;prendono vita&#8221; mentre scrollano la pagina. Un titolo che appare, una card che scivola in posizione, un&#8221;immagine che si ingrandisce: sono piccole animazioni che trasformano un sito statico in un&#8221;esperienza dinamica e coinvolgente. In questa guida vediamo come animare i blocchi Gutenberg durante lo scroll, con tecniche che vanno dal CSS puro fino a soluzioni integrate.<\/p>\n<h2>Perch&egrave; animare i blocchi Gutenberg allo scroll<\/h2>\n<p>Le animazioni scroll-triggered migliorano l&#8221;esperienza utente in modi concreti:<\/p>\n<ul>\n<li><strong>Guidano l&#8221;attenzione:<\/strong> gli elementi animati attirano lo sguardo in modo naturale<\/li>\n<li><strong>Creano una gerarchia visiva:<\/strong> gli elementi pi&ugrave; importanti si animano per primi<\/li>\n<li><strong>Riducono il carico cognitivo:<\/strong> invece di vedere tutto subito, gli utenti scoprono il contenuto gradualmente<\/li>\n<li><strong>Aumentano il tempo di permanenza:<\/strong> le animazioni rendono la navigazione pi&ugrave; piacevole<\/li>\n<li><strong>Comunicano professionalit&agrave;:<\/strong> un sito con animazioni curate appare pi&ugrave; moderno e curato<\/li>\n<\/ul>\n<h2>Il metodo CSS nativo: animation-timeline<\/h2>\n<p>Il modo pi&ugrave; semplice e performante per animare i blocchi Gutenberg allo scroll &egrave; usare <code>animation-timeline: view()<\/code>. Questa propriet&agrave; CSS lega l&#8221;animazione alla posizione dell&#8221;elemento nel viewport.<\/p>\n<pre><code>\/* Definisci l''animazione *\/\n@keyframes fadeUp {\n    from {\n        opacity: 0;\n        transform: translateY(50px);\n    }\n    to {\n        opacity: 1;\n        transform: translateY(0);\n    }\n}\n\n\/* Classe da applicare ai blocchi *\/\n.cb-fade-up {\n    animation: fadeUp 1s ease both;\n    animation-timeline: view();\n    animation-range: entry 0% entry 100%;\n}<\/code><\/pre>\n<p>Poi, nel campo &#8220;Classe CSS aggiuntiva&#8221; del blocco Gutenberg, inserisci <code>cb-fade-up<\/code>. Il blocco si animer&agrave; automaticamente durante lo scroll.<\/p>\n<h2>Tutti i tipi di animazione per i blocchi Gutenberg<\/h2>\n<h3>Fade (trasparenza)<\/h3>\n<pre><code>\/* Fade In: appare gradualmente *\/\n.cb-fade-in {\n    animation: cbFadeIn 1s ease both;\n    animation-timeline: view();\n}\n@keyframes cbFadeIn { from { opacity: 0; } to { opacity: 1; } }\n\n\/* Fade Up: appare dal basso *\/\n.cb-fade-up {\n    animation: cbFadeUp 1s ease both;\n    animation-timeline: view();\n}\n@keyframes cbFadeUp { from { opacity: 0; transform: translateY(60px); } to { opacity: 1; transform: translateY(0); } }\n\n\/* Fade Down: appare dall''alto *\/\n.cb-fade-down {\n    animation: cbFadeDown 1s ease both;\n    animation-timeline: view();\n}\n@keyframes cbFadeDown { from { opacity: 0; transform: translateY(-60px); } to { opacity: 1; transform: translateY(0); } }\n\n\/* Fade Left: appare da sinistra *\/\n.cb-fade-left {\n    animation: cbFadeLeft 1s ease both;\n    animation-timeline: view();\n}\n@keyframes cbFadeLeft { from { opacity: 0; transform: translateX(60px); } to { opacity: 1; transform: translateX(0); } }\n\n\/* Fade Right: appare da destra *\/\n.cb-fade-right {\n    animation: cbFadeRight 1s ease both;\n    animation-timeline: view();\n}\n@keyframes cbFadeRight { from { opacity: 0; transform: translateX(-60px); } to { opacity: 1; transform: translateX(0); } }<\/code><\/pre>\n<h3>Slide (scorrimento)<\/h3>\n<pre><code>.cb-slide-up {\n    animation: cbSlideUp 1s ease both;\n    animation-timeline: view();\n}\n@keyframes cbSlideUp { from { transform: translateY(100px); } to { transform: translateY(0); } }<\/code><\/pre>\n<h3>Zoom (ingrandimento)<\/h3>\n<pre><code>.cb-zoom-in {\n    animation: cbZoomIn 1s ease both;\n    animation-timeline: view();\n}\n@keyframes cbZoomIn { from { opacity: 0; transform: scale(0.3); } to { opacity: 1; transform: scale(1); } }<\/code><\/pre>\n<h3>Float (galleggiante)<\/h3>\n<pre><code>.cb-float {\n    animation: cbFloat 1s ease both;\n    animation-timeline: view();\n    animation-range: entry 0% exit 100%;\n}\n@keyframes cbFloat { 0% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-15px) rotate(2deg); } 100% { transform: translateY(0) rotate(0deg); } }<\/code><\/pre>\n<h2>Animazioni a cascata (staggered)<\/h2>\n<p>Uno degli effetti pi&ugrave; belli &egrave; quando gli elementi si animano uno dopo l&#8221;altro, creando un effetto &#8220;onda&#8221;. Per farlo, usa ritardi crescenti:<\/p>\n<pre><code>\/* Elementi in sequenza con ritardo progressivo *\/\n.gruppo-card &gt; .wp-block-column:nth-child(1) { animation-delay: 0s; }\n.gruppo-card &gt; .wp-block-column:nth-child(2) { animation-delay: 0.15s; }\n.gruppo-card &gt; .wp-block-column:nth-child(3) { animation-delay: 0.3s; }\n.gruppo-card &gt; .wp-block-column:nth-child(4) { animation-delay: 0.45s; }<\/code><\/pre>\n<h2>Quali blocchi animare e come<\/h2>\n<table>\n<tr>\n<th>Blocco Gutenberg<\/th>\n<th>Animazione consigliata<\/th>\n<th>Effetto<\/th>\n<\/tr>\n<tr>\n<td>Heading (titolo)<\/td>\n<td>Fade Up o Text Reveal<\/td>\n<td>Impatto massimo<\/td>\n<\/tr>\n<tr>\n<td>Paragraph (paragrafo)<\/td>\n<td>Fade In<\/td>\n<td>Morbido e naturale<\/td>\n<\/tr>\n<tr>\n<td>Image (immagine)<\/td>\n<td>Zoom In o Fade In<\/td>\n<td>Rivela l&#8221;immagine<\/td>\n<\/tr>\n<tr>\n<td>Columns (colonne)<\/td>\n<td>Staggered Fade Up<\/td>\n<td>Effetto cascata<\/td>\n<\/tr>\n<tr>\n<td>Group (gruppo)<\/td>\n<td>Fade Up<\/td>\n<td>Sezione che appare<\/td>\n<\/tr>\n<tr>\n<td>Cover (copertina)<\/td>\n<td>Zoom Out<\/td>\n<td>Effetto cinematografico<\/td>\n<\/tr>\n<tr>\n<td>Buttons (pulsanti)<\/td>\n<td>Bounce o Pulse<\/td>\n<td>Attira l&#8221;azione<\/td>\n<\/tr>\n<tr>\n<td>Quote (citazione)<\/td>\n<td>Blur In<\/td>\n<td>Elegante<\/td>\n<\/tr>\n<\/table>\n<h2>Animare i blocchi Gutenberg senza codice<\/h2>\n<p><a href=\"https:\/\/studioimmens.com\/en\/classyblocks-pro\/\">ClassyBlocks Pro<\/a> rende tutto questo incredibilmente semplice. Il plugin aggiunge un pannello &#8220;Animazioni&#8221; nell&#8221;editor Gutenberg, dove puoi:<\/p>\n<ul>\n<li>Scegliere tra 151 animazioni in 12 pack<\/li>\n<li>Vedere l&#8221;anteprima live nell&#8221;editor (mouseover per testare)<\/li>\n<li>Applicare l&#8221;animazione a qualsiasi blocco con un click<\/li>\n<li>Gestire animazioni scroll-driven, hover, text, mask e molto altro<\/li>\n<li>Polyfill automatico per browser legacy<\/li>\n<\/ul>\n<p>Dalla scelta all&#8221;applicazione: meno di 5 secondi. Nessuna riga di CSS o JavaScript da scrivere.<\/p>","protected":false},"excerpt":{"rendered":"<p>Uno degli effetti visivi pi&ugrave; apprezzati dagli utenti &egrave; vedere gli elementi che &#8220;prendono vita&#8221; mentre scrollano la pagina. Un titolo che appare, una card che scivola in posizione, un&#8221;immagine che si ingrandisce: sono piccole animazioni che trasformano un sito statico in un&#8221;esperienza dinamica e coinvolgente. In questa guida vediamo come animare i blocchi Gutenberg [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":1238,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_gspb_post_css":"","ai_primary_source":"Studio Immens Blog","visibility_scope":"both","ai_summary":"Guida per animare i blocchi Gutenberg durante lo scroll su un post WordPress.","ai_intent":"informative","ai_related_resources":"1175,1174,1173,1172,1171","ai_priority":5,"ai_entity_type":"Article","ai_is_based_on":"https:\/\/example.com","ai_citations":"Eula,Immens Integration,Classy Blocks,Immens CRM Core,Yoast SEO","ai_mentions":"ClassyBlocks Pro, Immens Integration, ClassyBlocks Pro","ai_speakable_selector":".group-card","ai_chunk_hints":"Animazioni scroll-driven, animazioni CSS, animazioni scroll-triggered","footnotes":""},"categories":[21,40],"tags":[116,109,115,117,110],"ai_visibility":[55],"class_list":["post-1175","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-seo","category-sviluppo-web","tag-animazioni-css","tag-gutenberg-css","tag-performance-wordpress","tag-scroll-driven","tag-sviluppo-wordpress"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/posts\/1175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/comments?post=1175"}],"version-history":[{"count":2,"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/posts\/1175\/revisions"}],"predecessor-version":[{"id":2150,"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/posts\/1175\/revisions\/2150"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/media\/1238"}],"wp:attachment":[{"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/media?parent=1175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/categories?post=1175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/tags?post=1175"},{"taxonomy":"ai_visibility","embeddable":true,"href":"https:\/\/studioimmens.com\/en\/wp-json\/wp\/v2\/ai_visibility?post=1175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}