• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

IFrame und Grafikfehler (...?)

Status
Für weitere Antworten geschlossen.

Eggerd

Neues Mitglied
Hallo zusammen,

im Moment schreibe ich eine Homepage und wollte dem Design jetzt noch ein Menü auf der rechten Seite hinzufügen. Die Website schreibe ich mit dem Programm "Webocton - Scriptly" und schaue mir die Seite immer in der Vorschau (Firefox) an.

Als ich die Seite später auf den Server geladen hab war das Menü jedoch total falsch. Doch auch nicht ganz... seht selbst.

[So soll es aussehen]
http://kd11676-de.km20916-03.keymachine.de/forum/menu_ja.PNG


[Und so nicht!]
http://kd11676-de.km20916-03.keymachine.de/forum/menu_nein.PNG

Was ich nicht verstehe ist, warum die Welle des oberen Menüst angezeigt wird und die untere nicht obwohl es genau die gleiche ist nur umgedreht!

Und so sind die Einstellungen in der CSS-Datei.

Code:
#mein_menu {float:right; width:170px; padding-right:10px;}
#mein_menu p {background-color:#fff; padding:0 10px;}
#mein_menu_top { height:10px; background:url(images/oben.gif) no-repeat;background-color:white;}
#mein_menu_body { background-color:#fff;}
#mein_menu_bottom { height:43px; background:url(images/welle1.png) no-repeat;}
#mein_menu ul {margin:0; padding:0 0 0 40px;}
#mein_menu ul li { padding:0; list-style:none;}
#mein_menu a {color:#000; font-size:11px;}
#mein_menu h1 {color:#0676bd; font-size:12px; font-weight:bold; padding:10px 0 0 20px; background-color:#fff; margin:0;}

#mein_menu2 {float:right; width:170px; padding-right:0px;}
#mein_menu2 p {background-color:#fff; padding:0 10px;}
#mein_menu2_top { height:43px; background:url(images/welle2.png) no-repeat;background-color:white;}
#mein_menu2_body { background-color:#fff;}
#mein_menu2_bottom { height:23px; background:url(images/unten.gif) no-repeat;}
#mein_menu2 ul {margin:0; padding:0 0 0 40px;}
#mein_menu2 ul li { padding:0; list-style:none;}
#mein_menu2 a {color:#000; font-size:10px;}
#mein_menu2 h1 {color:#0676bd; font-size:12px; font-weight:bold; padding:10px 0 0 20px; background-color:#fff; margin:0;}
Kann mir jemand sagen warum diese Fehler auftreten wenn ich die Seite auf einen Server lade... sogar wenn ich die Datei lokal auf meinem PC öffne sieht alles richtig aus.

--------------------

So und noch eine kleine Frage. Ich hab jetzt schon oft im Forum gelesen das man viele Infos findet warum man IFrames meiden sollte. Jedoch habe ich bis jetzt immer nur diesen Satz gefunden.
Kann mit bitte kurz jemand schildern warum diese gemieden werden sollten?
Und wie kann ich dann z.B. in einem Menü einen Text/Bild etc. einblenden der auf allen Seiten gleich ist?


Würde mich wirklich über Antworten freuen und danke im Vorraus.

MfG
 
Fehlerquelle

HI,

hab meine CSS-Datei nochmal auseinander genommen und verglichen. Die beiden Menüs rechts (170 Pixel) sind aus einem Menü links (231 Pixel) entstanden.
Ich hab also die Bilddateien (oben und unten) einfach nur auf 170 Pixel gekürzt und einen anderen Namen benutzt und sogar das Format ist gleich (GIF).

Denn ich musste feststellen das das unerwünschte Design auftritt wenn ich diese Grafiken für das Menü Benutze. Aber warum - es sind im Grund die selben wie die 231 Pixel langen?!


MfG
 
Zuletzt bearbeitet:
Gelöst

Lustig, hab mein Problem nach langem hin und her "gelöst". Und wie...
  1. Die Bilddateien (mit den 170 Pixeln) statt in den images Ordner in einen anderen Ordner auf dem Server geladen und diese dann in der CSS-Datei statt "images/..." mit "http://..." verlinkt. [Ergebnis: Rundungen wurden wieder angezeigt]
  2. Unterer Teil des Menüs war verschwunden (ganz). Doppelte einträge in der CSS-Datei gelöscht da dieses Menü auch noch im div-Bereich des oberen Menüs ist. [Ergebnis: Das untere Menü wurde wieder angezeit... ]
Code:
#info {float:right; width:170px; padding-right:10px;}
#info p {background-color:#fff; padding:0 10px;}
#info_top { height:10px; background:url(http://kd11676-de.km20916-03.keymachine.de/website/page/bilder-index/images/oben.GIF) no-repeat;background-color:white;}
#info_body { background-color:#fff;}
#info_bottom { height:43px; background:url(http://kd11676-de.km20916-03.keymachine.de/website/page/bilder-index/images/welle1.png) no-repeat;}
#info ul {margin:0; padding:0 0 0 40px;}
#info ul li { padding:0; list-style:none;}
#info a {color:#000; font-size:10px;}
#info h1 {color:#0676bd; font-size:12px; font-weight:bold; padding:10px 0 0 20px; background-color:#fff; margin:0;}

#partner_top { height:43px; background:url(http://kd11676-de.km20916-03.keymachine.de/website/page/bilder-index/images/welle2.PNG) no-repeat;background-color:white;}
#partner_body { background-color:#fff;}
#partner_bottom { height:23px; background:url(http://kd11676-de.km20916-03.keymachine.de/website/page/bilder-index/images/unten.GIF) no-repeat;background-color:white;}
Jo, wars eigentlich auch schon... aber warum die Bilder erst gingen als sie nicht mehr im Images-Ordner waren weiß ich echt net! ;ugl
Ein Mysterium ;-)



Ok... kann mir dann jemand freundlicher weiße noch sagen, warum man IFrames meiden sollte und wie ich dann z.B. Texte/Bilder auf verschiedenen Seiten gleich anzeigen kann ohne jede Seite bearbeiten zu müssen um diesen Text zu ändern?
Danke schon mal für Antworten!


MfG
 
Ok... kann mir dann jemand freundlicher weiße noch sagen, warum man IFrames meiden sollte
Google weiß Rat: Probleme von Frames - Google-Suche
(insb. der erste Link Subotnik: Warum Frames out sind (und es schon immer waren...), den Du auch über die Forum-Suche hättest finden können).
Gilt also nicht nur für iFrames, sondern für alle Arten von Frames.

und wie ich dann z.B. Texte/Bilder auf verschiedenen Seiten gleich anzeigen kann ohne jede Seite bearbeiten zu müssen um diesen Text zu ändern?
Gleichzeitig? ;-)
Du suchst "include" mit einer serverseitigen Technik. Du findest sicher etliche Treffer über die Foren-Suche...

Bin jetzt zu faul, das auszuarbeiten :-), aber wenn Du dazu noch Fragen hast, stell sie!

Gruß,
-Efchen
 
Hi,

danke für die Antwort und das mit dem Frames hab ich soweit drinne! Hab auch mal nach der Alternative zu Frames gesucht und bin halt auf SSI gestoßen (was du schon sagtest)...

Hab mir auch die Wiki Seite dazu durchgelesen und einige Seiten hier im Forum aber versteh das noch nicht so ganz... könnte einer evtl. so nett sein und ein ganz simples Beispiel uploaden - dann kann ich die Teile auseinandernehmen und versteh dann wies geht.
Oder auch nur mal eben kurz hier als Text erklärt, wie das geht.


Würde mich echt freuden!

MfG
 
include (egal ob PHP oder SSI) "kopiert" quasi den Inhalt der zu includenden Datei an die Stelle des Include-Befehls. Das ist alles. Es wird der Inhalt der zu includenden Datei einfach an Stelle des Befehls eingefügt.

D.h. die zu includende Datei enthält nur das, was an die Stelle in der ersten Datei rein soll, nicht nochmal eine komplette HTML-Datei, denn dann hast Du zwei HTML-Header.
 
Hi,

danke das hab ich verstand und hab noch einen Link gefunden. Da wurde aber nicht wirklich erklärt was es ist. Aber es gab eine Art Beispiel.

Meine Frage ist jetzt nur. Muss die Datei, die den Text enthält der angezeigt werden soll, und die Datei, mit dem Homepageinhalt ein bestimmtes Format haben?

Dort stand etwas von "test.shtml" und das irritiert mich etwas.
 
Hi, also so wie ich das sehe funktioniert es nur wenn die Endung der Dateien "shtml" ist. Jedenfalls geht es bei allen anderen nicht.

Aber gibt es eine Möglichkeit Texte auf diese Weise auch auf Seiten ein zu blenden die auf "php" enden?
 
Die Datei, die Du includen willst, muss kein bestimmtes Format haben und muss keine bestimmte Dateiendung haben. Sie braucht auch gar keine Dateiendung. Hierbei musst Du nur achtgeben, dass ja jemand die URL zu dieser Datei direkt eingeben könnte. Wenn Du darin jetzt z.B. PHP-Code hättest, und die Endung anders als .php ist, wird die Datei nicht durch den PHP-Parser geschickt und jeder kann den Quellcode ansehen. Das ist tödlich, wenn darin die Zugangsdaten für z.B. eine Datenbank stehen :-)

Die Datei, die includen soll, muss vom jeweiligen Parser (SSI, PHP oder so) bearbeitet werden. Wann das geschieht, ist in der Server-Konfiguration hinterlegt. Dabei guckt der Server auf die Dateiendung. Per Default ist eingestellt, dass Dateien mit der Endung ".shtml" von SSI und Dateien der Endung ".php" von PHP bearbeitet werden. Das kann je nach Server-Konfiguration abweichen. Man könnte das auch so einstellen, dass Dateien der Endung ".ssi" von SSI geparsed werden oder die Dateiendung ".html" auch durch PHP geschickt.

Wenn Du Seiten hast, die auf ".php" enden, sind das wohl PHP-Scripte. Und da gibt es auch einen include()-Befehl, genauso wie unter SSI.
 
Hi, ich hab das jetzt mal getestet...

Ich muss beide Dateien mit der Endung "shtml" speichern sonst geht es nicht... auch wenn nur die Datei die später eingeblendet werden soll shtml ist wird der Text nicht in der (z.B.) html-Datei angezeigt...

Normal, oder hatte ich das bei deinem Beitrag falsch verstanden?
 
Es muss nicht die Datei, die eingebunden wird, auf "shtml" enden, sondern die, die einbindet, die die das SSI-Kommando enthält. Denn das wird nur ausgeführt, wenn die Endung "shtml" ist.
 
Seiten, die auf .php enden, sind PHP-Scripts. Da gehen natürlich keine SSI-Kommandos, sehr wohl aber PHP-Kommandos, und in PHP gibt es auch ein include().

Wenn Du nicht was völlig anderes gemeint hast, dann ist Deine Schlussfolgerung falsch.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben