¿Cómo cambiar la altura de la imagen del encabezado en Twenty Seventeen?

6 mar 2017, 12:54:46
Vistas: 32.6K
Votos: 11

¿Cómo puedo cambiar la altura de la imagen del encabezado (especificada en la sección Header Media) en el tema Twenty Seventeen?

Específicamente quiero cambiarla en la página de inicio porque aquí ocupa casi toda la página. Quiero que sea mucho más corta. La forma en que aparece en otras páginas como la página "Acerca de" incorporada tiene una buena altura, así que si pudiera imitar eso en la página de inicio estaría satisfecho. Aunque saber cómo hacer un control preciso sería excelente.

3
Comentarios

No estoy seguro de por qué no existe una etiqueta theme-twenty-seventeen cuando parece haber etiquetas correspondientes para los años anteriores.

User User
6 mar 2017 12:55:49

Esta es una buena pregunta, es lamentable que aún no haya una respuesta clara. Ojalá hubiera un filtro ‍♀️

jerclarke jerclarke
3 ago 2017 07:00:53

Pregunta relacionada en Stack Overflow

Reinstate Monica - Goodbye SE Reinstate Monica - Goodbye SE
25 sept 2017 20:19:57
Todas las respuestas a la pregunta 8
2

Encontré (parte) del código CSS que controla la altura en wp-content/themes/twentyseventeen/style.css.

Hay código que se aplica cuando la barra de administración no es visible (usuario anónimo típico) actualmente en la línea 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;
}

Y código que se aplica cuando la barra de administración es visible (por ejemplo, cuando has iniciado sesión) actualmente en la línea 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);
}

Y luego código que se aplica en móviles actualmente en la línea 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 estas tres secciones de CSS en el style.css de mi tema hijo y modificando el atributo height pude ajustar la altura de la imagen de cabecera en la página de inicio. Establecí la altura en 30vh, calc(30vh - 32px), y 30vh respectivamente en cada sección. Dejé el primer height: 1200px sin cambios.

Nota: el elemento height está configurado en 100vh que dimensiona la altura relativa a la altura del viewport. Así que 100vh es el 100% del viewport mientras que 50vh es el 50% del viewport.

Algo extraño es que en la página de inicio el zoom y la posición de la imagen de cabecera es diferente que en otras páginas.

No estoy seguro si esta es la mejor manera. Estoy abierto a mejores opciones pero por ahora está funcionando a un nivel básico.

7 mar 2017 07:02:32
Comentarios

Parece ser un conjunto de CSS bastante peculiar. No lo he probado (pero estoy seguro de que no funcionará) tener max-height de 500px y height de 100vh. Es decir, llenar el viewport hasta un máximo de altura de 500px.

Madivad Madivad
6 ago 2017 20:12:32

¿También incluiste las @media queries? Hay tres secciones diferentes para que pueda funcionar de manera distinta en dispositivos móviles vs. pantallas de computadora (la tercera es para pantallas de computadora con la barra de administración). He estado lidiando con esta misma pregunta, y no logro que mi tema hijo sobrescriba las Media Queries del tema fuente (incluso con !important).

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

Solo edita el tema desde el panel de control y agrega la siguiente definición CSS en la sección del tema "CSS personalizado":

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

De un comentario que hice en la respuesta de @User (qué nombre tan genial) ;) pensé en intentarlo.

Estoy editando el archivo del tema directamente porque estoy trabajando en un contenedor Docker desechable, es más una prueba de concepto. Adaptarlo a un tema hijo requerirá algunos ajustes.

En content/themes/twentyseventeen/style.css en el área entre 3680~3670 aproximadamente es donde se encuentra la imagen del encabezado.

Código 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;
}

Cambiar el tamaño (y el orden) es suficiente para lograr la vista cuando no se ha iniciado sesión:

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

He dejado el vh y el % para cubrir esos casos donde no se alcanza el max-height, pero luego establezco el max-height a lo que deseas.

Hay una advertencia en todo esto:

Es la sección superior de píxeles. Así que a menos que tengas una buena porción de imagen en esa área... Se ve feo (muchas cabezas cortadas)

más por venir (cuando lo resuelva)

6 ago 2017 20:38:11
0

Tomado de este sitio

Este CSS adicional/personalizado funcionó para mí:

/* Pantalla de computadora */
@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;*/
    }
}

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

/* Pantalla de computadora con usuario conectado y barra de administración visible en el 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);
    }
}

Puedes establecer la altura deseada en los atributos 'height'.

22 abr 2022 10:13:03
1

Puedes cambiarlo recortando la imagen. En WordPress, hay una opción en el personalizador. Debes seguir los siguientes pasos para recortar la imagen:

    1) Ve a Apariencia -> Personalizar
    2) Medios del encabezado
    3) Añade una nueva imagen y luego recórtala según tus necesidades y listo.
6 mar 2017 14:08:15
Comentarios

sí... esa no es la respuesta. Lo hice, y solo hace zoom en esa parte de la imagen. Convirtiéndola en una imagen muy estrecha pero que llena la pantalla

Madivad Madivad
6 ago 2017 20:11:09
0

Podrías usar Firebug (o mirar el código fuente de la página) para encontrar el CSS que se utiliza para mostrar la imagen del encabezado. Luego añade el CSS para realizar el cambio. El CSS exacto que uses dependerá del tema que estés utilizando.

Firebug te permite cambiar el CSS temporalmente para ajustarlo a tu gusto, luego puedes copiar ese nuevo CSS en la página de CSS del tema (si es que tiene esa opción).

Si tu tema no tiene una opción de 'CSS personalizado', la mejor manera es crear un tema hijo (hay muchos tutoriales sobre esto) y añadir tu CSS personalizado en el archivo styles.css del tema hijo. (Nunca modifiques el tema padre; tus cambios se sobrescribirán en la próxima actualización del tema).

7 mar 2017 03:39:23
2

Abordé esto configurando primero un tema hijo (paso recomendado por WP). Luego, en el archivo style.css del tema hijo, agregué el CSS a continuación. La primera sección controla la altura de la imagen en la página de inicio; la segunda sección controla la altura del espacio para la imagen en la página de inicio. Ambas deben coincidir para que esto funcione. Comenté algunas líneas que interferían con mi imagen de altura fija. Ahora mi cabecera en la página de inicio es exactamente igual que en todas las demás páginas.

.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 ene 2020 16:26:05
Comentarios

"La primera sección controla la altura de la imagen; la segunda sección controla la altura del espacio para la imagen." - ¿solo en la página de inicio, creo?

Rup Rup
28 ene 2020 16:59:28

Rup tiene razón: "solo en la página de inicio", así que edité la respuesta.

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

Encontré que esto resolvió mi problema, donde la propiedad object-position me permitió mover la imagen izquierda y derecha/arriba y abajo.

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