{"id":12255,"date":"2025-03-10T08:00:00","date_gmt":"2025-03-10T07:00:00","guid":{"rendered":"https:\/\/eugigufo.net\/it\/?page_id=12255"},"modified":"2025-01-18T15:28:26","modified_gmt":"2025-01-18T14:28:26","slug":"paragrafo40","status":"publish","type":"page","link":"https:\/\/eugigufo.net\/it\/inerario\/paragrafo40\/","title":{"rendered":"&sect;&nbsp;40. Il sidebar alto come il content (parte 3)"},"content":{"rendered":"<p>In&nbsp;due diverse occasioni mi&nbsp;&egrave;&nbsp;capitato di&nbsp;scrivere del modo di&nbsp;fare i&nbsp;div del content e&nbsp;del sidebar di&nbsp;altezza sempre uguale&nbsp;&ndash; anche quando uno dei due ha&nbsp;molti pi&ugrave; contenuti dell&rsquo;altro&nbsp;&ndash; con il&nbsp;solo CSS (quando il&nbsp;<a href=\"https:\/\/eugigufo.net\/it\/inerario\/paragrafo5\/\">sidebar &egrave;&nbsp;a&nbsp;sinistra<\/a> e&nbsp;quando il&nbsp;<a href=\"https:\/\/eugigufo.net\/it\/inerario\/paragrafo39\/\">sidebar &egrave;&nbsp;a&nbsp;destra<\/a>). In&nbsp;quei due paragrafi, per&ograve;, avevo scritto dei div con la&nbsp;larghezza espressa in&nbsp;percentuali e&nbsp;avevo promesso di&nbsp;dedicarmi alla larghezza fissa in&nbsp;un&nbsp;momento del futuro indefinito&#8230; Ebbene, il&nbsp;momento &egrave;&nbsp;giunto!<br \/>\nVediamo come si&nbsp;realizzano quattro opzioni diverse:<br \/>\n1.&nbsp;<a href=\"#var1\">il&nbsp;sidebar a&nbsp;sinistra + il&nbsp;content a&nbsp;destra di&nbsp;altezza uguale e&nbsp;con i&nbsp;valori di&nbsp;larghezza fissi<\/a>;<br \/>\n2.&nbsp;<a href=\"#var2\">il&nbsp;sidebar a&nbsp;sinistra + il&nbsp;content a&nbsp;destra di&nbsp;altezza uguale e&nbsp;con i&nbsp;valori di&nbsp;larghezza minimi fissi<\/a>;<br \/>\n3.&nbsp;<a href=\"#var3\">il&nbsp;content a&nbsp;sinistra + il&nbsp;sidebar a&nbsp;destra di&nbsp;altezza uguale e&nbsp;con i&nbsp;valori di&nbsp;larghezza fissi<\/a>;<br \/>\n4.&nbsp;<a href=\"#var4\">il&nbsp;content a&nbsp;sinistra + il&nbsp;sidebar a&nbsp;destra di&nbsp;altezza uguale e&nbsp;con i&nbsp;valori di&nbsp;larghezza minimi fissi<\/a>.<br \/>\nProcediamo proprio nell&rsquo;ordine appena stabilito.<br \/>\n<a name=\"var1\"><\/a><\/p>\n<h5>1.&nbsp;Il&nbsp;sidebar a&nbsp;sinistra + il&nbsp;content a&nbsp;destra di&nbsp;altezza uguale e&nbsp;con i&nbsp;valori di&nbsp;larghezza fissi<\/h5>\n<p>\nIl&nbsp;risultato che vogliamo ottenere&nbsp;&egrave;, schematicamente, quello della immagine seguente (dal punto di&nbsp;vista grafico pu&ograve; essere personalizzato, ora ci&nbsp;interessano solo l&rsquo;altezza e&nbsp;la&nbsp;larghezza):<br \/>\n<img decoding=\"async\" src=\"https:\/\/eugigufo.net\/images\/inerario\/art40sidebartotalheight01.jpg\" title=\"lo schema del risultato che vogliamo ottenere\" border=\"0\"><br \/>\nIl&nbsp;codice HTML della pagina in&nbsp;questione contenuto tra i&nbsp;tag &lt;body&gt;&#8230;&lt;\/body&gt; &egrave;&nbsp;questo:<\/p>\n<pre class=\"brush: xml; collapse: false; title: listing 1; notranslate\" title=\"listing 1\">\n&amp;lt;body&amp;gt;\n&amp;lt;div class=&amp;quot;col-wrap1&amp;quot;&amp;gt;\n  &amp;lt;div class=&amp;quot;col-wrap2&amp;quot;&amp;gt;\n    &amp;lt;div class=&amp;quot;col1&amp;quot;&amp;gt;\n      &amp;lt;div class=&amp;quot;content&amp;quot; id=&amp;quot;c1&amp;quot;&amp;gt; \n        &amp;lt;p&amp;gt;Il sidebar a sinistra.&amp;lt;\/p&amp;gt;\n      &amp;lt;\/div&amp;gt;\n    &amp;lt;\/div&amp;gt;\n    &amp;lt;div class=&amp;quot;col2&amp;quot;&amp;gt; \n      &amp;lt;div class=&amp;quot;content&amp;quot; id=&amp;quot;c2&amp;quot;&amp;gt; \n        &amp;lt;p&amp;gt;Il content a destra.&amp;lt;br&amp;gt;Supponiamo che sia esso ad avere il contenuto maggiore.&amp;lt;br&amp;gt;Si vede bene?&amp;lt;\/p&amp;gt;\n      &amp;lt;\/div&amp;gt;\n    &amp;lt;\/div&amp;gt;\n    &amp;lt;div class=&amp;quot;clear&amp;quot;&amp;gt;&amp;lt;\/div&amp;gt;\n  &amp;lt;\/div&amp;gt;\n&amp;lt;\/div&amp;gt;\n&amp;lt;\/body&amp;gt;\n<\/pre>\n<p>\nIpotizziamo ora di&nbsp;voler fare il&nbsp;sidebar di&nbsp;larghezza fissa 250&nbsp;pixel e&nbsp;il&nbsp;content di&nbsp;larghezza fissa 500&nbsp;pixel, entrambi di&nbsp;altezza uguale indipendentemente dalla quantit&agrave; dei contenuti. Il&nbsp;codice CSS della pagina &egrave;&nbsp;allora questo:<\/p>\n<pre class=\"brush: css; collapse: false; title: listing 2; notranslate\" title=\"listing 2\">\n.col-wrap1 {\n    width: 250px;\n    background: url(bg1.png) #BD4A4A bottom right no-repeat;\n    border: 10px solid #FF0000;\n    position: relative;\n    left: 7%;\n}\n\n.col-wrap2 {\n    width: 500px;\n    position: relative;\n    left: 100%;\n    margin: -10px -200% -10px 50px;\n    background: url(bg2.png) #999999 bottom left no-repeat;\n    border: 10px solid #000000;\n}\n\n.col1 {\n\tfloat: left;\n\twidth: 50%;\n\tmargin-right: -100%;\n\tposition: relative;\n\tleft: -50%;\n\tmargin-left: -60px;\n}\n\n.col-wrap1, .col-wrap2 {\n\t-moz-border-radius:8px;\n\t-webkit-border-radius:8px;\n}\n\n.content { padding: 20px; }\n\np { margin-top: 0; }\n\n.clear {\n\tclear: both;\n\tfont-size: 0;\n\toverflow: hidden;\n}\n<\/pre>\n<p>\nIl&nbsp;posizionamento dei due blocchi sugli assi orizzontale e&nbsp;verticale (per esempio, al&nbsp;centro della pagina) pu&ograve; essere impostato con il&nbsp;tag body&nbsp;{&#8230;} in&nbsp;CSS.<br \/>\n<a href=\"https:\/\/eugigufo.net\/images\/inerario\/esempiopar40var1.html\">Sotto questo link<\/a> si&nbsp;trova un&nbsp;esempio illustrativo funzionante.<br \/>\n<a name=\"var2\"><\/a><\/p>\n<h5>2.&nbsp;Il&nbsp;sidebar a&nbsp;sinistra + il&nbsp;content a&nbsp;destra di&nbsp;altezza uguale e&nbsp;con i&nbsp;valori di&nbsp;larghezza minimi fissi<\/h5>\n<p>\nQuesta opzione potrebbe esserci utile quando vogliamo sfruttare in&nbsp;un&nbsp;modo ottimale gli schermi grandi&nbsp;e, allo stesso tempo, per qualche motivo non vogliamo avere i&nbsp;blocchi troppo stretti sugli schermi pi&ugrave; piccoli (per le&nbsp;larghezze dei sidebar e&nbsp;content espresse solo con le&nbsp;percentuali si&nbsp;veda l&rsquo;<a href=\"https:\/\/eugigufo.net\/it\/inerario\/paragrafo5\/\">apposito paragrafo<\/a>).<br \/>\nIl&nbsp;risultato che vogliamo ottenere&nbsp;&egrave;, schematicamente, quello della immagine seguente:<br \/>\n<img decoding=\"async\" src=\"https:\/\/eugigufo.net\/images\/inerario\/art40sidebartotalheight02.jpg\" title=\"lo schema del risultato che vogliamo ottenere\" border=\"0\"><br \/>\nIl&nbsp;codice HTML della pagina in&nbsp;questione contenuto tra i&nbsp;tag &lt;body&gt;&#8230;&lt;\/body&gt; &egrave;&nbsp;questo:<\/p>\n<pre class=\"brush: xml; collapse: false; title: listing 3; notranslate\" title=\"listing 3\">\n&amp;lt;body&amp;gt;\n&amp;lt;div class=&amp;quot;col-wrap1&amp;quot;&amp;gt;\n  &amp;lt;div class=&amp;quot;col-wrap2&amp;quot;&amp;gt;\n    &amp;lt;div class=&amp;quot;col1&amp;quot;&amp;gt;\n      &amp;lt;div class=&amp;quot;content&amp;quot; id=&amp;quot;c1&amp;quot;&amp;gt; \n        &amp;lt;p&amp;gt;Il sidebar a sinistra.&amp;lt;\/p&amp;gt;\n      &amp;lt;\/div&amp;gt;\n    &amp;lt;\/div&amp;gt;\n    &amp;lt;div class=&amp;quot;col2&amp;quot;&amp;gt; \n      &amp;lt;div class=&amp;quot;content&amp;quot; id=&amp;quot;c2&amp;quot;&amp;gt; \n        &amp;lt;p&amp;gt;Il content a destra.&amp;lt;br&amp;gt;Supponiamo che sia esso ad avere il contenuto maggiore.&amp;lt;br&amp;gt;Si vede bene?&amp;lt;\/p&amp;gt;\n      &amp;lt;\/div&amp;gt;\n    &amp;lt;\/div&amp;gt;\n    &amp;lt;div class=&amp;quot;clear&amp;quot;&amp;gt;&amp;lt;\/div&amp;gt;\n  &amp;lt;\/div&amp;gt;\n&amp;lt;\/div&amp;gt;\n&amp;lt;\/body&amp;gt;\n<\/pre>\n<p>\nIpotizziamo ora di&nbsp;voler fare il&nbsp;sidebar di&nbsp;larghezza&nbsp;25% ma&nbsp;mai inferiore ai&nbsp;250&nbsp;pixel e&nbsp;il&nbsp;content di&nbsp;larghezza&nbsp;50% ma&nbsp;mai inferiore ai&nbsp;500&nbsp;pixel, entrambi di&nbsp;altezza uguale indipendentemente dalla quantit&agrave; dei contenuti. Il&nbsp;codice CSS della pagina &egrave;&nbsp;allora questo:<\/p>\n<pre class=\"brush: css; collapse: false; title: listing 4; notranslate\" title=\"listing 4\">\n.col-wrap1 {\n    width: 25%;\n    min-width: 250px;\n    background: url(bg1.png) #BD4A4A bottom right no-repeat;\n    border: 10px solid #FF0000;\n    position: relative;\n    left: 7%;\n}\n\n.col-wrap2 {\n    width: 50%;\n    min-width: 500px;\n    position: relative;\n    left: 100%;\n    margin: -10px -200% -10px 50px;\n    background: url(bg2.png) #999999 bottom left no-repeat;\n    border: 10px solid #000000;\n}\n\n.col1 {\n\tfloat: left;\n\twidth: 50%;\n\tmargin-right: -100%;\n\tposition: relative;\n\tleft: -50%;\n\tmargin-left: -60px;\n}\n\n.col-wrap1, .col-wrap2 {\n\t-moz-border-radius:8px;\n\t-webkit-border-radius:8px;\n}\n\n.content { padding: 20px; }\n\np { margin-top: 0; }\n\n.clear {\n\tclear: both;\n\tfont-size: 0;\n\toverflow: hidden;\n}\n<\/pre>\n<p>\nIl&nbsp;posizionamento dei due blocchi sugli assi orizzontale e&nbsp;verticale (per esempio, al&nbsp;centro della pagina) pu&ograve; essere impostato con il&nbsp;tag body&nbsp;{&#8230;} in&nbsp;CSS.<br \/>\n<a href=\"https:\/\/eugigufo.net\/images\/inerario\/esempiopar40var2.html\">Sotto questo link<\/a> si&nbsp;trova un&nbsp;esempio illustrativo funzionante.<br \/>\n<a name=\"var3\"><\/a><\/p>\n<h5>3.&nbsp;Il&nbsp;content a&nbsp;sinistra + il&nbsp;sidebar a&nbsp;destra di&nbsp;altezza uguale e&nbsp;con i&nbsp;valori di&nbsp;larghezza fissi<\/h5>\n<p>\nIl&nbsp;risultato che vogliamo ottenere&nbsp;&egrave;, schematicamente, quello della immagine seguente:<br \/>\n<img decoding=\"async\" src=\"https:\/\/eugigufo.net\/images\/inerario\/art40sidebartotalheight03.jpg\" title=\"lo schema del risultato che vogliamo ottenere\" border=\"0\"><br \/>\nIl&nbsp;codice HTML della pagina in&nbsp;questione contenuto tra i&nbsp;tag &lt;body&gt;&#8230;&lt;\/body&gt; &egrave;&nbsp;questo:<\/p>\n<pre class=\"brush: xml; collapse: false; title: listing 5; notranslate\" title=\"listing 5\">\n&amp;lt;body&amp;gt;\n&amp;lt;div class=&amp;quot;col-container&amp;quot;&amp;gt;\n  &amp;lt;div class=&amp;quot;col-wrap2&amp;quot;&amp;gt;\n    &amp;lt;div class=&amp;quot;content&amp;quot; id=&amp;quot;c2&amp;quot;&amp;gt;\n      &amp;lt;p&amp;gt;Il content a sinstra.&amp;lt;br&amp;gt;Supponiamo che sia esso ad avere il contenuto maggiore.&amp;lt;br&amp;gt;Si vede bene?&amp;lt;\/p&amp;gt;\n    &amp;lt;\/div&amp;gt;\n  &amp;lt;\/div&amp;gt;\n  &amp;lt;div class=&amp;quot;col-wrap1&amp;quot;&amp;gt;\n    &amp;lt;div class=&amp;quot;content&amp;quot; id=&amp;quot;c1&amp;quot;&amp;gt;\n      &amp;lt;p&amp;gt;Il sidebar a destra.&amp;lt;\/p&amp;gt;\n    &amp;lt;\/div&amp;gt;\n  &amp;lt;\/div&amp;gt;\n&amp;lt;\/div&amp;gt;\n&amp;lt;\/body&amp;gt;\n<\/pre>\n<p>\nIpotizziamo ora di&nbsp;voler fare il&nbsp;content di&nbsp;larghezza fissa 500&nbsp;pixel e&nbsp;il&nbsp;sidebar di&nbsp;larghezza fissa 250&nbsp;pixel, entrambi di&nbsp;altezza uguale indipendentemente dalla quantit&agrave; dei contenuti. Il&nbsp;codice CSS della pagina &egrave;&nbsp;allora questo:<\/p>\n<pre class=\"brush: css; collapse: false; title: listing 6; notranslate\" title=\"listing 6\">\nbody { display: flex; }\n\n.col-container {\n    display: flex;\n    align-items: stretch;\n    gap: 40px;\n}\n\n.col-wrap1 {\n    width: 250px;\n    background: url(bg1.png) #BD4A4A bottom right no-repeat;\n    border: 10px solid #FF0000;\n    border-radius: 8px;\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n}\n\n.col-wrap2 {\n    width: 500px;\n    margin: 0 0 0 12%;\n    background: url(bg2.png) #999999 bottom left no-repeat;\n    border: 10px solid #000000;\n    border-radius: 8px;\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n}\n\n.content {\n    padding: 20px;\n    flex: 1;\n    overflow-y: auto;\n}\n\np { margin-top: 0; }\n<\/pre>\n<p>\nIl&nbsp;posizionamento dei due blocchi sugli assi orizzontale e&nbsp;verticale (per esempio, al&nbsp;centro della pagina) pu&ograve; essere impostato con il&nbsp;tag body&nbsp;{&#8230;} in&nbsp;CSS.<br \/>\n<a href=\"https:\/\/eugigufo.net\/images\/inerario\/esempiopar40var3.html\">Sotto questo link<\/a> si&nbsp;trova un&nbsp;esempio illustrativo funzionante.<br \/>\n<a name=\"var4\"><\/a><\/p>\n<h5>4.&nbsp;Il&nbsp;content a&nbsp;sinistra + il&nbsp;sidebar a&nbsp;destra di&nbsp;altezza uguale e&nbsp;con i&nbsp;valori di&nbsp;larghezza minimi fissi<\/h5>\n<p>\nQuesta opzione potrebbe esserci utile quando vogliamo sfruttare in&nbsp;un&nbsp;modo ottimale gli schermi grandi&nbsp;e, allo stesso tempo, per qualche motivo non vogliamo avere i&nbsp;blocchi troppo stretti sugli schermi pi&ugrave; piccoli (per le&nbsp;larghezze dei sidebar e&nbsp;content espresse solo con le&nbsp;percentuali si&nbsp;veda l&rsquo;<a href=\"https:\/\/eugigufo.net\/it\/inerario\/paragrafo39\/\">apposito paragrafo<\/a>).<br \/>\nIl&nbsp;risultato che vogliamo ottenere&nbsp;&egrave;, schematicamente, quello della immagine seguente:<br \/>\n<img decoding=\"async\" src=\"https:\/\/eugigufo.net\/images\/inerario\/art40sidebartotalheight04.jpg\" title=\"lo schema del risultato che vogliamo ottenere\" border=\"0\"><br \/>\nIl&nbsp;codice HTML della pagina in&nbsp;questione contenuto tra i&nbsp;tag &lt;body&gt;&#8230;&lt;\/body&gt; &egrave;&nbsp;questo:<\/p>\n<pre class=\"brush: xml; collapse: false; title: listing 7; notranslate\" title=\"listing 7\">\n&amp;lt;body&amp;gt;\n&amp;lt;div class=&amp;quot;col-container&amp;quot;&amp;gt;\n  &amp;lt;div class=&amp;quot;col-wrap2&amp;quot;&amp;gt;\n    &amp;lt;div class=&amp;quot;content&amp;quot; id=&amp;quot;c2&amp;quot;&amp;gt;\n      &amp;lt;p&amp;gt;Il content a sinstra.&amp;lt;br&amp;gt;Supponiamo che sia esso ad avere il contenuto maggiore.&amp;lt;br&amp;gt;Si vede bene?&amp;lt;\/p&amp;gt;\n    &amp;lt;\/div&amp;gt;\n  &amp;lt;\/div&amp;gt;\n  &amp;lt;div class=&amp;quot;col-wrap1&amp;quot;&amp;gt;\n    &amp;lt;div class=&amp;quot;content&amp;quot; id=&amp;quot;c1&amp;quot;&amp;gt;\n      &amp;lt;p&amp;gt;Il sidebar a destra.&amp;lt;\/p&amp;gt;\n    &amp;lt;\/div&amp;gt;\n  &amp;lt;\/div&amp;gt;\n&amp;lt;\/div&amp;gt;\n&amp;lt;\/body&amp;gt;\n<\/pre>\n<p>\nIpotizziamo ora di&nbsp;voler fare il&nbsp;content di&nbsp;larghezza&nbsp;50% ma&nbsp;mai inferiore ai&nbsp;500&nbsp;pixel e&nbsp;il&nbsp;sidebar di&nbsp;larghezza&nbsp;25% ma&nbsp;mai inferiore ai&nbsp;250&nbsp;pixel, entrambi di&nbsp;altezza uguale indipendentemente dalla quantit&agrave; dei contenuti. Il&nbsp;codice CSS della pagina &egrave;&nbsp;allora questo:<\/p>\n<pre class=\"brush: css; collapse: false; title: listing 8; notranslate\" title=\"listing 8\">\nbody { display: flex; }\n\n.col-container {\n    display: flex;\n    align-items: stretch;\n    gap: 40px;\n}\n\n.col-wrap1 {\n    width: 25%;\n    min-width: 250px;\n    background: url(bg1.png) #BD4A4A bottom right no-repeat;\n    border: 10px solid #FF0000;\n    border-radius: 8px;\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n}\n\n.col-wrap2 {\n    width: 50%;\n    min-width: 500px;\n    margin: 0 0 0 12%;\n    background: url(bg2.png) #999999 bottom left no-repeat;\n    border: 10px solid #000000;\n    border-radius: 8px;\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n}\n\n.content {\n    padding: 20px;\n    flex: 1;\n    overflow-y: auto;\n}\n\np { margin-top: 0; }\n<\/pre>\n<p>\nIl&nbsp;posizionamento dei due blocchi sugli assi orizzontale e&nbsp;verticale (per esempio, al&nbsp;centro della pagina) pu&ograve; essere impostato con il&nbsp;tag body&nbsp;{&#8230;} in&nbsp;CSS.<br \/>\n<a href=\"https:\/\/eugigufo.net\/images\/inerario\/esempiopar40var4.html\">Sotto questo link<\/a> si&nbsp;trova un&nbsp;esempio illustrativo funzionante.<br \/>\nBenissimo, ora posso dire di&nbsp;avere preso in&nbsp;considerazione tutte le&nbsp;situazioni che vi&nbsp;potrebbero capitare di&nbsp;affrontare mentre cercate di&nbsp;fare i&nbsp;div del content e&nbsp;del sidebar di&nbsp;altezza uguale. Fino alla comparsa dei cambiamenti radicali nel CSS l&rsquo;argomento potrebbe essere considerato chiuso: a&nbsp;meno che qualche lettore non mi&nbsp;scriva qualche propria osservazione o&nbsp;proposta in&nbsp;merito a&nbsp;quanto ho&nbsp;scritto.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il paragrafo dell\u2019\u201cInerario\u201d che illustra come impostare con il solo CSS una altezza sempre uguale del content e del sidebar che hanno le larghezze fisse oppure le larghezze minime fisse.<br \/>\nQuesto paragrafo \u00e8 stato pensato prevalentemente per gli sviluppatori front-end che amano le soluzioni sicure ma con il minimo del codice.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":452,"menu_order":40,"comment_status":"closed","ping_status":"closed","template":"inerarioart.php","meta":{"footnotes":""},"class_list":["post-12255","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/pages\/12255","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/comments?post=12255"}],"version-history":[{"count":0,"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/pages\/12255\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/pages\/452"}],"wp:attachment":[{"href":"https:\/\/eugigufo.net\/it\/wp-json\/wp\/v2\/media?parent=12255"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}