[Gelöst] Wechselnder Hintergrund?
Folgende Fragestellung:
auf meiner Website werden alle Seiten per include in die index.php geladen. Nun möchte ich, das wenn man "Kontakt" aufruft, ein anderer Hintergrund gezeigt wird als bei alle anderen Seiten. Ich meine aber nicht den Content-Hintergrund sondern den absoluten. Versteht Ihr was ich meine?
In der CSS wird der unter "html, body" definiert!
auf meiner Website werden alle Seiten per include in die index.php geladen. Nun möchte ich, das wenn man "Kontakt" aufruft, ein anderer Hintergrund gezeigt wird als bei alle anderen Seiten. Ich meine aber nicht den Content-Hintergrund sondern den absoluten. Versteht Ihr was ich meine?
In der CSS wird der unter "html, body" definiert!
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Mediatec« (5. August 2011, 09:36)
kannst doch machen
und wenn du von deiner index.php datei die klasse des Bodys setzen kannst, dann wird es funktionieren
|
|
Cascading Style Sheet |
1 2 3 4 5 6 |
body.kontakt{
background:url(kontakt.jpg);
}
body.home{
background:url(home.jpg);
}
|
und wenn du von deiner index.php datei die klasse des Bodys setzen kannst, dann wird es funktionieren
Mein kleines Projekt
-Cruel Online-
-Cruel Online-
nein, deine index.php die gibt doch den HTML code aus. also <html><head></head><body>content</body>
und wenn du so ein ding hast wie if(isset($_GET['site'] dann include bla.inc.php , dann kannst du mit der index dann auch sagen
echo '<body class="'.$_GET['site'].'">'.$content.'</body>'
ich weis nicht wie deine index.php aussieht sonst könnte ich es genauer erläutern
und wenn du so ein ding hast wie if(isset($_GET['site'] dann include bla.inc.php , dann kannst du mit der index dann auch sagen
echo '<body class="'.$_GET['site'].'">'.$content.'</body>'
ich weis nicht wie deine index.php aussieht sonst könnte ich es genauer erläutern
Mein kleines Projekt
-Cruel Online-
-Cruel Online-
Na dann zeig ich dir doch mal wie der Inlcude aussieht:
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 |
<?php
$site = isset($_GET["site"])?$_GET["site"]:false;
if ($site !== false){
if (file_exists($site.".php")) include($site.".php");
else if (file_exists($site.".php3")) include($site.".php3");
else if (file_exists($site.".php4")) include($site.".php4");
else include("inc/home.htm");
}else include("inc/home.htm");
?>
|
dann machste in deiner index.php den body teil raus
und in jeder php seite haste dann folgendes
home.php
kontakt.php
home.php
und so weiter..
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<!DOCTYPE html>
<html>
<head>
</head>
<?php
$site = isset($_GET["site"])?$_GET["site"]:false;
if ($site !== false){
if (file_exists($site.".php")) include($site.".php");
else if (file_exists($site.".php3")) include($site.".php3");
else if (file_exists($site.".php4")) include($site.".php4");
else include("inc/home.htm");
}else include("inc/home.htm");
?>
</html>
|
und in jeder php seite haste dann folgendes
home.php
|
|
PHP-Quelltext |
1 2 3 |
<body class="home">
dein inhalt
</body>
|
kontakt.php
home.php
|
|
PHP-Quelltext |
1 2 3 |
<body class="kontakt">
dein inhalt
</body>
|
und so weiter..
Mein kleines Projekt
-Cruel Online-
-Cruel Online-
Das haut so nicht hin. Ich habe in der index.php auch noch das Menü und den Footer. Ich kann beides zwar auslagern und per include reinholen, doch habe ich dann immer noch <body> doppelt. Einmal von der zentralen index.php und dann von der jeweiligen includierten Datei!
Ich will aber auch nicht in jeder einzelnen .php Datei das Menü und den Footer auch noch einbinden. Das sind rund 200 Dateien! Außerdem wäre dann der Zentrale Gedanke und die Erleichterung beim Design futsch
Ich will aber auch nicht in jeder einzelnen .php Datei das Menü und den Footer auch noch einbinden. Das sind rund 200 Dateien! Außerdem wäre dann der Zentrale Gedanke und die Erleichterung beim Design futsch
dann mach einfach so:
deine klasse muss dann den gleichen namen wie die site haben
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php $site = isset($_GET["site"])?$_GET["site"]:false; ?>
<!DOCTYPE html>
<html>
<head>
</head>
<body class="<?= $site ?>">
<?php
if ($site !== false){
if (file_exists($site.".php")) include($site.".php");
else if (file_exists($site.".php3")) include($site.".php3");
else if (file_exists($site.".php4")) include($site.".php4");
else include("inc/home.htm");
}else include("inc/home.htm");
?>
</body>
</html>
|
deine klasse muss dann den gleichen namen wie die site haben
Mein kleines Projekt
-Cruel Online-
-Cruel Online-
Hm - iegend etwas schein ich da immer noch falsch zu machen?!
Ich habe die CSS nun so angepasst:
und die index.php habe ich nach deinem Vorbild angepasst:
Doch der Hintergrund ändert sich nicht?!
Sicherlich liegt ein Fehler darin, das ich in der CSS "html, body" deklariert habe. Wenn ich aber "body" weg nehmen und es seperat deklariere, ändert sich auch nichts. Lediglich der Contentbereich rutscht etwas nach unten.
Hab ich da was Falsch verstanden???
Ich habe die CSS nun so angepasst:
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
html, body
{
background: url(../images/bg2.jpg);
background-attachment: fixed;
width: 1960px;
background-color: #ededed; /* Hintergrundfarbe */
color: #40516f; /* Schriftfarbe */
margin: 0 auto; /* Seite in Bildschirmmitte zentrieren */
font-family: Arial; /* Schriftart */
font-size:12px; /* Schriftgröße */
width: 970px; /* Breite der Seite */
height: auto; /* Höhe der Seite */
}
body.kontakt
{
background: url(../images/bg3.jpg);
background-attachment: fixed;
width: 1960px;
|
und die index.php habe ich nach deinem Vorbild angepasst:
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<?php
$site = isset($_GET["site"])?$_GET["site"]:false;
include_once 'datei.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="de-de" lang="de-de" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
....................
<body class="<?= $site ?>">
...................
<?php
if ($site !== false){
if (file_exists($site.".php")) include($site.".php");
else if (file_exists($site.".php3")) include($site.".php3");
else if (file_exists($site.".php4")) include($site.".php4");
else include("inc/home.htm");
}else include("inc/home.htm");
?>
..................
</body>
|
Doch der Hintergrund ändert sich nicht?!
Sicherlich liegt ein Fehler darin, das ich in der CSS "html, body" deklariert habe. Wenn ich aber "body" weg nehmen und es seperat deklariere, ändert sich auch nichts. Lediglich der Contentbereich rutscht etwas nach unten.
Hab ich da was Falsch verstanden???
Ich habe das Problem selbst gelöst.
Ich habe einfach für "kontakt.php" eine eigene CSS Datei erstellt in der unter html, body ein anderer Hintergrund angezeigt wird. Da die Datei nur in "kontakt.php" geladen wird, wird auch nur beim Aufruf des Kontaktformulars der Hintergrund geändert. Sowie ein anderer Bereich der Website aufgerufen wird, wird wieder der reguläre Hintergrund gezeigt.
@cccpmik,
Ich danke dir trotzdem recht herlich für deine Hilfe
Ich habe einfach für "kontakt.php" eine eigene CSS Datei erstellt in der unter html, body ein anderer Hintergrund angezeigt wird. Da die Datei nur in "kontakt.php" geladen wird, wird auch nur beim Aufruf des Kontaktformulars der Hintergrund geändert. Sowie ein anderer Bereich der Website aufgerufen wird, wird wieder der reguläre Hintergrund gezeigt.
@cccpmik,
Ich danke dir trotzdem recht herlich für deine Hilfe
Ähnliche Themen
-
Feedback-Forum »-
[design] diggity.de Version 8
(16. Februar 2005, 00:34)
-
(X)HTML & CSS & DHTML & Javascript »-
css: hintergrund fixieren?
(23. Juli 2003, 22:29)
-
Archiv: Software »-
Borland C++ Builder-Hintergrund
(29. März 2003, 17:17)
-
(X)HTML & CSS & DHTML & Javascript »-
Hintergrund
(26. März 2003, 15:41)
-
(X)HTML & CSS & DHTML & Javascript »-
teilweise transparenter zeilenhintergrund
(24. März 2003, 18:19)


