Utilizzando il widget Call To Action di Elementor Pro puรฒ succedere di trovarsi nella situazione di avere due o piรน widget affiancati orizzontalmente ma con altezze diverse. Questo รจ causato dalla differente quantitร di testo inserita nei titoli o nelle descrizioni del widget.
ร possibile sistemare questo problema ricorrendo a del codice CSS. In questo video ti mostro come fare:
Questo รจ il codice CSS che ho utilizzato nel video:
selector .elementor-cta {
height: 100%;
display: flex;
flex-direction: column;
}
selector .elementor-cta__content {
display: flex;
flex-direction: column;
flex-grow: 1;
justify-content: flex-start;
}
selector .elementor-cta__button-wrapper {
margin-top: auto;
}
Trascrizione del video
In questo video ti mostro come risolvere un problema che potrebbe succedere utilizzando il widget โCall To Actionโ di Elementor Pro. In pratica, creando diversi widget โCall To Actionโ con una diversa quantitร di testo, potresti trovarti in una situazione di questo tipo, nella quale i widget hanno tre altezze diverse. Noi vogliamo ottenere invece una cosa di questo tipo: ossia, anche se lโaltezza del testo รจ diversa, tutti e tre i widget presentano la stessa altezza. In questo video ti mostrerรฒ come fare, senza utilizzare alcun plugin aggiuntivo, ma semplicemente con del codice CSS.
Sottolineo anche unโaltra cosa: questo problema capita con il widget โCall To Actionโ, non capita invece con il widget โRiquadro Immagineโ. Infatti, qui vedi che ho utilizzato tre widget โRiquadro Immagineโ con quantitร di testo diverse, ma la pagina non ha questo problema perchรฉ i singoli widget hanno la stessa altezza. Con il widget โCall To Actionโ, invece, non รจ cosรฌ, perchรฉ se pubblico utilizzando testi diversi o altezze diverse, si presenta il problema.
Vediamo quindi, partendo da zero, come andare a risolvere questo problema. Prima di iniziare, ti faccio notare che nellโesempio che andrรฒ a creare in questo video, utilizzo la funzione Contenitore Flexbox di Elementor, che รจ una delle ultime novitร introdotte da Elementor. Quindi, non vado ad utilizzare le vecchie sezioni, le vecchie colonne eccetera, ma utilizzo il โContenitore Flexboxโ di Elementor.
Per attivarlo, basta andare in Elementor, selezionare โImpostazioniโ, poi โCaratteristicheโ, e sotto la voce โContenitore Flexboxโ, scegliere di attivare e poi salvare le impostazioni. Una volta fatto, partiamo dalla nostra pagina bianca su Elementor e vado a creare una prima sezione, un primo contenitore. Quindi, clicco su โ+โ, scelgo โContenitore Flexboxโ orientato in direzione riga, e allโinterno di questo contenitore vado ad inserire la โCall To Actionโ.
Un vantaggio del contenitore flexbox รจ che, mentre in passato dovevo creare una sezione, poi mettere tre colonne, e in ogni colonna mettere il widget โCall To Actionโ, ora posso tranquillamente trascinare il widget โCall To Actionโ direttamente allโinterno del mio contenitore e poi lo vado a duplicare. Cosรฌ facendo, vedi che ho tre contenitori.
Ora che li abbiamo inseriti, ti mostro un piccolo intervento da fare in ottica responsive, perchรฉ Elementor, per impostazione predefinita, non va a capo allโinterno di un contenitore flexbox. Questo significa che io, andando a duplicare ulteriori contenitori, vedo che continuano ad aggiungersi, perรฒ diventando incredibilmente stretti e quindi molto brutti da vedere. Li vado a eliminare e ti mostro come gestire a livello responsive la dimensione di ogni singolo contenitore.
Il primo intervento da fare รจ: mi posiziono sul primo contenitore, vado in avanzato e, come larghezza, scelgo volendo tre colonne, dimensione personalizzata al 25 percento. Poi, come dimensione, scelgo โcresciโ, quindi attivo la proprietร โFlex Growโ che permette appunto al contenitore di crescere andare a occupare lo spazio, mantenendo perรฒ la base partendo dal 25 percento di spazio occupato. Ora vado a replicare queste impostazioni anche sugli altri e vedi che, cosรฌ facendo, i contenitori sono allineati.
Andiamo a vedere anche in ottica responsive. Quindi, vado su tablet: tre contenitori. Su mobile, non mi sta bene perchรฉ voglio invece che il contenitore prenda tutta la riga. Quindi, torno qua, sul primo widget flexbox, nel caso del mobile, scelgo larghezza al 100% e vado a replicare la stessa impostazione anche per gli altri due. Cosรฌ vedi, ho la possibilitร di gestire gli allineamenti in ottica responsive.
Rimane solo un piccolo intervento da effettuare, ossia andare qua, nellโimpostazione del contenitore, e attivare questa voce โWrapโ, in modo che i contenitori vadano a capo. Cosรฌ facendo, se io dovessi andare a duplicare a crearne uno nuovo, vedi che in automatico vanno a capo e rimane preservato lโimpostazione, quindi non vanno ad accumularsi in orizzontale, restringendo i vari spazi. Ora, questi qua sotto non mi servono, quindi li vado a eliminare.
Una volta sistemata la struttura responsive delle mie tre colture affiancate, andiamo a personalizzarle. Quindi, comincio a caricare lโimmagine. Quindi, vado qua a pescare le varie immagini. Lโintestazione la mantengo uguale, perรฒ vado a personalizzare il testo delle varie descrizioni, le vado ad aggiungere anche qua e anche nella terza. La differenza perรฒ รจ che qua, nella seconda, vado ad accorciarla e anche qua la vado ad accorciare, ma un pochino meno.
In questo modo, ho tre widget โCall To Actionโ di diversa altezza. Quindi vado ad aggiornare e ad aprire in una scheda, qua a fianco la pagina, cosรฌ ho la possibilitร di vedere, senza avere Elementor tra le scatole, come appare la pagina ai miei visitatori.
Come puoi vedere, รจ abbastanza evidente il problema: tre widget โCall To Actionโ, tutti e tre con altezze differenti. Prima di procedere allโintervento, voglio suggerirti una piccola modifica ai widget โCall To Actionโ, per rendere piรน evidente tutti gli interventi che andremo a fare. Quindi torno qua su Elementor e seleziono un widget, vado in โAvanzatoโ, applico unโombra al bordo, cosรฌ รจ piรน evidente dove finisce e dove inizia il contenitore. Inoltre, qua, sempre nel widget โCall To Actionโ, nello stile, vado a rendere un pochino piรน scuro lo sfondo del contenuto. Ora che ho fatto, vado a replicare la modifica anche sugli altri due, vado ad aggiornare, torno sulla pagina, faccio un refresh.
E qua puoi notare una cosa: in realtร i widget hanno tutti e tre la stessa altezza, perchรฉ vedi che lโombra del bordo evidenzia che tutti e tre i widget hanno la stessa altezza. Il problema รจ che cโรจ questo elemento qua interno che si adatta, diventa un poโ piรน alto, un poโ piรน basso, in base alla quantitร di contenuto. Vediamo di risolvere questo problema.
Il primo passaggio รจ quello di aprire gli strumenti per sviluppatori del tuo browser. Quindi, se utilizzi Chrome, Brave, Firefox, in tutti i browser praticamente hanno una funzione di questo tipo e ci basta cliccare qua sulla pagina col tasto destro del mouse, scegliere โIspezionaโ. In alcuni casi si chiama โAnalizzaโ, e automaticamente il browser apre una schermata di questo tipo, dove qui a lato, o eventualmente in alcuni casi sotto, appare il codice della pagina e vedi che, spostandoti con il mouse sui vari elementi del codice, viene evidenziata la porzione della pagina interessata da quel codice.
Quindi vedi che, ad esempio, se io seleziono qua questo โdivโ con classe โelementor-widget-containerโ, viene evidenziato esattamente quel widget e in questa situazione vedo che questo widget non rappresenta il problema perchรฉ quel widget effettivamente ha la stessa altezza. Il problema nasce invece selezionando il widget โElementor CTAโ, perchรฉ quello รจ piรน basso di quanto, diciamo cosรฌ, dovrebbe essere, e quindi comincio ad applicare alcune regole CSS per correggere questo problema.
Quindi seleziono qua il blocco โElementor CTAโ e qua applico una regola come questa che imposta lโaltezza del widget al 100%. Sempre lโelemento โdivโ con la classe โelementor-ctaโ, devo applicare altre due regole. Una รจ questa: โdisplay: flexโ, quindi devo attivare il modello flexbox anche per questo widget e poi la direzione โflex-directionโ deve essere โcolumnโ, in modo che il widget si sviluppi in verticale. Come vedi ora la situazione รจ tornata al punto di partenza, ma non ti preoccupare, andremo a risolverla tra poco.
Lโaltro intervento che devo fare, questa volta, รจ sullโelemento โcta-content
โ, quindi questo elemento che racchiude il contenuto del widget, il contenuto testuale del widget. Quindi vado a selezionare questo elemento โcta-content
โ e anche qua vado ad applicare alcune regole CSS, ossia queste: โdisplay: flexโ, anche in questo caso, โflex-directionโ sempre โcolumnโ perchรฉ si sviluppi in verticale e ora vado a applicare quella regola che porta, diciamo, questo elemento ad occupare tutto quello spazio in altezza. La regola รจ questa: โflex-grow: 1โ e vedi che, cosรฌ facendo, anche tutto il contenitore, quindi questo sfondo, va a occupare tutto lo spazio.
Ora mi rimane ancora una cosa da correggere, ossia il pulsante che appare qua mentre io lo voglio alla stessa altezza. Quindi, voglio che si posizioni sempre in fondo. Posso correggere anche questo. Per farlo, mi sposto, mi vado a selezionare qua โIspezionaโ il pulsante e vedo che lโelemento pulsante รจ contenuto in questo โdivโ con la classe โelementor-cta__button-wrapper
โ. Vado ad applicare anche qua una regola CSS, che รจ questa: โmargin-top: auto;
โ e vedi che in automatico viene effettuato questo intervento.
Ti consiglio anche qua, nella sezione โElementor CTA contentโ, di applicare questa regola โjustify-content: flex-startโ. Non รจ indispensabile sempre, perรฒ per evitare problemi, per fare in modo che questo elemento parta effettivamente in alto. Tutte queste regole che abbiamo inserito sono indispensabili perchรฉ il tutto funzioni. Se infatti io torno qua sul mio prima la regola sullโelemento โCTAโ e vado a disattivare queste impostazioni, vedi che torniamo al problema, quindi mi servono tutte queste regole. Ora cโรจ la necessitร di andare a cementare queste regole CSS allโinterno del codice della mia pagina, perchรฉ altrimenti, avendole impostate qua con lo strumento per sviluppatori del browser, mi basta fare un refresh per cancellarle, perchรฉ sono regole che vedo solo io in questo momento. Quindi devo andare a inserire queste regole dentro Elementor. Vediamo come fare.
Quindi mi sposto qua su Elementor. Essendo il widget โCall To Actionโ disponibile solo in โElementor Proโ, posso sfruttare unโaltra funzionalitร di โElementor Proโ, ossia il CSS personalizzato, altrimenti, in alternativa, potrai inserire il CSS, questo codice CSS, allโinterno del tema. Quindi, per andare a inserirlo, mi basta andare qua e selezionare il contenitore. Quindi non lo applico a livello di ogni singolo widget, ma lo applico a livello del contenitore, in modo che non devo ripeterlo tre volte per ogni widget che ho. Mi seleziono qua il contenitore. Nelle impostazioni avanzate del contenitore, trovo il campo โCSS personalizzatoโ. E quindi comincio a inserire le regole. La prima cosa che scrivo รจ โselectorโ, in modo che questa regola vada a impattare solo questi contenuti e poi qua vado a copiare le regole che mi servono. La prima, ci ricordiamo, serviva, cioรจ andava a colpire lโelemento con la classe โelementor-ctaโ. Quindi copio, mi sposto qua, punto โelementor-ctaโ, uso il punto perchรฉ รจ una classe CSS.
Poi apro le parentesi e qua inserisco le varie dichiarazioni, che sono queste tre. Copio queste dichiarazioni che ho creato qua allโinterno, le incollo e ho inserito la prima. Devo inserire anche lโaltra regola. Quindi vado โselectorโ, anche in questo caso torno qua e questa volta devo copiare le dichiarazioni relative alla classe โelementor-cta__contentโ. Quindi copio, โ.elementor-cta__contentโ, apro e chiudo parentesi graffa, vado a copiare anche in questo caso tutte queste dichiarazioni e le vado a inserire qua dentro.
Torno allโinterno della mia pagina, questa volta devo copiare questa classe, quella relativa al bottone, torno qua su Elementor, a capo, โselectorโ, punto, apro e chiudo parentesi graffa, questa volta senza copiare, me la ricordo dato che รจ molto breve, โmargin-top: auto;โ. Aggiorno. Ora posso tranquillamente chiudere questo, fare un refresh della pagina e vedi che tutti e tre i widget hanno la stessa altezza e i pulsanti sono allineati grazie alle regole CSS.
Come visto, conoscendo le regole, il funzionamento CSS, senza installare alcun plugin aggiuntivo, รจ possibile ottenere il risultato desiderato in modo abbastanza semplice.