Supportnet Computer
Planet of Tech

Supportnet / Forum / Webseiten/HTML

Zentrieren der Website inklusive Ebenen





Frage

Hallo zusammen, ich habe in Dreamweaver (ich weiss,ich weiss) eine Website (mit PHP) erstellt und möchte diese nun gerne im Browserfenster zentrieren. In meiner Index.php hab ich eine standard.php (Layout) per include eingeben. In dieser Standard.php werden die Inhalte der Seite wieder mit include eingebunden. In der standard.php habe ich mehrere Ebenen (in Dreamweaver), die als <div> angelegt weden. wie schaffe ich es, auch diese "Ebenen" mit zu zentrieren? Zentriere ich den body dieser Seite, verschieben sich z.B meine Buttons in der Navi oder die inkludierten Inhalte, da diese nicht mit zentriert werden Vielen Dank Gruß Ben

Antwort 1 von BenterA

mmhh,
hab jetzt mal versucht, den PHP-Code der index.php in einen <div> Container zu legen. Das Zentrieren funktioniert so wunderbar, aber es scheint so, als würde nun die ganze Seite (als auch die standard.php) jedesmal neu geladen werden!
kann sich das jemand erklären?
für einen anderen Lösungsvorschlag wäre ich natürlich ebenso dankbar!

Antwort 2 von katy

Hallo Ben,

ohne die Seite und ihren Quellcode zu kennen kann ich dir dazu gar nichts erklären.

katy

Antwort 3 von BenterA

klingt logisch :)

also,

das ist die index.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>.....</title>
<style type="text/css">
<!--
#center {
position: absolute;
left: 50%;
width: 970px;
margin-left: -485px;
top: 0;
}

-->
</style>
</head>
<body>
<div id="center">

<?
..............
.........
include("layout/standard.php");


?>
</div>
</body>
</html>

somit wird die standard.php auch zentriert dargestellt. Das Problem ist nur, dass bei jedem Menüpunkt die komplette Seite inkl. Hintergrund und Menü neu geladen wird und nicht nur der inhalt über include. Lösche ich den Container wieder klappt das mit dem include, aber die Seite ist nicht mehr zentriert.

Antwort 4 von BenterA

hab gerade noch festgestellt, dass die obige methode mit firefox wohl funktioniert. bei IE allerdings sieht es immer noch so aus, als würde er die ganze seite immer wieder neu laden (Hintergrund und Navi verschwinden ganz kurz)

Antwort 5 von katy

Hallo Ben,

das ist so!

PHP wird auf dem Server ausgeführt. Mittels include wird dort eine neue Seite zusammengebaut. Dem Browser ist das egal, ob du die verschiedenen Seiten per PHP-include zusammenfügen lässt, oder ob du jede einzelne Seite mittels Copy&Paste in einem Editor sozusagen von Hand zusammenkopierst. Es sind verschiedene Seiten und somit müssen sie komplett neu aufgebaut werden.

katy

Antwort 6 von BenterA

schade eigentlich,
ich dachte immer, dass wäre der Vorteil, include zu verwenden :) aber was macht dann der firefox anders als der IE? Wird hier was in eine Art Cache gespeichert? Kann man da irgendetwas dagegen tun, dass beim IE die halbe Seite verschwinden, wenn ich einen Menüpunkt wähle?

Antwort 7 von katy

Hallo Ben,

der Vorteil besteht darin, dem Server die Arbeit des Zusammenschreibens zu überlassen und nicht wegen einer kleinen Änderung im Menü alle Seiten überarbeiten zu müssen, sondern nur ein Modul zu ändern.

Wieso der IE bei dir den Seitenaufbau verzögert und der Firefox das schneller macht, kann ich dir ohne die Seite zu kennen nicht sagen. Aber das hat wirklich nichts mit include zu tun, da alles was mit PHP zu tun hat lange erledigt ist bevor die Seite beim Browser ankommt.

katy

Antwort 8 von BenterA

Hallo katy,

da hab ich wieder was gelernt! Vielen Dank!

So wie ich es verstehe, liegt das Problem dann darin, dass der IE z.b das Hintergrundbild der Seite nicht aus dem Cache lädt. Oder is das Quatsch? Da sich das Hintergundbild und die Navi ja nie ändern, wäre es natürlich schön, wenn er das machen würde. Gibt es per php oder im html-Header die Möglichkeit, dass zu ändern?

Gruß

ben

Antwort 9 von katy

Hallo Ben,

ich habe mich wohl leider nicht ganz verständlich ausgedrückt.
Die Navi ist Seitenbestandteil und kann daher nicht aus dem Cache geholt werden. Es ist vollkommen egal, ob die auf allen Seiten gleich ist, der Browser kriegt davon nichts mit und baut sie brav jedes mal mit jeder neuen Seite neu auf.

Lediglich das zusätzlich zu ladende HG-Bild sollte im Cache liegen. Es sei denn, du hast das ausdrücklich unterbunden.

katy

Antwort 10 von BenterA

sorry,

ich habs blöd formuliert. Die Navi ist Teil des Hintergrundbildes und wird durch "unsichtbare" Buttons (gifs) gesteuert. Es geht also eigentlich nur um den Hintergrund. Hab keine "caching" unterbunden, deswegen verstehe ich auch nicht, warum der IE es nicht macht :( Wie gesagt, in Firefox läuft alles wunderbar, da zuckelt nix :)

Kann die Seite leider nicht posten, da ich sie für einen Freund erstelle (privat) und sie aus irgendeinem Grund nicht unvollständig veröffentlichen darf/soll :)

Antwort 11 von Supermax

Ich glaube es liegt an der unterschiedlichen Art, wie die verschiedenen Browser den Content rendern.

Um eine Seite horizontal zu zentrieren benötigt man übrigens die Konstruktion mit dem negativen "margin" nicht; hier reicht es, dem Element (<div>) eine fixe Breite zu geben und den linken und rechten Rand auf "auto" zu setzen, also z.B.

div#center {
   position:relative;
   width:970px;
   margin-left: auto;
   margin-right: auto;
}


Das sollte so zumindest mit IE 6+7, Firefox, Opera und Safari funktionieren.

Antwort 12 von katy

Hallo Ben,

aber die Navi wird sicherlich nicht nur aus Bildern bestehen, ein bisschen HTML sollte schon dabei sein für die Links. Allerdings klingt dein Konzept unnötig kompliziert. Hast du schon mal über die Verwendung von Image-Maps nachgedacht? Diese bewährte Technik ruckelt auch in keinem Browser.

katy

Antwort 13 von BenterA

ein bisschen Code ist schon dabei, ja :)
wenn ich den Quelltext mit deinem Link vergleiche, scheint mir, dass ich es genau so gemacht hab,aber ich les mir das nochmal durch. Sorry, das ist meine erste Seite und ich befasse mich daher erst seit ca 3 Wochen mit html und php.

Die Navigation macht mir ja eigentlich keine Probleme. Die Buttons sind ja im Endeffekt nicht sichtbar und daher ist auch kein Ladevorgang erkennbar. Es ist halt nur der Hintergrund, welcher kurz verschwindet. Mir ist auch aufgefallen, dass der Hintergrund nicht immer neu geladen wird. Wenn ich mal durch die Navigation klicke, bleibt er manchmal ohne kurz zu "blitzen" :)

@Supermax

Leider funktioniert das Zentrieren der Seite nur mit dem angegeben Code:
#center {
position: absolute;
left: 50%;
width: 970px;
margin-left: -485px;
top: 0;
}

werd aber auch das nochmal auf fehler meinerseits testen. Danke auf jeden Fall!!

Antwort 14 von katy

Hallo Ben,

mit Image-Maps nutzt du kein HG-Bild sondern ein Bild im Vordergrund. Und keine zusätzlichen Button-GIFs. Insofern passt deine bisherige Seitenbeschreibung überhaupt nicht darauf.

katy

Antwort 15 von BenterA

Hi katy,

hab mir das mit den Image Maps jetzt mal durchgelesen. Vom Prinzip her hab ichs schon so, hab nur in meiner Unwissenheit für jeden Menüpunkt ein Bild genommen und einen Bereich für den Link definiert. Habs aber jetzt geändert und bin dir SEHR dankbar für den Hinweis. Das erleichtert so einiges!!

Vielen Dank

ben

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: