Come modificare l'altezza dell'immagine dell'header in Twenty Seventeen?

6 mar 2017, 12:54:46
Visualizzazioni: 32.6K
Voti: 11

Come posso modificare l'altezza dell'immagine dell'header (specificata nella sezione Header Media) nel tema Twenty Seventeen?

In particolare, vorrei modificarla nella home page perché qui occupa quasi l'intera pagina. Vorrei che fosse molto più corta. Il modo in cui appare nelle altre pagine, come la pagina "About" predefinita, ha una buona altezza, quindi se potessi replicare quella sulla home page sarei soddisfatto. Anche se sarebbe ottimo sapere come avere un controllo preciso sull'altezza.

3
Commenti

Non sono sicuro del perché non esista un tag theme-twenty-seventeen quando sembrano esserci tag corrispondenti per gli anni precedenti.

User User
6 mar 2017 12:55:49

Questa è una buona domanda, peccato non ci sia ancora una risposta chiara. Vorrei che fosse un filtro ‍♀️

jerclarke jerclarke
3 ago 2017 07:00:53

Domanda correlata su Stack Overflow

Reinstate Monica - Goodbye SE Reinstate Monica - Goodbye SE
25 set 2017 20:19:57
Tutte le risposte alla domanda 8
2

Ho trovato (parte) del codice CSS che controlla l'altezza in wp-content/themes/twentyseventeen/style.css.

C'è del codice che viene applicato quando la barra di amministrazione non è visibile (tipico utente anonimo) attualmente alla riga 3629

.twentyseventeen-front-page.has-header-image .custom-header-media,
.twentyseventeen-front-page.has-header-video .custom-header-media,
.home.blog.has-header-image .custom-header-media,
.home.blog.has-header-video .custom-header-media {
  height: 1200px;
  height: 100vh;
  max-height: 100%;
  overflow: hidden;
}

E codice che viene applicato quando la barra di amministrazione è visibile (ad esempio sei loggato) attualmente alla riga 3646

.admin-bar.twentyseventeen-front-page.has-header-image .custom-header-media,
.admin-bar.twentyseventeen-front-page.has-header-video .custom-header-media,
.admin-bar.home.blog.has-header-image .custom-header-media,
.admin-bar.home.blog.has-header-video .custom-header-media {
  height: calc(100vh - 32px);
}

E poi codice che viene applicato su mobile attualmente alla riga 1638:

.has-header-image.twentyseventeen-front-page .custom-header,
.has-header-video.twentyseventeen-front-page .custom-header,
.has-header-image.home.blog .custom-header,
.has-header-video.home.blog .custom-header {
        display: table;
        height: 300px;
        height: 75vh;
        width: 100%;
}

Copiando queste tre sezioni di CSS nel file style.css del mio child theme e modificando l'attributo height sono riuscito a regolare l'altezza per l'immagine di intestazione nella home page. Ho impostato l'altezza a 30vh, calc(30vh - 32px), e 30vh rispettivamente in ogni sezione. Ho lasciato invariato il primo height: 1200px.

Nota che l'elemento height è impostato a 100vh che dimensiona l'altezza relativa all'altezza del viewport. Quindi 100vh è il 100% del viewport mentre 50vh è il 50% del viewport.

Una cosa strana è che nella home page lo zoom e la posizione dell'immagine di intestazione sono diversi rispetto alle altre pagine.

Non sono sicuro che questo sia il modo migliore. Sono aperto a opzioni migliori ma finora funziona a un livello basilare.

7 mar 2017 07:02:32
Commenti

Sembra davvero un insieme strano di CSS. Non l'ho provato (ma sono sicuro che non funzionerà) avere max-height 500px e height 100vh. Cioè, riempire il viewport fino a un'altezza massima di 500px.

Madivad Madivad
6 ago 2017 20:12:32

Hai incluso anche le @media queries? Ci sono tre sezioni diverse in modo che possa funzionare in modo diverso su dispositivi mobili rispetto agli schermi del computer (la terza è per schermi di computer con la barra di amministrazione). Ho lottato con lo stesso problema e non riesco a far sì che il mio child theme sovrascriva le Media Queries del tema sorgente (anche con !important).

Erik Harris Erik Harris
29 dic 2017 05:31:10
0

Modifica semplicemente il tema dalla dashboard e aggiungi la seguente definizione CSS nella sezione "CSS personalizzato" del tema:

.has-header-image.home.blog .custom-header {
    height: 26vh;
}
27 mar 2018 12:01:32
0

Da un commento che ho fatto nella risposta di @User (che è un nome figo) ;) ho pensato di provarci.

Sto modificando direttamente il file del tema perché sto lavorando in un container docker temporaneo, è più una prova di concetto. Adattarlo a un child theme richiederà qualche modifica.

In content/themes/twentyseventeen/style.css nell'area tra le righe 3680~3670 circa si trova l'immagine dell'header.

codice originale:

.twentyseventeen-front-page.has-header-image .custom-header-media,
.twentyseventeen-front-page.has-header-video .custom-header-media,
.home.blog.has-header-image .custom-header-media,
.home.blog.has-header-video .custom-header-media {
  height: 1200px;
  height: 100vh;
  max-height: 100%;
  overflow: hidden;
}

Modificando le dimensioni (e l'ordine) è sufficiente per ottenere la visualizzazione quando si è disconnessi:

  height: 100vh;    
  height: 100%; 
  max-height: 500px;

Ho lasciato il vh e il % per coprire i casi in cui non viene raggiunta la max-height, ma ho impostato la max-height al valore desiderato.

C'è una avvertenza in tutto questo:

È la sezione più alta di pixel. Quindi a meno che non abbiate una bella porzione di immagine in quell'area... Sembrerà brutto (molte teste tagliate)

altro seguirà (quando lo risolverò)

6 ago 2017 20:38:11
0

Preso da questo sito

Questo CSS aggiuntivo/personalizzato ha funzionato per me:

/*Schermo del computer */
@media screen and (min-width: 48em) {
    .twentyseventeen-front-page.has-header-image .custom-header-image {
    /*height: 1200px;*/
    /*height: 100vh;*/
    height: 50vh;
    /*max-height: 100%;*/
    /*overflow: hidden;*/
    }
}

/* Schermo mobile*/
.has-header-image.twentyseventeen-front-page .custom-header {
    /*display: table;*/
    /*height: 300px;*/
    /*height: 75vh;*/
    height: 50vh;
    /*width: 100%;*/
}

/* Schermo del computer con utente loggato e barra di amministrazione visibile in front end*/
@media screen and (min-width: 48em) {
    .admin-bar.twentyseventeen-front-page.has-header-image .custom-header-image {
    /*height: calc(100vh - 32px);*/
    height: calc(50vh - 32px);
    }
}

Puoi impostare l'altezza desiderata negli attributi 'height'.

22 apr 2022 10:13:03
1

Puoi modificarla ritagliando l'immagine. In WordPress, c'è un'opzione chiamata personalizzatore. Devi seguire i passaggi seguenti per ritagliare l'immagine.

    1) Vai su Aspetto->Personalizza
    2) Media intestazione
    3) Aggiungi una nuova immagine e poi ritagliala secondo le tue esigenze e il gioco è fatto.
6 mar 2017 14:08:15
Commenti

sì... questa non è la risposta. L'ho fatto, e semplicemente ingrandisce quella parte dell'immagine. Rendendola un'immagine molto stretta ma che riempie lo schermo

Madivad Madivad
6 ago 2017 20:11:09
0

Potresti usare Firebug (o guardare il codice sorgente della pagina) per trovare il CSS utilizzato per visualizzare l'immagine dell'header. Poi aggiungi il CSS per apportare la modifica. Il CSS esatto che utilizzerai dipende dal tema.

Firebug ti permette di modificare temporaneamente il CSS per ottenere l'effetto desiderato, poi puoi copiare quel nuovo CSS nella pagina CSS del tema (se questa opzione è disponibile).

Se non c'è un'opzione 'CSS personalizzato' nel tuo tema, il modo migliore è creare un child theme (ci sono molti tutorial su come farlo), e aggiungere il tuo CSS personalizzato nel file styles.css del child theme. (Non modificare mai il tema genitore; le tue modifiche verranno sovrascritte al prossimo aggiornamento del tema.)

7 mar 2017 03:39:23
2

Ho affrontato questo problema prima configurando un child theme (passaggio raccomandato da WP). Poi nel file style.css del child theme, ho aggiunto il CSS qui sotto. La prima sezione controlla l'altezza dell'immagine nella pagina principale; la seconda sezione controlla l'altezza dello spazio per l'immagine nella pagina principale. Entrambe devono corrispondere per far funzionare il tutto. Ho commentato alcune righe che interferivano con la mia immagine a altezza fissa. Ora l'header nella home page è esattamente lo stesso di tutte le altre pagine.

.has-header-image .custom-header-media img, 
.has-header-video .custom-header-media video, 
.has-header-image:not(.twentyseventeen-front-page):not(.home) .custom-header-media img {
    /* height: 100%; */
    height: 400px;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    top: 0;
    -ms-transform: none;
    -moz-transform: none;
    -webkit-transform: none;
    transform: none;
    width: 100%;
}
.twentyseventeen-front-page.has-header-image .custom-header-media, 
.twentyseventeen-front-page.has-header-video .custom-header-media, 
.home.blog.has-header-image .custom-header-media, 
.home.blog.has-header-video .custom-header-media {
    height: 400px;
    /* height: 100vh; */
    /* max-height: 100%; */
    overflow: hidden;
}
28 gen 2020 16:26:05
Commenti

"La prima sezione controlla l'altezza dell'immagine; la seconda sezione controlla l'altezza dello spazio per l'immagine." - solo nella pagina principale, penso?

Rup Rup
28 gen 2020 16:59:28

Rup ha ragione: "solo nella pagina principale", quindi ho modificato la risposta.

Paris Finley Paris Finley
29 gen 2020 17:19:04
0

Ho scoperto che questa soluzione ha risolto il mio problema, dove la proprietà object-position mi ha permesso di spostare l'immagine a sinistra e a destra/su e giù.

img.wp-image-70 {
  max-height:250px;
    object-position: 0 10%;
    object-fit: cover;
}
25 ott 2020 03:24:04