{"id":230476,"date":"2022-11-23T12:19:00","date_gmt":"2022-11-23T09:19:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=230476"},"modified":"2022-11-09T22:33:41","modified_gmt":"2022-11-09T19:33:41","slug":"centratura-dinamica-di-un-elemento-in-un-contenitore-mediante-css","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/centratura-dinamica-di-un-elemento-in-un-contenitore-mediante-css\/","title":{"rendered":"Centratura dinamica di un elemento in un contenitore mediante CSS"},"content":{"rendered":"\n<p>Quando si tratta di scrivere di sviluppo, non parlo spesso di cose oltre a PHP e JavaScript principalmente perch\u00e9 lavoro con quei linguaggi pi\u00f9 di altri.<\/p>\n<p>Voglio dire, s\u00ec, CSS fa parte dell&#8217;accordo cos\u00ec come HTML, ma \u00e8 previsto in questi giorni, giusto?<\/p>\n<p>Quindi, se c&#8217;\u00e8 mai stato un suggerimento rapido da offrire per quanto riguarda i CSS, \u00e8 questo (anche se forse dovrei scrivere di pi\u00f9?). \u00c8 difficile quando <strong><a href=\"https:\/\/twitter.com\/chriscoyier\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Chris<\/a><\/strong> fa un lavoro cos\u00ec fantastico eseguendo <strong><a href=\"https:\/\/css-tricks.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">CSS Tricks<\/a><\/strong>, ma sto divagando.<\/p>\n<p>Comunque, ecco il problema e la soluzione.<\/p>\n<h2>Centratura dinamica di un elemento in un contenitore<\/h2>\n<p>L&#8217;idea di centrare dinamicamente un elemento si basa sul seguente scenario:<\/p>\n<ul>\n<li>Stai effettuando una chiamata a un&#8217;API che risponder\u00e0 con una serie, ad esempio, di immagini una volta completata la chiamata.<\/li>\n<li>Devi centrare ogni immagine all&#8217;interno del suo contenitore.<\/li>\n<li>Le immagini non avranno un&#8217;altezza fissa e dovranno essere posizionate e centrate dinamicamente all&#8217;interno dei contenitori nell&#8217;interfaccia utente.<\/li>\n<\/ul>\n<p>Forse questo \u00e8 ancora un po&#8217; generale. Se \u00e8 cos\u00ec, supponiamo che tu abbia una lista (ordinata o non ordinata, non importa). Hanno un&#8217;altezza e una larghezza fisse e posizionerai le immagini, in scala, all&#8217;interno di ogni elemento.<\/p>\n<p>Ricorda: non puoi posizionare elementi come\u00a0 elementi <strong>div<\/strong> all&#8217;interno di elementi <strong>li<\/strong> (perch\u00e9 un <strong>div<\/strong> \u00e8 un elemento a livello di blocco) senza modificarlo tramite alcuni CSS. E vogliamo evitare di farlo.<\/p>\n<p>Quindi, alla fine, l&#8217;interfaccia utente potrebbe assomigliare a questo (grezzo, lo so):<\/p>\n<p>Se vuoi che ogni immagine sia posizionata all&#8217;interno dell&#8217;elemento dell&#8217;elenco, vuoi che abbia una certa altezza in scala e vuoi che sia centrata, <strong><a href=\"https:\/\/gist.github.com\/tommcfarlin\/6fcfa9dd108af20920c937b2a1fa66c4\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">prova il seguente bit di codice<\/a><\/strong> :<\/p>\n<pre><code>.acme-element {\n  position:   relative;\n  top:        50%;\n  transform:  translateY(-50%);\n  height:     auto;\n  max-height: 190px;\n}<\/code><\/pre>\n<p>La chiave per questo, davvero, \u00e8 lo stile di trasformazione. <strong><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/CSS\/transform-function\/translateY\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Secondo MDN<\/a><\/strong> :<\/p>\n<blockquote>\n<p>La funzione translateY() CSS riposiziona un elemento verticalmente sul piano 2D. Il risultato \u00e8 un tipo di dati.<\/p>\n<\/blockquote>\n<p>Ha senso?<\/p>\n<p>Pensala in questo modo: la funzione <strong>translateY<\/strong> prender\u00e0 un dato elemento (identificato dal suo selettore) e lo posizioner\u00e0 usando il valore specificato.<\/p>\n<h2>Si tratta di trasformazioni<\/h2>\n<p>Puoi usare pixel, percentuali o qualunque cosa ti serva per realizzarlo. In questo caso, sono le percentuali (e sono negative). Sebbene io stia usando un esempio della mia implementazione, vuole anche essere un suggerimento su come usare la funzione <strong>transformY<\/strong> in relazione alle trasformazioni.<\/p>\n<p>Se la compatibilit\u00e0 del browser \u00e8 importante, cosa che, in alcuni casi, dovrebbe, dai un&#8217;occhiata a <strong><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/CSS\/transform-function#Browser_compatibility\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">questo grafico<\/a><\/strong>. Sei abbastanza ben coperto.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&#8217;idea di centrare dinamicamente un elemento \u00e8 fortemente correlata al lavoro che stai facendo, ma forse l&#8217;uso delle trasformazioni aiuter\u00e0.<\/p>\n","protected":false},"author":1,"featured_media":220880,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[907,835,844],"tags":[1168],"class_list":["post-230476","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-css-6","category-guida-per-principianti","category-tutorial","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230476","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/comments?post=230476"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/230476\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/220880"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=230476"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=230476"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=230476"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}