| Menü verschiebt sich bei PHP Include |
Marvin85
Pixelschubser
Beiträge: 24
|
Hallo Zusammen !
Ich erstelle gerade eine Webseite mit PHP.
Ich möchte die einzelnen Inhalte der verschiedenen Kategorieen gerne includieren.
Mit dem Include Befehl funktioniert auch soweit ganz gut, aber habe ich ein kleines Problem.
In der Index.php habe ich eine Tabelle mit einer größe von 613x578 Pixeln angelegt. In diese werden dann die einzelnen Inhalte includiert. Wenn ich Inhalte includiere die eine Höhe von 578 Pixeln nicht überschreiten, is alles super. Sind die Inhalte höher als 578px, dann verschiebt sich mein Menü aus der index.php immer ein Stück nach links.
Kann mir jemand sagen, woran das liegt ?
Besten Dank schon mal im Voraus.
MfG
Marvin
|
|  Profil
Editieren
Zitieren
|
Mondschatten
Quasselstrippe
Beiträge: 250
|
Hallo Marvin,
gib doch mal einen Link her, unter dem man sich ansehen kann, was Du meinst.
Viele Grüße
Mondschatten
---
Schwarz kann auch glänzen.
|
|  Profil
Website
Editieren
Zitieren
|
progrookie
Fachidiot
Beiträge: 128
|
Ich würde Dir empfehlen ein DIV zu benutzen. Wenn Du dort über CSS die Breite/Höhe definierst, dann wird dir das Layout, auch wenn es inhaltlich größer ausfallen sollte, nie zerschossen...!!!
---

Diese Nachricht wurde geändert von: progrookie |
|  Profil
E-Mail
Website
Editieren
Zitieren
|
Marvin85
Pixelschubser
Beiträge: 24
|
Also so habe ich das in der index.php prgrammiert:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18: | <div style="position:absolute;top:200px;left:136px;width:613px;height:578px;">
<table width="613" border="0" cellspacing="2" cellpadding="0" height="578">
<tr>
<td valign="top"><?php
switch ($_GET['action']) {
case "home": include("home.php"); break;
case "wir": include("wir.php"); break;
case "events": include("events.php"); break;
case "technik": include("technik.php"); break;
case "referenzen": include("referenzen.php"); break;
case "kontakt": include("kontakt.php"); break;
case "email": include("email.php"); break;
default: include("home.php");
}
?></td>
</tr>
</table>
</div> |
Wenn ich allerdings hier jetzt die Höhe ändere, dan ändert sich ja die Höhe auf allen.
Das ist ja gar nicht erforderlich, weil einige Seiten eine Höhe von 578px nicht überschreiten.
Und das war includiert werden soll sieht so aus:
1:
2:
3:
4:
5:
6: | <div style="position:relative;width:577px;height:913px;-adbe-g:p,8,8;">
<div style="position:absolute;top:32px;left:24px;width:552px;height:880px;-adbe-c:c">
<font size="+2" color="#ffff99"><strong>Auszug aus unserer Referenzliste:</strong></font>
<p><font color="#ffff99"><br />
</div>
</div> |
Ich verstehe nicht so ganz wie und was ich jetzt über CSS definieren muss ?
MfG
Marvin
|
|  Profil
Editieren
Zitieren
|
Ori
Fachidiot
Beiträge: 118
|
Am Anfang kommt die Predigt (Religion!): Du solltest auf Layouttabellen (Wozu benutzt Du sie überhaupt? Für 2px Rand?) und veraltete Elemente (<font>) verzichten... erst dann kannst Du CSS wirklich sinnvoll einsetzen.
Außerdem verwirren die ganzen Positionsangaben nur unnötig (drei jeweils positionierte, geschachtelte Elemente? Da kann doch mindestens die Hälfte weg...).
Der Include ist überhaupt viel größer als der Bereich, den Du ihm zugestehst.. Ich werde daraus nicht schlau.
|
|  Profil
E-Mail
Website
Editieren
Zitieren
|
progrookie
Fachidiot
Beiträge: 128
|
statt der <table> würde ich ein weiteres <div> benutzen und dort die Größenangaben definieren. Da deine Table eh nur aus einer <td> besteht ist es sinnlos, hier eine Tabelle zu benutzen. Außerdem ist es nicht W3C-Konform, wenn Du als <table> -Attribut die height angibst.
versuch es mal so:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14: | <div style="width:613px;height:578px;padding:2px;">
<?php
switch ($_GET['action']) {
case "home": include("home.php"); break;
case "wir": include("wir.php"); break;
case "events": include("events.php"); break;
case "technik": include("technik.php"); break;
case "referenzen": include("referenzen.php"); break;
case "kontakt": include("kontakt.php"); break;
case "email": include("email.php"); break;
default: include("home.php") break;
}
?>
</div> |
---

Diese Nachricht wurde geändert von: progrookie |
|  Profil
E-Mail
Website
Editieren
Zitieren
|
Marvin85
Pixelschubser
Beiträge: 24
|
besten dank !
ich habe es mal so ausprobiert wie du progrookie gesagt hast.
dann zeigt der mir aber den include unterhalb meines menüs an. er soll aber rechts daneben erscheinen.
Gibt es nicht die Möglichkeit das ich alles so lasse wie zuvor, nur das ich die table bzw. DIV keine bestimmt größe zuweise, sondern sage, dass er die größe von dem jeweiligen include übernehmen soll ?
Dann wäre mein Problem ja gelöst
MfG
Marvin
|
|  Profil
Editieren
Zitieren
|
progrookie
Fachidiot
Beiträge: 128
|
...müßte in den css Angaben mit drin stehen, dann funktioniert der Zeilenumbruch auch nicht mehr.
---

|
|  Profil
E-Mail
Website
Editieren
Zitieren
|
Marvin85
Pixelschubser
Beiträge: 24
|
wo muss ich "float:right" denn genau hinschreiben ?
|
|  Profil
Editieren
Zitieren
|
Mondschatten
Quasselstrippe
Beiträge: 250
|
...in die style-Anweisung.
Zum Nachlesen hier: CSS-Eigenschaften
Viele Grüße
Mondschatten
---
Schwarz kann auch glänzen.
|
|  Profil
Website
Editieren
Zitieren
|
Marvin85
Pixelschubser
Beiträge: 24
|
besten dank
mir ist aufgefallen das sich das menü allerdings nur im mozilla firefox verschiebt.
Im Internet explorer wird es nicht verschoben ?
Wie kann denn sowas sein ?
|
|  Profil
Editieren
Zitieren
|
Marvin85
Pixelschubser
Beiträge: 24
|
im prinzip bräuchte ich ja dann 2 CSS dateien oder.
die eine verknüpfte ich dann nur mit der index und die andere css datei verknüpfe ich mit den PHP dateien die includiert werden oder ?
mfg
marvin
|
|  Profil
Editieren
Zitieren
|
Marvin85
Pixelschubser
Beiträge: 24
|
so hab ich es nämlich gemacht
die eine css datei bezieht sich nur auf die index.php
die andere css datei bezieht sich auf das was includiert wird.
in dieser datei habe ich dann zusätzlich nur die zeile "float:right" eingefügt.
das klappt aber immer noch nicht.
es verschiebt sich immer noch 
|
|  Profil
Editieren
Zitieren
|