2 Bilder hintereinander in den Header

Für Fragen und Diskussionen zum Layout und Design, Templates und Stylesheets sowie Themes
Post Reply
tholler
Forum Members
Forum Members
Posts: 104
Joined: Sat Jan 13, 2007 12:23 pm

2 Bilder hintereinander in den Header

Post by tholler »

Hallo zusammen,

irgendwie verzweifele ich daran 2 Bilder hintereinander in den Header zu legen.

Mein bisheriges Vorgehen:
das Hintergrundbild als Farbverlauf (PHP-Datei zur Berechnung) blende ich über einen benutzerdefinierten Tag ein.
Das davor liegende Bild möchte ich gerne über den H1-Tag einblenden.

Ergebnis: Den Farbverlauf kann ich einblenden; das Vordergrundbild (transparentes PNG) bekomme ich auch hin.

Aber: Wie bekomme ich beides übereinander?

Hier die Quellcodes:
TPL:

Code: Select all

   <div id="header">
      {verlaufhorizontal}
      <h1>
         {cms_selflink dir="start" text="Haus der Jugend in Königeswinter e.V."}
      </h1>
   <hr class="accessibility" />
   </div>
CSS

Code: Select all

div#header {
   height: 110px; /* adjust according your image size */
   /* background: #d2c3fc;   */
   background: white;
}

div#header h1 a {
/* you can set your own image here */
   font-size: 21px;  /* font size for h1 */
   line-height: 24px;
   background: url(images/logo_koewi_trans) no-repeat 0%;
   display: block; 
   height: 110px;             /* adjust according your image size */
   padding: 0% 0 0 0%;
   text-indent: -999em;  /* this hides the text */
   text-decoration:none; /* old firefox would ha
Benutzerdefinierter Tag:

Code: Select all

$h="960px"; //Höhe des Farbverlaufes in Pixel

//Startfarbe im RGB Format
$r1 = 247; //R
$g1 = 249; //G
$b1 = 204; //B

//Endfarbe im RGB Format
$r2 = 52; //R
$g2 = 103; //G
$b2 = 204; //B

$s  = array($r1,$g1,$b1);
$e  = array($r2,$g2,$b2);

for ($i = 0; $i<$h; $i++) {
    $c1 = max(0,$s[0]-((($e[0]-$s[0])/-$h)*$i));
    $c2 = max(0,$s[1]-((($e[1]-$s[1])/-$h)*$i));
    $c3 = max(0,$s[2]-((($e[2]-$s[2])/-$h)*$i));

    // vertikal echo "<div style=\"clear:left; font-size:0px; top:".$i."px; left:0px; height:1px; width:600px; border:0px; background-color:rgb(".round($c1,0 ).", ".round($c2, 0).", ".round($c3,0 ).");\"></div>\n";
    echo "<div style=\"z-index:99; float:left; font-size:0px; height:100%; width:1px; border:0px; background-color:rgb(".round($c1,0 ).", ".round($c2, 0).", ".round($c3,0 ).");\"></div>\n";

}
Was funktioniert da nicht; mache ich einen Denkfehler?

Viele Grüße
Thorsten
mike-r

Re: 2 Bilder hintereinander in den Header

Post by mike-r »

Sehe ich das richtig, dass Du den Verlauf bei jedem Aufruf neu generierst?
Dazu müsstest Du das Ergebnis aus Deinem Tag als Background im CSS aufrufen, etwa

Code: Select all

background: url(http://domain.com/verlauf-blabla.php) 
Alternativ bastelst Du Dein Tag um; etwa der Art:

Code: Select all

<div id="header" style="background:{verlaufhorizontal}">blablubb...
Möglichweise versteh ich Dich auch falsch, kann man sich Dein jetziges Ergebnis mal anschauen?
Last edited by mike-r on Tue Dec 25, 2007 7:06 pm, edited 1 time in total.
tholler
Forum Members
Forum Members
Posts: 104
Joined: Sat Jan 13, 2007 12:23 pm

Re: 2 Bilder hintereinander in den Header

Post by tholler »

mike-r wrote: Sehe ich das richtig, dass Du den Verlauf bei jedem Aufruf neu generierst?
Dazu müsstest Du das Ergebnis aus Deinem Tag als Background im CSS aufrufen, etwa

Code: Select all

background: url(http://domain.com/verlauf-blabla.php) 
Alternativ bastelst Du Dein Tag um; etwa der Art:

Code: Select all

<div id="header" style="background:{verlaufhorizontal}">blablubb...
Möglichweise versteh ich Dich auch falsch, kann man sich Dein jetziges Ergebnis mal anschauen?
Klar, hier findest Du es:

http://www.hausderjugend.info/index.php?page=testseite

Der Verlauf ist jetzt da, ich bekomme aber kein transparentes PNG davor gepackt.
mike-r

Re: 2 Bilder hintereinander in den Header

Post by mike-r »

Ohweh, ganz schlechte Lösung, warum nimmst Du kein Hintergrundbild?

Was Dein Bild betrifft, es wird ziemlich sicher hinter Deiner Div-suppe versteckt sein, da müsstest Du den z-index richtig setzen.
Aber wie gesagt, dieses Konstrukt würde ich auf keinen Fall empfehlen.
Last edited by mike-r on Tue Dec 25, 2007 9:02 pm, edited 1 time in total.
tholler
Forum Members
Forum Members
Posts: 104
Joined: Sat Jan 13, 2007 12:23 pm

Re: 2 Bilder hintereinander in den Header

Post by tholler »

mike-r wrote: Ohweh, ganz schlechte Lösung, warum nimmst Du kein Hintergrundbild?

Was Dein Bild betrifft, es wird ziemlich sicher hinter Deiner Div-suppe versteckt sein, da müsstest Du den z-index richtig setzen.
Aber wie gesagt, dieses Konstrukt würde ich auf keinen Fall empfehlen.
OK, die DIV-Suppe wird durch ein PHP-Script erzeugt und erzeugt mir den Farbverlauf; ein Hintergrund-Bild mit Farbverlauf kann ich nicht nehmen; das möchte der Kunde nicht; leider.

Gibt es eine andere, elegantere, Lösung, um 2 Grafiken (Farbverlauf und darüber liegendes Logo) zu erzeugen?

Habe jetzt mal den "Suppen-Generator" für den Verlauf deaktiviert; das ist das PNG, das drauf liegen soll.
Last edited by tholler on Tue Dec 25, 2007 9:32 pm, edited 1 time in total.
mike-r

Re: 2 Bilder hintereinander in den Header

Post by mike-r »

tholler wrote: ein Hintergrund-Bild mit Farbverlauf kann ich nicht nehmen; das möchte der Kunde nicht; leider.
Das verstehe ich nicht, warum sollte man das nicht wollen, der Effekt ist doch im Ergebnis identisch?
Gibt es eine andere, elegantere, Lösung, um 2 Grafiken (Farbverlauf und darüber liegendes Logo) zu erzeugen?
Ja natürlich, eine Grafik als Hintergrund in #header und die darüberliegende in h1 oder a.
Post Reply

Return to “Layout und Design”