Ergebnis 1 bis 6 von 6

Thema: Backgroundimage Problem

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Backgroundimage Problem

    Wie der Titel schon sagt, will bei mir das Hintergrundbild nicht angezeigt werden.
    Hier erstmal mein Quellcode:

    PHP-Code:
    <?php
    echo "<html>\n";
    echo 
    "  <head>\n";
    echo 
    "    <title>Website</title>\n";
    echo 
    "    <link rel=\"stylesheet\" type=\"text/css\" href=\"formatierung.css\">\n";
    echo 
    "    <link rel=\"shortcut icon\" href=\"pictures/favicon/favicon.ico\">";
    echo 
    "    <style>";
    echo 
    "       a:link { text-decoration:none; color:#0080FF; }";
    echo 
    "       a:visited { text-decoration:none; color:#0080FF; }";
    echo 
    "       a:active { text-decoration:none; font-weigth:bold }";
    echo 
    "       a:hover { text-decoration: underline overline; color=#00FFFF; cursor:crosshair; }";
    echo 
    "    </style>";
    echo 
    "  </head>\n";
    echo 
    "<body>\n";
    echo 
    "  <table style=\"background-image:url(pictures/backgrounds/background.jpg); background-repeat:repeat-x\" align=\"center\">\n";
    echo 
    "  <div id=\"root\">\n";
    echo 
    "    <div id=\"title\">\n";
                   include 
    "title.php";
    echo 
    "    </div>\n";
    echo 
    "    <div id=\"navigation\">\n";
                   include 
    "navigation.php";
    echo 
    "    </div>\n";
    echo 
    "    <div id=\"content\">\n";
                   switch (
    $_GET[section]) {
                     case 
    "home":
                       include 
    "sections/home.php";
                        break;
                     case 
    "news":
                        include 
    "sections/news.php";
                        break;
                     default:
                        include 
    "content.php";
                   }
    echo 
    "      </div>\n";
    echo 
    "      <br style=\"clear:both;\" />\n";
    echo 
    "    </div>\n";
    echo 
    "  </table>\n";
    echo 
    "</body>\n";
    echo 
    "</html>\n";
    ?>
    Ich möchte jetzt ganz einfach, dass der Hintergrund mit einem Bild (der Name und das Verzeichnis stimmen!) versehen wird. Bei diesem Beispiel habe ich das Ganze versucht mit einer Tabelle zu lösen. Die ist sozusagen Träger des Ganzen Inhalt. Deren Inhalt habe ich nun versucht, mit einem 256x256 grossen JPG-Bild zu Füllen. Doch irgendetwas klappt das nicht ganz. Selbst wenn ich die Tabelle weglasse und versuche, das Bild in den <body> zu packen wird ein weisser Hintergrund angezeigt, und nicht das Bild. Ich weiss das Ganze ist grottig eingerückt, aber ich hoffe mal, ihr könnt es dennoch irgendwie entziffern.

    Mfg Biosfear

    Geändert von Biosfear (04.08.2005 um 16:04 Uhr)

  2. #2
    Dass das Bild innerhalb der Tabelle nicht angezeigt wird, liegt sicherlich daran, dass du zwar die Tags <table></table> verwendest, jedoch weder Zeilen noch Spalten definierst. Nimm mal die div-Teile raus und ersetze diese mit <tr> bzw <td>. Du solltest dich entweder für divs oder für table entscheiden. Beides mischen führt leicht zu ungewollten Ergebnissen.
    Bei mir funktioniert die Bildanzeige dann - auch im body-Tag.
    Für eine bessere Übersichlichtkeit solltest du nicht den kompletten HTML-Code zwischen die PHP-Tags schreiben - die Fehlersuche wird dir dadurch ziemlich erschwert.
    Sollte nach der Vervollständigung von <table> das Bild immer noch nicht angezeigt werden, unterteile deinen Quelltext mal nach PHP-Code und HTML-Code und poste es dann nochmal.

  3. #3
    Erstmal danke für deine Tips, aber es gibt da ein kleines Problem bezüglich den <div>-Tags:
    In Zeile 5 binde ich die Formatierungsdatei "formatierung.css" ein, die die <div>-Tags ordnet und formatiert (wieviel Platz sie in Anspruch nehmen, wo sie stehen etc.). Darum kann bzw. möchte ich eigentlich nicht auf sie verzichten.
    Wenn ich den <table>-Tag weglasse, und die ganze background-image-Definition in den <body>-Tag verschiebe tut sich leider auch immer noch nichts.
    Selbst beim 3. Versuch, die background-image-Definition seperat in jeden <div>-Tag zu setzten änderte sich nichts. Genauso wenig, wie wenn ich das über die "formatierung.css" Datei tue.

    Zitat Zitat
    Für eine bessere Übersichlichtkeit solltest du nicht den kompletten HTML-Code zwischen die PHP-Tags schreiben - die Fehlersuche wird dir dadurch ziemlich erschwert.
    Ja, das habe ich auch gemerkt und es erschwert die Arbeit generell ungemein. Welche Ausweichmethode würde es denn geben? Includen kann man soweit ich weiss ja nur .php Dateien.

    Ich werde den Code im Verlaufe des Abends nochmals ohne PHP-Elemente posten bzw. editieren und falls Bedarf besteht die "formatierung.css"-Datei beilegen. Dafür habe ich aber im Moment nicht genügend Zeit, da ich gleich weg muss. Ich melde mich aber später mit dem Code nochmals wieder.

    Mfg Biosfear

    Geändert von Biosfear (04.08.2005 um 17:32 Uhr)

  4. #4
    Zitat Zitat
    Ja, das habe ich auch gemerkt und es erschwert die Arbeit generell ungemein. Welche Ausweichmethode würde es denn geben? Includen kann man soweit ich weiss ja nur .php Dateien.

    Ich werde den Code im Verlaufe des Abends nochmals ohne PHP-Elemente posten bzw. editieren und falls Bedarf besteht die "formatierung.css"-Datei beilegen. Dafür habe ich aber im Moment nicht genügend Zeit, da ich gleich weg muss. Ich melde mich aber später mit dem Code nochmals wieder.

    Mfg Biosfear
    1,Du kannst ALLE Datein Includen

    2,Man kann PHP Tags machen wie man lustigist

    PHP-Code:
    toller text
    <?php 

       $Variable1 
    "111111" ;
       echo 
    $Variable1 ;

    ?>

    Kkfhdkfhdhf<b>hhhhhh</b>
    <?php

       
    echo "jeha jeha" ;
    ?>

  5. #5
    Zitat Zitat
    In Zeile 5 binde ich die Formatierungsdatei "formatierung.css" ein, die die <div>-Tags ordnet und formatiert (wieviel Platz sie in Anspruch nehmen, wo sie stehen etc.). Darum kann bzw. möchte ich eigentlich nicht auf sie verzichten.
    Okay, dann lass das <table> komplett weg, und lege das Hintergrundbild in den äußersten div-Tag.
    Dein Code würde dann folgendermaßen aussehen:
    PHP-Code:
    <html>
    <head>
        <title>Website</title>
           <link rel="stylesheet" type="text/css" href="formatierung.css">
           <link rel="shortcut icon" href="pictures/favicon/favicon.ico">
        <style>
            a:link { text-decoration:none; color:#0080FF; }
                a:visited { text-decoration:none; color:#0080FF; }
            a:active { text-decoration:none; font-weigth:bold }
            a:hover { text-decoration: underline overline; color:#00FFFF; cursor:crosshair; }
        </style>
    </head>
    <body >
    <div style="background-image:url(pictures/backgrounds/background.jpg);">
      <div id="root">
        <div id="title">
    <?
            include("title.php");
    ?>
       </div>
      <div id="navigation">
    <?
              include ("navigation.php"); 
    ?>
        </div>
        <div id="content">
    <?
                  switch ($_GET[section]) {
                     case "home":
                       include ("sections/home.php");
                        break;
                     case "news":
                        include ("sections/news.php");
                        break;
                     default:
                        include ("content.php");
                   } 
    ?>
        </div>
        <br style="clear:both;" />
      </div> 
    </div>
    </body>
    </html>
    Sollte das Bild so immer noch nicht angezeigt werden, solltest du vielleicht doch nochmal den Pfad des Bildes prüfen.

    Geändert von NiKrYss (04.08.2005 um 18:26 Uhr)

  6. #6
    Zitat Zitat von NiKrYss
    Okay, dann lass das <table> komplett weg, und lege das Hintergrundbild in den äußersten div-Tag.
    Dein Code würde dann folgendermaßen aussehen:
    PHP-Code:
    <html>
    <head>
        <title>Website</title>
           <link rel="stylesheet" type="text/css" href="formatierung.css">
           <link rel="shortcut icon" href="pictures/favicon/favicon.ico">
        <style>
            a:link { text-decoration:none; color:#0080FF; }
                a:visited { text-decoration:none; color:#0080FF; }
            a:active { text-decoration:none; font-weigth:bold }
            a:hover { text-decoration: underline overline; color:#00FFFF; cursor:crosshair; }
        </style>
    </head>
    <body >
    <div style="background-image:url(pictures/backgrounds/background.jpg);">
      <div id="root">
        <div id="title">
    <?
            include("title.php");
    ?>
       </div>
      <div id="navigation">
    <?
              include ("navigation.php"); 
    ?>
        </div>
        <div id="content">
    <?
                  switch ($_GET[section]) {
                     case "home":
                       include ("sections/home.php");
                        break;
                     case "news":
                        include ("sections/news.php");
                        break;
                     default:
                        include ("content.php");
                   } 
    ?>
        </div>
        <br style="clear:both;" />
      </div> 
    </div>
    </body>
    </html>
    So, mit deinem Code klappts nun. Vielen Dank NiKrYss! Der ist nicht nur um einiges übersichtlicher sondern hat mir auch einige neue Methoden gezeigt, HTML und PHP Codes effektiver einzusetzten und zu verbinden.

    Mfg Biosfear

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •