Cum modific înălțimea imaginii din antet în Twenty Seventeen?

6 mar. 2017, 12:54:46
Vizualizări: 32.6K
Voturi: 11

Cum pot modifica înălțimea imaginii din antet (specificată în secțiunea Header Media) în tema Twenty Seventeen?

În mod specific, doresc să o modific pe pagina principală deoarece aici ocupă aproape toată pagina. Vreau să fie mult mai scurtă. Modul în care apare pe alte pagini, cum ar fi pagina About implicită, are o înălțime bună, așa că dacă aș putea replica acest aspect pe pagina principală aș fi mulțumit. Deși ar fi excelent să știu cum să fac un control precis al înălțimii.

3
Comentarii

Nu sunt sigur de ce nu există o etichetă theme-twenty-seventeen când se pare că există etichete corespunzătoare pentru anii anteriori.

User User
6 mar. 2017 12:55:49

Aceasta este o întrebare bună, păcat că nu există încă un răspuns clar. Mi-aș fi dorit să existe un filtru ‍♀️

jerclarke jerclarke
3 aug. 2017 07:00:53

Întrebare similară pe Stack Overflow

Reinstate Monica - Goodbye SE Reinstate Monica - Goodbye SE
25 sept. 2017 20:19:57
Toate răspunsurile la întrebare 8
2

Am găsit (o parte) din codul CSS care controlează înălțimea în wp-content/themes/twentyseventeen/style.css.

Există cod care se aplică când bara de administrare nu este vizibilă (utilizator anonim tipic), momentan la linia 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;
}

Și cod care se aplică când bara de administrare este vizibilă (de ex. ești autentificat), momentan la linia 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);
}

Și apoi cod care se aplică pe dispozitive mobile, momentan la linia 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%;
}

Copiind aceste trei secțiuni de CSS în style.css-ul temei mele copil și modificând atributul height, am reușit să ajustez înălțimea pentru imaginea de antet pe pagina principală. Am setat înălțimea la 30vh, calc(30vh - 32px) și respectiv 30vh în fiecare secțiune. Am lăsat primul height: 1200px neschimbat.

Rețineți că elementul de înălțime este setat la 100vh, care dimensionează înălțimea relativ la înălțimea viewport-ului. Deci 100vh înseamnă 100% din înălțimea viewport-ului, în timp ce 50vh înseamnă 50% din înălțimea viewport-ului.

Un lucru ciudat este că pe pagina principală, zoom-ul și poziția imaginii de antet sunt diferite față de alte pagini.

Nu sunt sigur dacă aceasta este cea mai bună metodă. Sunt deschis la opțiuni mai bune, dar până acum funcționează la un nivel de bază.

7 mar. 2017 07:02:32
Comentarii

pare să fie un grup ciudat de CSS. Nu l-am încercat (dar sunt sigur că nu va funcționa) să ai max-height 500px și height 100vh. Adică, să umpli view port-ul până la înălțimea maximă de 500px.

Madivad Madivad
6 aug. 2017 20:12:32

Ai inclus și @media queries? Există trei secțiuni diferite astfel încât să funcționeze diferit pe dispozitive mobile față de ecranele de calculator (a treia este pentru ecranele de calculator cu bara de administrare). M-am luptat cu aceeași întrebare și nu reușesc să fac ca tema mea copil să suprascrie Media Queries din tema sursă (nici măcar cu !important).

Erik Harris Erik Harris
29 dec. 2017 05:31:10
0

Doar editează tema din panoul de control și adaugă următoarea definiție CSS în secțiunea temei "CSS personalizat":

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

Dintr-un comentariu pe care l-am făcut la răspunsul lui @User (care e un nume mișto) ;) m-am gândit să încerc și eu.

Editez fișierul temei direct pentru că lucrez într-un container docker pe care îl pot arunca, e mai mult o dovadă a conceptului. Adaptarea la un child theme va necesita niște ajustări.

În content/themes/twentyseventeen/style.css în zona dintre 3680~3670 (aproximativ) se află stilul pentru imaginea din header.

Codul original:

.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;
}

Modificarea dimensiunii (și ordinea) este suficientă pentru a obține vizualizarea fără autentificare:

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

Am lăsat vh și % pentru a acoperi cazurile în care max-height nu este atins, dar am setat max-height la valoarea dorită.

Există o problemă la toate astea:

Este secțiunea de sus a imaginii. Deci dacă nu ai o porțiune frumoasă a imaginii în acea zonă... Arată groaznic (multe capete tăiate)

Mai multe detalii urmează (când le rezolv)

6 aug. 2017 20:38:11
0

Furat de pe acest site

Acest CSS suplimentar/personalizat a funcționat pentru mine:

/*Ecran de calculator*/
@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;*/
    }
}

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

/* Ecran de calculator cu utilizator autentificat și bara de admin afișată în 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);
    }
}

Puteți seta înălțimea dorită pentru atributele 'height'.

22 apr. 2022 10:13:03
1

Puteți modifica imaginea prin decupare. În WordPress, există o opțiune în personalizator. Trebuie să urmați pașii de mai jos pentru a decupa imaginea.

    1) Accesați Aspect->Personalizare
    2) Media antet
    3) Adăugați o imagine nouă și apoi decupați acea imagine în funcție de nevoile dvs. și ați terminat.
6 mar. 2017 14:08:15
Comentarii

da..... ăsta nu este răspunsul. Am făcut asta, și doar mărește acea parte din imagine. Făcând-o o imagine foarte îngustă dar care umple ecranul

Madivad Madivad
6 aug. 2017 20:11:09
0

Puteți folosi Firebug (sau să vizualizați codul sursă al paginii) pentru a găsi CSS-ul folosit pentru afișarea imaginii din antet. Apoi adăugați CSS-ul pentru a face modificarea. CSS-ul exact pe care îl utilizați depinde de tema aleasă.

Firebug vă permite să modificați temporar CSS-ul pentru a obține aspectul dorit, apoi să copiați noul CSS în pagina CSS a temei (dacă această opțiune există).

Dacă nu există o opțiune de 'CSS personalizat' în tema dumneavoastră, atunci cea mai bună metodă este să creați o temă copil (există multe tutoriale pe acest subiect) și să adăugați CSS-ul personalizat în pagina styles.css a temei copil. (Niciodată nu modificați tema părinte; modificările vor fi suprascrise la următoarea actualizare a temei.)

7 mar. 2017 03:39:23
2

Am abordat acest lucru mai întâi prin crearea unei teme copil (pas recomandat de WordPress). Apoi, în fișierul style.css al temei copil, am adăugat codul CSS de mai jos. Prima secțiune controlează înălțimea imaginii de pe pagina principală; a doua secțiune controlează înălțimea spațiului destinat imaginii de pe pagina principală. Ambele trebuie să corespundă pentru ca această soluție să funcționeze. Am comentat câteva linii care interferează cu înălțimea fixă a imaginii mele. Acum antetul de pe pagina principală este exact la fel ca pe celelalte pagini.

.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 ian. 2020 16:26:05
Comentarii

"Prima secțiune controlează înălțimea imaginii; a doua secțiune controlează înălțimea spațiului pentru imagine." - doar pe pagina principală, cred?

Rup Rup
28 ian. 2020 16:59:28

Rup are dreptate: "doar pe pagina principală", așa că am editat răspunsul.

Paris Finley Paris Finley
29 ian. 2020 17:19:04
0

Am descoperit că aceasta mi-a rezolvat problema, unde proprietatea object-position mi-a permis să mut imaginea la stânga și la dreapta/sus și jos.

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