{"id":31508,"date":"2025-01-21T11:00:00","date_gmt":"2025-01-21T10:00:00","guid":{"rendered":"https:\/\/www.codemotion.com\/magazine\/?p=31508"},"modified":"2025-01-21T12:35:48","modified_gmt":"2025-01-21T11:35:48","slug":"creiamo-bento-box-design-layout-usando-modern-css","status":"publish","type":"post","link":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/","title":{"rendered":"Creiamo bento box design layout usando modern CSS"},"content":{"rendered":"\n<p>Un Bento box (\ud83c\udf71) \u00e8 il famoso porta pranzo giapponese che mantiene separati in modo ordinate le diverse pientanze preparate. Portare a scuola un bento pronto \u00e8 un gesto d&#8217;affetto nei confronti di chi lo riceve e la cura con cui i diversi piatti vengono organizzati e mostrati, oltre alla qualit\u00e0 del cibo naturalmente, rappresentano quanto quella persona ti sta a cuore. <\/p>\n\n\n\n<p>Da questa usanza e dal design minimalista, equilibrato e funzionale di questo peculiare oggetto \u00e8 nato un trend nel <a href=\"https:\/\/www.codemotion.com\/magazine\/it\/dev-community\/ux-piccola-guida-per-neofiti-e-curiosi\/\">UX<\/a>\/UI chiamato proprio Bento Layout (o Bento Box Layout) che sar\u00e0 l&#8217;oggetto di questo tutorial: non riso, carotine o wurstel a forma di polipo ma moderno HTML e <a href=\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-una-ui-alla-fallout-usando-modern-css\/\">CSS <\/a>saranno i nostri ingredienti, ma la cura e quindi l&#8217;affetto con cui sono combinati \u00e8 la stessa!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-la-base\">La base<\/h2>\n\n\n\n<p>Per il nostro esperimento vogliamo partire da una base piuttosto semplice ma estremamente comune: abbiamo un <code>main<\/code> che contiene diversi elementi <code>section<\/code> con al loro interno <code>article<\/code> ognuno con un suo <code>header<\/code> ed una immagine all&#8217;interno di un elemento semantico <code>figure<\/code>:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\"><span class=\"hljs-meta\">&lt;!DOCTYPE <span class=\"hljs-meta-keyword\">html<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">html<\/span> <span class=\"hljs-attr\">lang<\/span>=<span class=\"hljs-string\">\"en\"<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">head<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">link<\/span> <span class=\"hljs-attr\">rel<\/span>=<span class=\"hljs-string\">\"stylesheet\"<\/span> <span class=\"hljs-attr\">type<\/span>=<span class=\"hljs-string\">\"text\/css\"<\/span> <span class=\"hljs-attr\">href<\/span>=<span class=\"hljs-string\">\"style.css\"<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">meta<\/span> <span class=\"hljs-attr\">charset<\/span>=<span class=\"hljs-string\">\"utf-8\"<\/span> \/&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">title<\/span>&gt;<\/span>\ud83c\udf71 Bento Box Design Layout with Modern CSS<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">title<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">head<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">body<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">main<\/span>&gt;<\/span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">section<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\">\"bento\"<\/span>&gt;<\/span>\n            <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">article<\/span>&gt;<\/span>\n                <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">header<\/span>&gt;<\/span>\n                    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">h2<\/span>&gt;<\/span>Box 1<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">h2<\/span>&gt;<\/span>\n                    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">p<\/span>&gt;<\/span>Lorem ipsum dolor, sit amet consectetur adipisicing elit.<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">p<\/span>&gt;<\/span>\n                <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">header<\/span>&gt;<\/span>\n                <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">figure<\/span>&gt;<\/span>\n                    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">img<\/span> <span class=\"hljs-attr\">src<\/span>=<span class=\"hljs-string\">\".\/images\/0.png\"<\/span> <span class=\"hljs-attr\">alt<\/span>=<span class=\"hljs-string\">\"ai generated anime picture\"<\/span>&gt;<\/span>\n                <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">figure<\/span>&gt;<\/span>\n            <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">article<\/span>&gt;<\/span>\n            <span class=\"hljs-comment\">&lt;!-- 7 more articles here --&gt;<\/span>\n        <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">section<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">main<\/span>&gt;<\/span>\n  <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">body<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">html<\/span>&gt;<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Useremo CSS moderno (Baseline) per rendere responsive la nostra base avendo un approccio mobile-first:<\/p>\n\n\n<pre id=\"code-29\" class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-pseudo\">:root<\/span> {\n    <span class=\"hljs-attribute\">font-family<\/span>: system-ui, sans-serif;\n    <span class=\"hljs-attribute\">font-size<\/span>: <span class=\"hljs-built_in\">clamp<\/span>(<span class=\"hljs-number\">14px<\/span>, <span class=\"hljs-number\">5vw<\/span>, <span class=\"hljs-number\">20px<\/span>);\n    <span class=\"hljs-attribute\">--dark-color<\/span>: <span class=\"hljs-number\">#5c6378ff<\/span>;\n    <span class=\"hljs-attribute\">--light-color<\/span>: <span class=\"hljs-number\">#edf2f4ff<\/span>;\n    <span class=\"hljs-attribute\">--background-color<\/span>: <span class=\"hljs-number\">#2b2d42ff<\/span>;\n    <span class=\"hljs-attribute\">--secondary-color<\/span>: <span class=\"hljs-number\">#757e93ff<\/span>;\n    <span class=\"hljs-attribute\">--antiflash-white<\/span>: <span class=\"hljs-number\">#edf2f4ff<\/span>;\n    <span class=\"hljs-attribute\">--important-color<\/span>: <span class=\"hljs-number\">#ef233cff<\/span>;\n    <span class=\"hljs-attribute\">--fire-engine-red<\/span>: <span class=\"hljs-number\">#d90429ff<\/span>;\n}\n\n<span class=\"hljs-selector-tag\">body<\/span> {\n    <span class=\"hljs-attribute\">background-color<\/span>: <span class=\"hljs-built_in\">var<\/span>(--background-color);\n    <span class=\"hljs-attribute\">color<\/span>: <span class=\"hljs-built_in\">var<\/span>(--light-color);\n    <span class=\"hljs-attribute\">margin<\/span>: <span class=\"hljs-number\">0<\/span>;\n}\n\n<span class=\"hljs-selector-tag\">article<\/span> {\n    <span class=\"hljs-attribute\">background-color<\/span>: <span class=\"hljs-built_in\">var<\/span>(--light-color);\n    <span class=\"hljs-attribute\">color<\/span>: <span class=\"hljs-built_in\">var<\/span>(--dark-color);\n    <span class=\"hljs-attribute\">padding<\/span>: <span class=\"hljs-number\">1rem<\/span>;\n    <span class=\"hljs-attribute\">margin-bottom<\/span>: <span class=\"hljs-number\">1rem<\/span>;\n}\n\n<span class=\"hljs-selector-tag\">article<\/span> <span class=\"hljs-selector-tag\">figure<\/span> {\n    <span class=\"hljs-attribute\">margin<\/span>: <span class=\"hljs-number\">0<\/span>;\n}\n\n<span class=\"hljs-selector-tag\">img<\/span> {\n    <span class=\"hljs-attribute\">display<\/span>: block;\n    <span class=\"hljs-attribute\">width<\/span>: <span class=\"hljs-number\">100%<\/span>;\n}\n\n<span class=\"hljs-selector-tag\">main<\/span> {\n    <span class=\"hljs-attribute\">width<\/span>: <span class=\"hljs-number\">90%<\/span>;\n    <span class=\"hljs-attribute\">max-width<\/span>: <span class=\"hljs-number\">1200px<\/span>;\n    <span class=\"hljs-attribute\">margin-inline<\/span>: auto;\n    <span class=\"hljs-attribute\">padding-block-start<\/span>: <span class=\"hljs-number\">2rem<\/span>;\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:29% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"358\" height=\"528\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/Peek2025-01-1912-27-ezgif.com-optimize.gif\" alt=\"\" class=\"wp-image-31547 size-full\"\/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"has-large-font-size\">Per sperimentare con un layout bento aggiungiamo qualche articolo ed osserviamo che di default, se ci limitiamo a pochi cambiamenti nel foglio di stile, i nostri elementi html appariranno accessibili e perfettamente fruibili: less is more in CSS \ud83c\udf63<\/p>\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-bento-con-grid-layout\">Bento con grid layout<\/h2>\n\n\n\n<p>La tecnica ideale per un layout modulare fatto di contenitori \u00e8 impostare la propriet\u00e0 css <code>display<\/code> delle nostre <code>section<\/code> a <code>grid<\/code> ma per poter giocare con la posizione e la forma degli articoli avremo qualche accorgimento aggiuntivo che ci verr\u00e0 comodo in seguito.<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-class\">.bento<\/span> {\n    <span class=\"hljs-attribute\">--bento-cols<\/span>: <span class=\"hljs-number\">5<\/span>;\n    <span class=\"hljs-attribute\">--bento-rows<\/span>: <span class=\"hljs-number\">3<\/span>;\n    <span class=\"hljs-attribute\">--bento-border-radius<\/span>: <span class=\"hljs-number\">1rem<\/span>;\n    <span class=\"hljs-attribute\">--bento-gap<\/span>: <span class=\"hljs-number\">1rem<\/span>;\n    <span class=\"hljs-attribute\">display<\/span>: grid;\n    <span class=\"hljs-attribute\">grid-template-columns<\/span>: <span class=\"hljs-built_in\">repeat<\/span>(var(--bento-cols), <span class=\"hljs-number\">1<\/span>fr);\n    <span class=\"hljs-attribute\">grid-template-rows<\/span>: <span class=\"hljs-built_in\">repeat<\/span>(var(--bento-rows), <span class=\"hljs-number\">1<\/span>fr);\n    <span class=\"hljs-attribute\">width<\/span>: <span class=\"hljs-number\">100%<\/span>;\n    <span class=\"hljs-attribute\">aspect-ratio<\/span>: <span class=\"hljs-built_in\">var<\/span>(--bento-cols) \/ <span class=\"hljs-built_in\">var<\/span>(--bento-rows);\n}\n\n<span class=\"hljs-selector-class\">.bento<\/span>&gt;* {\n    <span class=\"hljs-attribute\">overflow<\/span>: hidden;\n    <span class=\"hljs-attribute\">position<\/span>: relative;\n    <span class=\"hljs-attribute\">margin<\/span>: <span class=\"hljs-built_in\">calc<\/span>(var(--bento-gap) \/ <span class=\"hljs-number\">2<\/span>);\n    <span class=\"hljs-attribute\">border-radius<\/span>: <span class=\"hljs-built_in\">var<\/span>(--bento-border-radius);\n}\n\n<span class=\"hljs-keyword\">@media<\/span> screen <span class=\"hljs-keyword\">and<\/span> (aspect-ratio &lt; <span class=\"hljs-number\">1<\/span>) {\n\n    <span class=\"hljs-selector-class\">.bento<\/span> {\n        <span class=\"hljs-attribute\">--bento-cols<\/span>: <span class=\"hljs-number\">3<\/span>;\n        <span class=\"hljs-attribute\">--bento-rows<\/span>: <span class=\"hljs-number\">5<\/span>;\n    }\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Abbiamo introdotto alcune <em>variabili<\/em> per controllare il numero di colonne e di righe. Utilizzeremo questi due valori per impostare in quante <em>frazioni<\/em> dividere la mia &#8220;griglia bento&#8221; e poter calcolare la propriet\u00e0 <code>aspect-ratio<\/code> cio\u00e8 in che rapporto sono larghezza e altezza. Questo piccolo trucco ninja ci permette di avere delle <strong>celle esattamente quadrate<\/strong> e sar\u00e0 questa <strong>la chiave della nostra strategia<\/strong>!<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"595\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/grid-base-1024x595.png\" alt=\"Una griglia css con celle tutte quadrate\" class=\"wp-image-31548\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/grid-base-1024x595.png 1024w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/grid-base-300x174.png 300w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/grid-base-768x446.png 768w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/grid-base.png 1379w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Affinch\u00e8 i miei <code>article<\/code> siano contenuti nelle celle abbiamo aggiunto la regola <code>overflow: hidden<\/code>.<\/p>\n\n\n\n<p>Per mantenere l&#8217;elasticit\u00e0 del nostro design \u00e8 importante <strong>non usare la propriet\u00e0 <code>gap<\/code><\/strong> della <code>grid<\/code> perch\u00e9 questo rompe il rapporto tra altezza e larghezza totali e i moduli (gli elementi nel nostro bento non sono pi\u00f9 esattamente quadrati). Sfrutteremo il <code>margin<\/code> dei contenuti per distanziare gli alimenti\/elementi del nostro bento.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-personalizza-il-tuo-bento-design\">Personalizza il tuo bento design<\/h2>\n\n\n\n<p>Finalmente arriva la parte pi\u00f9 divertente e specifica di questo tutorial! Personalizziamo il nostro bento box decidendo di quante celle si &#8220;allarga&#8221; un elemento: usando un valore <code>span 2<\/code> sulle propriet\u00e0 <code>grid-colum<\/code> o <code>grid-row<\/code> possiamo ottenere moduli orizzontali (2&#215;1 celle) e verticali (1&#215;2 celle) e combinandoli otteniamo una cella grande quadrata (2&#215;2 celle).<\/p>\n\n\n\n<p>Siamo pronti a specificare cos\u00ec che forma (e importanz\u00e0) avranno i nostri <code>article<\/code> in base all&#8217;ordine in cui sono nella <code>section<\/code>: aggiungiamo una classe <code>layout-1<\/code> che sar\u00e0 il nostro template riusabile ed il gioco \u00e8 fatto!<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt; <span class=\"hljs-selector-pseudo\">:nth-child(1)<\/span> {\n    <span class=\"hljs-attribute\">grid-column<\/span>: span <span class=\"hljs-number\">2<\/span>;\n    <span class=\"hljs-attribute\">grid-row<\/span>: span <span class=\"hljs-number\">2<\/span>;\n  <span class=\"hljs-attribute\">background-color<\/span>: <span class=\"hljs-built_in\">var<\/span>(--important-color);\n  <span class=\"hljs-attribute\">color<\/span>: <span class=\"hljs-built_in\">var<\/span>(--light-color);\n}\n\n<span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt; <span class=\"hljs-selector-pseudo\">:nth-child(2)<\/span> {\n    <span class=\"hljs-attribute\">grid-row<\/span>: span <span class=\"hljs-number\">2<\/span>;\n  <span class=\"hljs-attribute\">background-color<\/span>: <span class=\"hljs-built_in\">var<\/span>(--secondary-color);\n  <span class=\"hljs-attribute\">color<\/span>: <span class=\"hljs-built_in\">var<\/span>(--light-color);\n}\n\n<span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt; <span class=\"hljs-selector-pseudo\">:nth-child(3)<\/span>,\n<span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt; <span class=\"hljs-selector-pseudo\">:nth-child(4)<\/span>,\n<span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt; <span class=\"hljs-selector-pseudo\">:nth-child(8)<\/span> {\n    <span class=\"hljs-attribute\">grid-column<\/span>: span <span class=\"hljs-number\">2<\/span>;\n  <span class=\"hljs-attribute\">background-color<\/span>: <span class=\"hljs-built_in\">var<\/span>(--dark-color);\n  <span class=\"hljs-attribute\">color<\/span>: <span class=\"hljs-built_in\">var<\/span>(--light-color);\n}\n\n<span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt; <span class=\"hljs-selector-pseudo\">:nth-child(n<\/span> + 9) {\n    <span class=\"hljs-attribute\">display<\/span>: none;\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"604\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/grid-spans-1024x604.png\" alt=\"\" class=\"wp-image-31549\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/grid-spans-1024x604.png 1024w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/grid-spans-300x177.png 300w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/grid-spans-768x453.png 768w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/grid-spans.png 1359w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-bento-layout-verticale\">Bento Layout verticale<\/h2>\n\n\n\n<p>Su uno schermo verticale potremmo dover riarrangiare il nostro bento layout. Cogliamo questa opportunit\u00e0 per creare un layout specifico invertendo il numero di colonne e righe e reimpostando i nostri moduli perch\u00e9 abbiano un equilibrio su display verticali.<\/p>\n\n\n\n<div class=\"wp-block-media-text is-stacked-on-mobile\" style=\"grid-template-columns:42% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"486\" height=\"811\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/grid-spans_vertical.png\" alt=\"\" class=\"wp-image-31550 size-full\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/grid-spans_vertical.png 486w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/grid-spans_vertical-180x300.png 180w\" sizes=\"auto, (max-width: 486px) 100vw, 486px\" \/><\/figure><div class=\"wp-block-media-text__content\"><pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\">\n<span class=\"hljs-keyword\">@media<\/span> screen <span class=\"hljs-keyword\">and<\/span> (aspect-ratio &lt; <span class=\"hljs-number\">1<\/span>) {\n\n  <span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span> {\n      <span class=\"hljs-attribute\">--bento-cols<\/span>: <span class=\"hljs-number\">3<\/span>;\n      <span class=\"hljs-attribute\">--bento-rows<\/span>: <span class=\"hljs-number\">5<\/span>;\n  }\n\n  <span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt; <span class=\"hljs-selector-pseudo\">:nth-child(n)<\/span> {\n      <span class=\"hljs-comment\">\/* Reset spans *\/<\/span>\n      <span class=\"hljs-attribute\">grid-column<\/span>: auto;\n      <span class=\"hljs-attribute\">grid-row<\/span>: auto;\n  }\n\n  <span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt; <span class=\"hljs-selector-pseudo\">:nth-child(1)<\/span>,\n  <span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt; <span class=\"hljs-selector-pseudo\">:nth-child(8)<\/span> {\n      <span class=\"hljs-attribute\">grid-column<\/span>: span <span class=\"hljs-number\">2<\/span>;\n      <span class=\"hljs-attribute\">grid-row<\/span>: span <span class=\"hljs-number\">2<\/span>;\n  }\n\n  <span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt; <span class=\"hljs-selector-pseudo\">:nth-child(5)<\/span> {\n      <span class=\"hljs-attribute\">grid-column<\/span>: span <span class=\"hljs-number\">2<\/span>;\n  }\n\n  <span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt; <span class=\"hljs-selector-pseudo\">:nth-child(7)<\/span> {\n      <span class=\"hljs-attribute\">grid-column<\/span>: <span class=\"hljs-number\">1<\/span>;\n      <span class=\"hljs-attribute\">grid-row<\/span>: <span class=\"hljs-number\">5<\/span>;\n  }\n  \n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-bento-box-layout-e-container-queries\">Bento box layout e container queries<\/h2>\n\n\n\n<p>Ed ora il piatto forte del nostro bento layout: <strong>usiamo le <em>container query<\/em> per dare un design specifico ad ogni <code>article<\/code><\/strong>!<\/p>\n\n\n\n<p>Prima di personalizzare i singoli format dei nostri elementi prepariamo una base comune che ci faciliti il lavoro:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-class\">.bento<\/span>&gt;* {\n  <span class=\"hljs-attribute\">display<\/span>: flex;\n  <span class=\"hljs-attribute\">flex-direction<\/span>: column-reverse;\n}\n\n<span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span> <span class=\"hljs-selector-tag\">h1<\/span>, <span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span> <span class=\"hljs-selector-tag\">h2<\/span>, <span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span> <span class=\"hljs-selector-tag\">h3<\/span>, <span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span> <span class=\"hljs-selector-tag\">p<\/span> {\n  <span class=\"hljs-attribute\">margin<\/span>: <span class=\"hljs-number\">0<\/span>;\n}\n\n<span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt;* <span class=\"hljs-selector-tag\">figure<\/span> {\n  <span class=\"hljs-attribute\">position<\/span>: absolute;\n  <span class=\"hljs-attribute\">inset<\/span>: <span class=\"hljs-number\">0<\/span>;\n}\n<span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt;* <span class=\"hljs-selector-tag\">header<\/span> {\n  <span class=\"hljs-attribute\">position<\/span>: relative;\n  <span class=\"hljs-attribute\">z-index<\/span>: <span class=\"hljs-number\">1<\/span>;\n  <span class=\"hljs-attribute\">background-color<\/span>: inherit;\n}\n\n<span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt;* <span class=\"hljs-selector-tag\">figure<\/span> <span class=\"hljs-selector-tag\">img<\/span> {\n    <span class=\"hljs-attribute\">object-fit<\/span>: cover;\n    <span class=\"hljs-attribute\">height<\/span>: <span class=\"hljs-number\">100%<\/span>;\n}\n\n<span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt;* <span class=\"hljs-selector-tag\">header<\/span> {\n    <span class=\"hljs-attribute\">position<\/span>: absolute;\n    <span class=\"hljs-attribute\">bottom<\/span>: <span class=\"hljs-number\">0<\/span>;\n    <span class=\"hljs-attribute\">inset-inline<\/span>: <span class=\"hljs-number\">0<\/span>;\n    <span class=\"hljs-attribute\">border-radius<\/span>: <span class=\"hljs-number\">0<\/span>;\n    <span class=\"hljs-attribute\">font-size<\/span>: <span class=\"hljs-number\">70%<\/span>;\n    <span class=\"hljs-attribute\">padding<\/span>: <span class=\"hljs-number\">0.5rem<\/span>;\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Aggiungiamo finalmente le propriet\u00e0 CSS <code>container-type<\/code> e <code>container-name<\/code> per dare al contenuto dei nostri bento layout il super potere di fare <em>query<\/em> sulle propriet\u00e0 come <code>width<\/code>, <code>height<\/code> e, super importante, <code>aspect-ratio<\/code>!<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-class\">.bento<\/span> &gt; * {\n  <span class=\"hljs-attribute\">container-type<\/span>: size;\n  <span class=\"hljs-attribute\">container-name<\/span>: bento-item;\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Completiamo il nostro bento design caratterizzando i diversi formati in cui dovr\u00e0 apparire ogni articolo. Per farlo possiamo valutare le dimensioni (e quindi nascondere alcuni elementi) ma anche le proporzioni: il mio contenitore sar\u00e0 quadrato, verticale o orizzontale? Avr\u00e0 abbastanza spazio per tutto?<\/p>\n\n\n\n<p>Scopriamolo con le <em>container queries<\/em>:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\">\n<span class=\"hljs-keyword\">@container<\/span> bento-item (width &lt; <span class=\"hljs-number\">200px<\/span>) <span class=\"hljs-keyword\">and<\/span> (height &lt; <span class=\"hljs-number\">200px<\/span>) {\n  <span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt;* <span class=\"hljs-selector-tag\">header<\/span> {\n    <span class=\"hljs-attribute\">font-size<\/span>: <span class=\"hljs-number\">0.7rem<\/span>;\n  }\n  \n  <span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt;* <span class=\"hljs-selector-tag\">header<\/span> <span class=\"hljs-selector-tag\">p<\/span> {\n        <span class=\"hljs-attribute\">display<\/span>: none;\n    }\n}\n\n<span class=\"hljs-keyword\">@container<\/span> bento-item (aspect-ratio &gt; <span class=\"hljs-number\">1<\/span>) {\n  <span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt;* <span class=\"hljs-selector-tag\">header<\/span> {\n   <span class=\"hljs-attribute\">top<\/span>: <span class=\"hljs-number\">0<\/span>;\n    <span class=\"hljs-attribute\">right<\/span>: <span class=\"hljs-number\">60%<\/span>;\n  }\n  \n  <span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt; * <span class=\"hljs-selector-tag\">figure<\/span> {\n    <span class=\"hljs-attribute\">inset<\/span>: <span class=\"hljs-number\">0<\/span> <span class=\"hljs-number\">0<\/span> <span class=\"hljs-number\">0<\/span> <span class=\"hljs-number\">40%<\/span>;\n  }\n}\n\n\n<span class=\"hljs-keyword\">@container<\/span> bento-item (aspect-ratio = <span class=\"hljs-number\">1<\/span>) <span class=\"hljs-keyword\">and<\/span> (width &gt; <span class=\"hljs-number\">200px<\/span>) {\n  <span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span>&gt;* <span class=\"hljs-selector-tag\">header<\/span> {\n    <span class=\"hljs-attribute\">font-size<\/span>: <span class=\"hljs-number\">120%<\/span>;\n    <span class=\"hljs-attribute\">background-color<\/span>: <span class=\"hljs-number\">#0006<\/span>;\n    <span class=\"hljs-attribute\">color<\/span>: <span class=\"hljs-built_in\">var<\/span>(--light-color);\n    <span class=\"hljs-attribute\">backdrop-filter<\/span>: <span class=\"hljs-built_in\">blur<\/span>(<span class=\"hljs-number\">4px<\/span>);\n  }\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"608\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/container-queries1-1024x608.png\" alt=\"\" class=\"wp-image-31551\" srcset=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/container-queries1-1024x608.png 1024w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/container-queries1-300x178.png 300w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/container-queries1-768x456.png 768w, https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/container-queries1.png 1340w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-micro-animazioni\">Micro-animazioni<\/h2>\n\n\n\n<p>Per dare vita al nostro bento layout, aggiungiamo delle micro-animazioni sottili ma efficaci. Le animazioni rendono l&#8217;interfaccia pi\u00f9 dinamica e piacevole, mantenendo sempre un approccio minimalista che rispecchia la filosofia del design bento.<\/p>\n\n\n\n<p>Prima di tutto, aggiungiamo una transizione fluida a tutti gli elementi del bento:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-9\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-class\">.bento<\/span> &gt; * {\n    <span class=\"hljs-attribute\">transition<\/span>: transform <span class=\"hljs-number\">0.3s<\/span> ease-out, filter <span class=\"hljs-number\">0.3s<\/span> ease-out;\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-9\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Creiamo un effetto di hover che solleva leggermente l&#8217;elemento e aggiunge una sottile ombra:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-10\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-class\">.bento<\/span> &gt; *<span class=\"hljs-selector-pseudo\">:hover<\/span> {\n    <span class=\"hljs-attribute\">transform<\/span>: <span class=\"hljs-built_in\">translateY<\/span>(-<span class=\"hljs-number\">0.5rem<\/span>);\n    <span class=\"hljs-attribute\">filter<\/span>: <span class=\"hljs-built_in\">drop-shadow<\/span>(<span class=\"hljs-number\">0<\/span> <span class=\"hljs-number\">0.5rem<\/span> <span class=\"hljs-number\">0.1rem<\/span> #<span class=\"hljs-number\">0009<\/span>);\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-10\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Per le immagini, possiamo aggiungere un leggero effetto di zoom unito ad un movimento verso il basso ottenendo una sorta di movimento di camera (come un dolly):<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-11\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span> &gt; * <span class=\"hljs-selector-tag\">figure<\/span> <span class=\"hljs-selector-tag\">img<\/span> {\n    <span class=\"hljs-attribute\">transition<\/span>: transform <span class=\"hljs-number\">1s<\/span>;\n}\n\n<span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span> &gt; *<span class=\"hljs-selector-pseudo\">:hover<\/span> <span class=\"hljs-selector-tag\">figure<\/span> <span class=\"hljs-selector-tag\">img<\/span> {\n    <span class=\"hljs-attribute\">transform<\/span>: <span class=\"hljs-built_in\">scale<\/span>(<span class=\"hljs-number\">1.50<\/span>) <span class=\"hljs-built_in\">translateY<\/span>(<span class=\"hljs-number\">15%<\/span>);\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-11\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"394\" src=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/final-animated.gif\" alt=\"\" class=\"wp-image-31552\"\/><\/figure><\/div>\n\n\n<p>Ricordiamoci di rispettare le preferenze di accessibilit\u00e0 dell&#8217;utente disabilitando le animazioni se <code>prefers-reduced-motion<\/code> \u00e8 attivato nel browser:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-12\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-keyword\">@media<\/span> (<span class=\"hljs-attribute\">prefers-reduced-motion:<\/span> reduce) {\n    <span class=\"hljs-selector-class\">.bento<\/span> &gt; *,\n    <span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span> &gt; * <span class=\"hljs-selector-tag\">header<\/span>,\n    <span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span> &gt; * <span class=\"hljs-selector-tag\">figure<\/span> <span class=\"hljs-selector-tag\">img<\/span> {\n        <span class=\"hljs-attribute\">transition<\/span>: none;\n    }\n    \n    <span class=\"hljs-selector-class\">.bento<\/span> &gt; *<span class=\"hljs-selector-pseudo\">:hover<\/span> {\n        <span class=\"hljs-attribute\">transform<\/span>: none;\n    }\n    \n    <span class=\"hljs-selector-class\">.bento<\/span><span class=\"hljs-selector-class\">.layout-1<\/span> &gt; *<span class=\"hljs-selector-pseudo\">:hover<\/span> <span class=\"hljs-selector-tag\">figure<\/span> <span class=\"hljs-selector-tag\">img<\/span> {\n        <span class=\"hljs-attribute\">transform<\/span>: none;\n    }\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-12\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h2 class=\"wp-block-heading\" id=\"h-conclusioni\">Conclusioni<\/h2>\n\n\n\n<p>In questo tutorial abbiamo esplorato come creare un moderno Bento Box Layout utilizzando CSS contemporaneo. Partendo dalla filosofia del bento giapponese, abbiamo costruito un&#8217;interfaccia modulare usando:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CSS Grid per la struttura base con <code>span<\/code> nelle propriet\u00e0 <code>grid-column<\/code> e <code>grid-row<\/code> per creare i moduli di diverse taglie<\/li>\n\n\n\n<li><code>aspect-ratio<\/code> obblicare la griglia a mantenere le proporzioni quadrate dei moduli<\/li>\n\n\n\n<li>Container Queries per adattare il contenuto ai diversi contenitori<\/li>\n\n\n\n<li>Media Queries per avere il controllo di layout verticali<\/li>\n\n\n\n<li>Micro-animazioni per dare vita all&#8217;interfaccia<\/li>\n<\/ul>\n\n\n\n<p>La bellezza di questo approccio sta nella sua flessibilit\u00e0: come un vero bento box, possiamo organizzare i nostri contenuti in infinite combinazioni mantenendo sempre ordine ed equilibrio. Abbiamo visto come le moderne funzionalit\u00e0 CSS ci permettono di creare layouts complessi ma mantenibili, responsive ma precisi, dinamici ma accessibili.<\/p>\n\n\n\n<p>Il codice di questo tutorial \u00e8 pensato per essere un punto di partenza: vi invito a sperimentare per trovare le ricette giuste per il vostro speciale bento.<\/p>\n\n\n\n<p>Buon appetito!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un Bento box (\ud83c\udf71) \u00e8 il famoso porta pranzo giapponese che mantiene separati in modo ordinate le diverse pientanze preparate. Portare a scuola un bento pronto \u00e8 un gesto d&#8217;affetto nei confronti di chi lo riceve e la cura con cui i diversi piatti vengono organizzati e mostrati, oltre alla qualit\u00e0 del cibo naturalmente, rappresentano&#8230; <a class=\"more-link\" href=\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/\">Read more<\/a><\/p>\n","protected":false},"author":255,"featured_media":31509,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[10265],"tags":[11736,13022],"collections":[],"class_list":{"0":"post-31508","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-frontend-it","8":"tag-css-it","9":"tag-modern-css","10":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Creiamo bento box design layout usando modern CSS<\/title>\n<meta name=\"description\" content=\"Scopri come creare un bento box design layout tramite questa guida e progetta layout ispirati all&#039;estetica delle bento box giapponesi.\" \/>\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.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Creiamo bento box design layout usando modern CSS\" \/>\n<meta property=\"og:description\" content=\"Scopri come creare un bento box design layout tramite questa guida e progetta layout ispirati all&#039;estetica delle bento box giapponesi.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/\" \/>\n<meta property=\"og:site_name\" content=\"Codemotion Magazine\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Codemotion.Italy\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-21T10:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-21T11:35:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1792\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Massimo Avvisati\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@MassimoAvvisati\" \/>\n<meta name=\"twitter:site\" content=\"@CodemotionIT\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Massimo Avvisati\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/\"},\"author\":{\"name\":\"Massimo Avvisati\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/7d033c17576f9bdfec9dab783e58976a\"},\"headline\":\"Creiamo bento box design layout usando modern CSS\",\"datePublished\":\"2025-01-21T10:00:00+00:00\",\"dateModified\":\"2025-01-21T11:35:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/\"},\"wordCount\":883,\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil.webp\",\"keywords\":[\"CSS\",\"modern css\"],\"articleSection\":[\"Frontend\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/\",\"name\":\"Creiamo bento box design layout usando modern CSS\",\"isPartOf\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil.webp\",\"datePublished\":\"2025-01-21T10:00:00+00:00\",\"dateModified\":\"2025-01-21T11:35:48+00:00\",\"description\":\"Scopri come creare un bento box design layout tramite questa guida e progetta layout ispirati all'estetica delle bento box giapponesi.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/#primaryimage\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil.webp\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil.webp\",\"width\":1792,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Frontend\",\"item\":\"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Creiamo bento box design layout usando modern CSS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#website\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"name\":\"Codemotion Magazine\",\"description\":\"We code the future. Together\",\"publisher\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#organization\",\"name\":\"Codemotion\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png\",\"width\":225,\"height\":225,\"caption\":\"Codemotion\"},\"image\":{\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Codemotion.Italy\/\",\"https:\/\/x.com\/CodemotionIT\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/7d033c17576f9bdfec9dab783e58976a\",\"name\":\"Massimo Avvisati\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/massimo-100x100.jpeg\",\"contentUrl\":\"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/massimo-100x100.jpeg\",\"caption\":\"Massimo Avvisati\"},\"description\":\"I am a full-stack developer, digital artist, maker, and educator with a passion for Artificial Intelligence. I create immersive installations and develop educational software, pushing the boundaries of technology. I believe in Free Software and Creative Commons licensing as a foundation for knowledge sharing. My goal is to craft unique and engaging educational experiences using cutting-edge technology, showcasing the potential of AI in education. Currently, my focus is on Educational Technology, where I strive to create innovative software and hardware tools that engage and inspire learners. I firmly believe in the power of Free Software and Creative Commons, utilizing these open platforms to ensure my work is accessible and reusable by others. I actively reject restrictive platforms that limit creativity and collaboration. By combining my artistic vision with cutting-edge technology, I aim to develop unique educational experiences that spark curiosity and foster a love of learning. Through my work, I strive to demonstrate the incredible potential of AI in education and the arts.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/massimo-avvisati-7220312\/\",\"https:\/\/x.com\/MassimoAvvisati\"],\"knowsAbout\":[\"Javascript\",\"Node.js\",\"PHP\",\"AI\",\"Machine Learning\",\"Web Development\",\"Free Software\"],\"knowsLanguage\":[\"English\",\"Spanish\",\"Italian\"],\"jobTitle\":\"Head of EdTech R&D\",\"worksFor\":\"Codemotion spa\",\"url\":\"https:\/\/www.codemotion.com\/magazine\/author\/massimo-avvisati\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Creiamo bento box design layout usando modern CSS","description":"Scopri come creare un bento box design layout tramite questa guida e progetta layout ispirati all'estetica delle bento box giapponesi.","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.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/","og_locale":"en_US","og_type":"article","og_title":"Creiamo bento box design layout usando modern CSS","og_description":"Scopri come creare un bento box design layout tramite questa guida e progetta layout ispirati all'estetica delle bento box giapponesi.","og_url":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/","og_site_name":"Codemotion Magazine","article_publisher":"https:\/\/www.facebook.com\/Codemotion.Italy\/","article_published_time":"2025-01-21T10:00:00+00:00","article_modified_time":"2025-01-21T11:35:48+00:00","og_image":[{"width":1792,"height":1024,"url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil.webp","type":"image\/webp"}],"author":"Massimo Avvisati","twitter_card":"summary_large_image","twitter_creator":"@MassimoAvvisati","twitter_site":"@CodemotionIT","twitter_misc":{"Written by":"Massimo Avvisati","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/#article","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/"},"author":{"name":"Massimo Avvisati","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/7d033c17576f9bdfec9dab783e58976a"},"headline":"Creiamo bento box design layout usando modern CSS","datePublished":"2025-01-21T10:00:00+00:00","dateModified":"2025-01-21T11:35:48+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/"},"wordCount":883,"publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil.webp","keywords":["CSS","modern css"],"articleSection":["Frontend"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/","url":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/","name":"Creiamo bento box design layout usando modern CSS","isPartOf":{"@id":"https:\/\/www.codemotion.com\/magazine\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/#primaryimage"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil.webp","datePublished":"2025-01-21T10:00:00+00:00","dateModified":"2025-01-21T11:35:48+00:00","description":"Scopri come creare un bento box design layout tramite questa guida e progetta layout ispirati all'estetica delle bento box giapponesi.","breadcrumb":{"@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/#primaryimage","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil.webp","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil.webp","width":1792,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/creiamo-bento-box-design-layout-usando-modern-css\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codemotion.com\/magazine\/"},{"@type":"ListItem","position":2,"name":"Frontend","item":"https:\/\/www.codemotion.com\/magazine\/it\/frontend-it\/"},{"@type":"ListItem","position":3,"name":"Creiamo bento box design layout usando modern CSS"}]},{"@type":"WebSite","@id":"https:\/\/www.codemotion.com\/magazine\/#website","url":"https:\/\/www.codemotion.com\/magazine\/","name":"Codemotion Magazine","description":"We code the future. Together","publisher":{"@id":"https:\/\/www.codemotion.com\/magazine\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codemotion.com\/magazine\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codemotion.com\/magazine\/#organization","name":"Codemotion","url":"https:\/\/www.codemotion.com\/magazine\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2019\/11\/codemotionlogo.png","width":225,"height":225,"caption":"Codemotion"},"image":{"@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Codemotion.Italy\/","https:\/\/x.com\/CodemotionIT"]},{"@type":"Person","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/7d033c17576f9bdfec9dab783e58976a","name":"Massimo Avvisati","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codemotion.com\/magazine\/#\/schema\/person\/image\/","url":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/massimo-100x100.jpeg","contentUrl":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2024\/04\/massimo-100x100.jpeg","caption":"Massimo Avvisati"},"description":"I am a full-stack developer, digital artist, maker, and educator with a passion for Artificial Intelligence. I create immersive installations and develop educational software, pushing the boundaries of technology. I believe in Free Software and Creative Commons licensing as a foundation for knowledge sharing. My goal is to craft unique and engaging educational experiences using cutting-edge technology, showcasing the potential of AI in education. Currently, my focus is on Educational Technology, where I strive to create innovative software and hardware tools that engage and inspire learners. I firmly believe in the power of Free Software and Creative Commons, utilizing these open platforms to ensure my work is accessible and reusable by others. I actively reject restrictive platforms that limit creativity and collaboration. By combining my artistic vision with cutting-edge technology, I aim to develop unique educational experiences that spark curiosity and foster a love of learning. Through my work, I strive to demonstrate the incredible potential of AI in education and the arts.","sameAs":["https:\/\/www.linkedin.com\/in\/massimo-avvisati-7220312\/","https:\/\/x.com\/MassimoAvvisati"],"knowsAbout":["Javascript","Node.js","PHP","AI","Machine Learning","Web Development","Free Software"],"knowsLanguage":["English","Spanish","Italian"],"jobTitle":"Head of EdTech R&D","worksFor":"Codemotion spa","url":"https:\/\/www.codemotion.com\/magazine\/author\/massimo-avvisati\/"}]}},"featured_image_src":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil-600x400.webp","featured_image_src_square":"https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil-600x600.webp","author_info":{"display_name":"Massimo Avvisati","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/massimo-avvisati\/"},"uagb_featured_image_src":{"full":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil.webp",1792,1024,false],"thumbnail":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil-150x150.webp",150,150,true],"medium":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil-300x171.webp",300,171,true],"medium_large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil-768x439.webp",768,439,true],"large":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil-1024x585.webp",1024,585,true],"1536x1536":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil-1536x878.webp",1536,878,true],"2048x2048":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil.webp",1792,1024,false],"small-home-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil-100x100.webp",100,100,true],"sidebar-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil-180x128.webp",180,128,true],"genesis-singular-images":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil-896x504.webp",896,504,true],"archive-featured":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil-400x225.webp",400,225,true],"gb-block-post-grid-landscape":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil-600x400.webp",600,400,true],"gb-block-post-grid-square":["https:\/\/www.codemotion.com\/magazine\/wp-content\/uploads\/2025\/01\/DALL\u00b7E-2025-01-20-12.10.13-A-horizontal-layout-design-of-a-bento-box-showcasing-an-organized-and-visually-appealing-arrangement-of-food.-The-bento-box-includes-compartments-fil-600x600.webp",600,600,true]},"uagb_author_info":{"display_name":"Massimo Avvisati","author_link":"https:\/\/www.codemotion.com\/magazine\/author\/massimo-avvisati\/"},"uagb_comment_info":0,"uagb_excerpt":"Un Bento box (\ud83c\udf71) \u00e8 il famoso porta pranzo giapponese che mantiene separati in modo ordinate le diverse pientanze preparate. Portare a scuola un bento pronto \u00e8 un gesto d&#8217;affetto nei confronti di chi lo riceve e la cura con cui i diversi piatti vengono organizzati e mostrati, oltre alla qualit\u00e0 del cibo naturalmente, rappresentano&#8230;&hellip;","lang":"it","_links":{"self":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/31508","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/users\/255"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/comments?post=31508"}],"version-history":[{"count":2,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/31508\/revisions"}],"predecessor-version":[{"id":31553,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/posts\/31508\/revisions\/31553"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media\/31509"}],"wp:attachment":[{"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/media?parent=31508"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/categories?post=31508"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/tags?post=31508"},{"taxonomy":"collections","embeddable":true,"href":"https:\/\/www.codemotion.com\/magazine\/wp-json\/wp\/v2\/collections?post=31508"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}