Wenn 100 vh zu hoch sind – ganzseitiges Bildelement dynamisch auf exakte Höhe bringen

illustration of a building, photorealistic, for the web, too high, 4k, high resolution, trending in artstation
generiert mit AI Engine | Image Generator via Open AI

Für ein Projekt mit einem großen Bild nach dem Site-Header (Logo / Menü) soll das Bild nicht nur die gesamte Breite, sondern auch die volle Höhe der Seite (bis zum unteren Rand des Browserfensters) einnehmen. Allerdings gibt es noch den Header, der an der Bildung der Gesamthöhe beteiligt ist.

Hinzu kommt die Adminbar für angemeldete User, und fallweise könnte noch ein Element unter dem Header mit aktuellen Ansagen vorgesehen sein. Man weiß also nie genau, wie viele Pixel von der Gesamthöhe 100vh abzuziehen sind.

Je nach Fensterbreite variieren die Höhen der Elemente, deren Gesamthöhe von 100vh des Headerbilder abzuziehen ist. Diese können via Javascript dynamisch berechnet, und am Ende der Gesamtwert abgezogen werden.

if (typeof jQuery !== 'undefined') {
	jQuery(document).ready(function($) {
	  var adjustheight = function() {
		  var heightadminbar = 0;
		  var heightheader = $('#masthead').height();
		  var heightmessage = 0;
		  if ( $('#wpadminbar').height() ) {
			  heightadminbar = $('#wpadminbar').height();
		  }
		  if ( $('#accouncement').height() ) {
			  heightmessage = $('#accouncement').height();
		  }
		  var fullheight = 1*(heightadminbar+heightheader+heightmessage);
		  $('.my-full-height-element').css( "min-height", "auto" ); // nur für den fall, dass min-height mit 100vw definiert wurde
		  $('.my-full-height-element').css( "height", "calc( 100vh - " + fullheight + "px)" );
	  };
	  adjustheight();
	  $(window).resize(adjustheight);
	});
}

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht

publicly queryable