amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > HTML Layersbefehl [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

11.10.2002, 11:59 Uhr

Hammer
Posts: 2899
Nutzer
Ja ich bräuchte für eine Webseite (Reisebüro und/oder auch meine) mal ein paar Infos zum Layerbefehl.
Normalerweise gebe ich da ja immer den Abstand von der Seite an. Als links zum Seitenrand und nach oben zum Seitenrand.
Kann ich da den Bezugspunkt ändern? Also von der Seite auf eine Tabelle z.b. umstellen?
Das Problem ist, ich kann zwar die Seite so bauen, aber wenn der Browser in einer anderen Auflösung aufmacht, steht der Text im Layer sonstwo.
Der Hintergrund ist nämlich zentriert! :D
Wie kann man so etwas lösen?
--
MFG

Hammer

[ - Antworten - Zitieren - Direktlink - ]

11.10.2002, 20:50 Uhr

Holger
Posts: 8116
Nutzer
Layer sind eine Netscape-4 spezifischen Erweiterung und gehören nicht zum HTML-Standard. Ich kann mir nicht vorstellen, daß ein Reisebüro Interesse daran haben kann, Explorer- und Netscape6- Benutzer aus ihrem Kundenkreis auszuschließen.
Wenn Du was-auch-immer innerhalb einer Tabelle plazierst, gibt es keine Notwendigkeit, Bezugspunkte anzugeben. Du mußt lediglich den Abstand zum Zellenrand definieren.

mfg

--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

12.10.2002, 00:53 Uhr

mrbbc
Posts: 101
Nutzer
Wie gesagt: Finger weg von Layers (waren eine gute Idee - besser als embedded Frames).

Neben Tabellen kann man auch Framesets einsetzen. cols="*, 320, *" für zentrierte 320 Pixel breite Fenster zum Beispiel; AFAIK funktionieren Background-Grafiken per CSS ab einigen Netscape 4 Versionen schon, und bei Tabellen ist die Angabe von Höhe und Breite ähnlich - <td>...</td><td width="320">...</td><td>...</td> erreicht was Ähnliches, nur kommen die Abstände der Tabelle vom Rand dazu.

[ - Antworten - Zitieren - Direktlink - ]

12.10.2002, 10:29 Uhr

Hammer
Posts: 2899
Nutzer
Na gut, das mit den Layers war jetzt nur von mir gedacht, weil ich momentan noch keine andere Lösung kenne! Aber ich lasse mich gerne des besseren belehren. :D
Also, weg mit denen! :D

Wie kann ich dann das Problem lösen?
Die grundstruktur der Seite ist zwei Frames, oben die Buttons. Darunter eine relativ einfache Grafik als Hintergrund.
Der Text sollte da in den freien Paltz reinpassen, was aber etwas eng werden könnte! Um aber nicht hunderte von bottons oben machen zu müßen, dachte ich daran, einen Textframe zu definieren (als Startframe!9 und weitere textframes, die aber erst erscheinen, wenn man z.B. unten auf den Weiter (Pfeil) Link klickt.
Ich hoffe das war jetzt so weit verständlich? :D
Wie kann ich das ohne die Layers lösen?
Es müßten mehrere Frames da sein, wobei aber immer nur einer zu sehen sein soll, auf immer dem selben Platz.
Fragen über Fragen? :D
--
MFG

Hammer

[ - Antworten - Zitieren - Direktlink - ]

12.10.2002, 20:40 Uhr

mrbbc
Posts: 101
Nutzer
Nur so am Rande: ein Frameset ist eine Collage aus verschiedenen HTML-Dateien. Du bestimmst, wie groß die Ausschnitte sind, und gegf. ob man darüber scrollen kann. Und natürlich kannst du gezielt die Dateien in den Ausschnitten auswechseln.

Beim Verlinken kannst du den Zielframe angeben <a href="..." target="textbox"> z.B. wenn du <frame name="textbox" ...> irgendwo hattest.

Damit auch der Pfeil-Frame(Link !) sich mit ändert, muss du den Textframe und den (Vor-/Zurück-)Buttonframe in ein Frameset pflanzen, das du als Target angibst, und auf eine identische Frameset-Datei verweisen, die wiederum die HTML-Datei mit dem eigentlichen Inhalt einbindet.

Man kann's auch mit JavaScript lösen, das ist aber unsauber.

[ - Antworten - Zitieren - Direktlink - ]

12.10.2002, 22:34 Uhr

Hammer
Posts: 2899
Nutzer
Zitat:
Original von mrbbc:
Nur so am Rande: ein Frameset ist eine Collage aus verschiedenen HTML-Dateien. Du bestimmst, wie groß die Ausschnitte sind, und gegf. ob man darüber scrollen kann. Und natürlich kannst du gezielt die Dateien in den Ausschnitten auswechseln.

Beim Verlinken kannst du den Zielframe angeben <a href="..." target="textbox"> z.B. wenn du <frame name="textbox" ...> irgendwo hattest.

Damit auch der Pfeil-Frame(Link !) sich mit ändert, muss du den Textframe und den (Vor-/Zurück-)Buttonframe in ein Frameset pflanzen, das du als Target angibst, und auf eine identische Frameset-Datei verweisen, die wiederum die HTML-Datei mit dem eigentlichen Inhalt einbindet.

Man kann's auch mit JavaScript lösen, das ist aber unsauber.

Mit Frames? Ja wäre ne Möglichkeit, nur mag ich die eigentlich nicht so gerne.
Warum ist Javascript ne unsaubere Sache? Ich habe sowas ähnliches auf meiner HP am laufen.
Es sind nur ein paar wenige Zeilen Javascript nötig um das zu realisieren, kannst ja mal bei mit gucken! :D
--
MFG

Hammer

[ - Antworten - Zitieren - Direktlink - ]

13.10.2002, 21:07 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von Hammer:
Mit Frames? Ja wäre ne Möglichkeit, nur mag ich die eigentlich nicht so gerne.
Warum ist Javascript ne unsaubere Sache? Ich habe sowas ähnliches auf meiner HP am laufen.
Es sind nur ein paar wenige Zeilen Javascript nötig um das zu realisieren, kannst ja mal bei mit gucken! :D

Eben. Wenn Du Text als Bilder einbetten mußt, damit es funktioniert, läuft eben schon einiges verkehrt. Außerdem soll eine Seite auch dann noch funktionieren, wenn JavaScript deaktiviert ist. Und viele User bevorzugen es, wenn der Back-Button ihres Browsers weiterhin funktioniert.
Die einfachste Variante, wenn man auf Frames verzichten will, ist eine weitere Seite mit identisch gestalteter Tabelle. Wenn man jeglichen überflüssigen Kram aus dem Html-Code entfernt, ist die Seite wenige hundert bytes groß und deshalb so schnell geladen, daß es keinen Unterschied gegenüber Frames macht. Und die Bilder, die auf beiden Seiten gleich sind, kommen dann eh aus dem Cache des Browsers.
Leider habe ich noch nicht ganz Dein Ziel verstanden, also wenn Du es etwas genauer beschrieben kannst, kann ich vielleicht auch noch bessere Tips geben.:rolleyes:

mfg

--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

14.10.2002, 09:25 Uhr

Hammer
Posts: 2899
Nutzer
Zitat:
Original von Holger:
Zitat:
Original von Hammer:
Mit Frames? Ja wäre ne Möglichkeit, nur mag ich die eigentlich nicht so gerne.
Warum ist Javascript ne unsaubere Sache? Ich habe sowas ähnliches auf meiner HP am laufen.
Es sind nur ein paar wenige Zeilen Javascript nötig um das zu realisieren, kannst ja mal bei mit gucken! :D

Eben. Wenn Du Text als Bilder einbetten mußt, damit es funktioniert, läuft eben schon einiges verkehrt. Außerdem soll eine Seite auch dann noch funktionieren, wenn JavaScript deaktiviert ist. Und viele User bevorzugen es, wenn der Back-Button ihres Browsers weiterhin funktioniert.
Die einfachste Variante, wenn man auf Frames verzichten will, ist eine weitere Seite mit identisch gestalteter Tabelle. Wenn man jeglichen überflüssigen Kram aus dem Html-Code entfernt, ist die Seite wenige hundert bytes groß und deshalb so schnell geladen, daß es keinen Unterschied gegenüber Frames macht. Und die Bilder, die auf beiden Seiten gleich sind, kommen dann eh aus dem Cache des Browsers.
Leider habe ich noch nicht ganz Dein Ziel verstanden, also wenn Du es etwas genauer beschrieben kannst, kann ich vielleicht auch noch bessere Tips geben.:rolleyes:

mfg

--
Good coders do not comment. What was hard to write should be hard to read too.


Du hast also das mit den Bildern auf meiner Page gesehen. Gut, denn davon will ich wegkommen.
Also aus den Bildern ganz normale Textrahmen mit Inhalt machen.
Ja das mit Javascript ist echt Geschmackssache, mag nicht jeder stimmt schon.
Bei meiner Seite habe ich auch schon die Frames ausprobiert, war aber riegdn wie nichts. :D
Gibt es den keinerlei Möglichkeit so einen einzelnen Textrahmen zu ändern ohne viel Aufwand?

Das Ziel:

Seite mit zwei Frames. Oben sind die Buttons und unten der Inhalt.
der Inhalt ist wie folgt aufgesplittet: Links ist ein größerer Bereich für die texte und Rechts ist noch ein Bereich mit einer Hintergrundgrafik, die ist nur zweifarbig und deshalb recht klein von der Dateigröße.
Der Bereich für die Texte soll mittels eines kleinen Buttons (Rechts) weiter geblättert werden können, evetl. auch wieder zurück!
Na aber wahrscheinlich haste recht, mit Frames dürfte ich da am besten (einfachsten) dran sein!
Ich werde das heute mal ausprobieren. Danke trotzdem für Deine Antworten. :D
--
MFG

Hammer

[ - Antworten - Zitieren - Direktlink - ]

14.10.2002, 09:48 Uhr

NARR
Posts: 59
Nutzer
Benutzt du jetzt den Layer Befehl oder <div>? Mit <div> kannst du Objekte beliebig platzieren - dies funktioniert sowohl unter NS4.7, 6.x, Opera, Mozilla und IE5.x.

Beispiel:

<html>
<head>

<style type="text/css">
#test {position:absolute; left:10px; top:300px;}
</style>

</head>

<body>

<div id="test">
test
</div>

</body>
</html>

Damit richtest du den Text "test" exakt aus (10 Pixel von lins,
300 Pixel von oben). Statt dem text kannst du natürlich auch ein Bild verwenden.

Ciao,
Richard

[ - Antworten - Zitieren - Direktlink - ]

14.10.2002, 14:36 Uhr

Hammer
Posts: 2899
Nutzer
@Narr: Ja, so in die Richtung sollte es ja bei mir gehen. Nur wenn Du oben gelesen hättest, habe ich dann das Problem, mit Unterschiedlichen Fenstergrößen.
Na ich hätte mir das einfacher vorgestellt! Da muß ich mir echt nochmal gedanken über das design, den Seitenaufbau im Speziellen machen! :D
--
MFG

Hammer

[ - Antworten - Zitieren - Direktlink - ]

14.10.2002, 17:16 Uhr

NARR
Posts: 59
Nutzer
Zitat:
Original von Hammer:
@Narr: Ja, so in die Richtung sollte es ja bei mir gehen. Nur wenn Du oben gelesen hättest, habe ich dann das Problem, mit Unterschiedlichen Fenstergrößen.
Na ich hätte mir das einfacher vorgestellt! Da muß ich mir echt nochmal gedanken über das design, den Seitenaufbau im Speziellen machen! :D
--
MFG

Hammer



Ja, hab ich gelesen, verstehe nur leider nicht ganz was du meinst. Eine URL zu der Seite wäre hilfreich, dann könnte ich sehen, was du da genau erreichen willst. Ansonsten habe ich mich auf dieses Zitat bezogen: "Layer sind eine Netscape-4 spezifischen Erweiterung und gehören nicht zum HTML-Standard" - ILayer sind Netscape-spezifisch, aber nicht <div>, daher dann meine Frage, was von beiden du benutzt.

Ciao,
Richard

[ - Antworten - Zitieren - Direktlink - ]

15.10.2002, 09:26 Uhr

Hammer
Posts: 2899
Nutzer
Zitat:
Original von NARR:

Ja, hab ich gelesen, verstehe nur leider nicht ganz was du meinst. Eine URL zu der Seite wäre hilfreich, dann könnte ich sehen, was du da genau erreichen willst. Ansonsten habe ich mich auf dieses Zitat bezogen: "Layer sind eine Netscape-4 spezifischen Erweiterung und gehören nicht zum HTML-Standard" - ILayer sind Netscape-spezifisch, aber nicht <div>, daher dann meine Frage, was von beiden du benutzt.

Ciao,
Richard

Ach so! :D

Der Link, na die neue seite gibt es ja noch nicht, Du kannst Dir nur die alte anschauen! Für so eine Seite haben wir hier keinen Smile, der wäre gegen die Netiquette! :D
http://www.contra-reisen.com/


Außerdem habe ich den immer noch nicht ganz überzeugt, mich das machen zu lassen. Deshalb möchte ich ihm was zeigen, was Ihn umhaut! Na gut das wird nicht so schwer sein, aber es soll auch was hermachen! Und für meine Bewerbungen brauche ich mehr als nur zwei Seiten die am laufen sind! :D
Danke für deine Geduld und deine Antworten. :D


--
MFG

Hammer

[ Dieser Beitrag wurde von Hammer am 15.10.2002 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

16.10.2002, 11:14 Uhr

mrbbc
Posts: 101
Nutzer
AUA!!!

Die Seite funzt ja nicht mal mit IE !

Was die Lösung mit ohne Frames, also Tabellen betrifft, siehe http://www.heise.de


Die machen das ohne Frames; sieht aber fast so aus wie mit. Für diese Lösung empfehle ich aber dringend dynamisch erzeugtes HTML (also PHP, Perl etc.) !

Da wirst du nur verrückt, wenn du dutzende Dateien ändern musst, um die Randeinträge up zu daten.

Vor- und Nachteil: scrollt mit. Frames bleiben wo sie sind; willst du z.B. ein Menü am oberen oder linken Rand, so könnten diese in einer Tabelle beim Scrollen verschwinden; im Frameset bleiben sie wo sie sind.

Andererseits ist es häßlich, durch Menüs zu scrollen, wenn diese mal für das Fenster zu groß werden sollten.

Wenn du jede Seite aber nicht größer machst als das Fenster, macht's keinen Unterschied - ist gegf. sogar besser, wenn einer mit viel zu kleinem Fenster sörft.

Wenn ich's richtig sehe, willst du Text und Grafik übereinander in einer zentrierten Box...

code:
<table width="100%" height="100%">
<tr><td>   </td><td>   </td><td>   </td></tr>
<tr><td>   </td>
<td style="background-image:url(img/aufmacher.jpeg)" width="320" height="188">
Hallo Welt ! Hier steht jetzt schöner Text...
</td>
<td></td>   </tr>
<tr><td>   </td><td>   </td><td>   </td></tr>
</table>


Hier in dem Beispiel nehm' ich an, dass das Bild 320x188 groß ist. Ohne die Angabe wird das Bild nach Belieben abgeschnitten.

[ - Antworten - Zitieren - Direktlink - ]

16.10.2002, 11:20 Uhr

mrbbc
Posts: 101
Nutzer
Stell' dir zwischen <td> und </td> je ein & nbsp; vor und statt 'ö' schreibt man natürlich auch & ouml; ... hat das Forenskript gefressen.

Das mit den nbsp ist manchmal für Netscape 4 nötig, damit er Parameter frisst; weiss aber nicht mehr genau, für welche Parameter.

[ - Antworten - Zitieren - Direktlink - ]

16.10.2002, 18:25 Uhr

Hammer
Posts: 2899
Nutzer
Aua? :D War noch nett ausgedrückt!
Tja, auch wenn er meinte er könnte so eine Seite selber machen! Nein, der braucht echt Hilfe. :D
Ich habe gestern etwa rumgebastelt und es mal mit den Frames probiert. ich weiß schon warum ich Frames nicht so gerne mag! Hat mich viele Nerven gekostet um es einigermassen hinzu bringen.
ist zwar bis jetzt nur der funktionelle teil, die HTML 4.0 Standards müßen noch etwas angepasst werden. Sprich der Sourcecode ist noch unbearbeitet aus GoLive raus. :D
Wenn Du den mal sehen willst, mail mir mal. dann schicke ich die das was ich bis jetzt habe! :D
--
MFG

Hammer

[ - Antworten - Zitieren - Direktlink - ]

18.10.2002, 18:51 Uhr

Holger
Posts: 8116
Nutzer
Zu Deiner ursprünglichen Frage bzgl. des Bezugspunktes:
Wenn Du mittels CSS ein Element formatierst, wie in NARRs Beispiel, dann bezieht sich die Positionierung immer auf das Elternelement. Packst Du ein solches Element also in eine Tabellenzelle, dann ist diese Zelle sowieso der Bezugspunkt, ohne das Du irgendetwas umstellen mußt. Wenn Du dann die Hintergrundgrafik ebenfalls nur für diese Zelle definierst, dann sind Text und Grafik auch immer übereinander, egal wo sich die Tabelle selbst befindet.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

19.10.2002, 10:29 Uhr

Hammer
Posts: 2899
Nutzer
Hm! Hätte beim Thema CSS doch besser aufpassen sollen damals! :D
Sobald ich mal wieder etwas Zeit finde, schaue ich mir SelfHTML nochmal wegen dem Tehma an, ist ne gute Idee.
Ich habe zwar ne Frame Lösung gebastelt, aber mit Frames ist das immer so ne doofe Geschichte, vorallem wenn man unterschiedliche Auflösungen bei den Usern hat! :D
--
MFG

Hammer

[ - Antworten - Zitieren - Direktlink - ]

22.10.2002, 09:14 Uhr

Hammer
Posts: 2899
Nutzer
Wenn es interessiert, auf der Website vom UdN ist jetzt sowas, nur mit Grafiken.
http://www.udnimweb.de/Buergerzentrum.html

http://www.udnimweb.de/Grieche_Kreta.html

So etwas nur statt mit Graifken, mit texten. :D
--
MFG

Hammer

[ - Antworten - Zitieren - Direktlink - ]

22.10.2002, 12:57 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von Hammer:
Wenn es interessiert, auf der Website vom UdN ist jetzt sowas, nur mit Grafiken.
http://www.udnimweb.de/Buergerzentrum.html


http://www.udnimweb.de/Grieche_Kreta.html


So etwas nur statt mit Graifken, mit texten. :D

Die Seiten scheinen für ein FrameSet gedacht zu sein, zumindest enthalten die Links einen falschen target-Parameter.
In der Form ansonsten ganz gut, da für die Link auch ein href-Parameter vorhanden ist, der bei deaktiviertem JavaScript greift.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

22.10.2002, 14:13 Uhr

Hammer
Posts: 2899
Nutzer
Jetzt bin ich vollkommen Wirr!

[ Dieser Beitrag wurde von Hammer am 28.10.2002 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

28.10.2002, 18:21 Uhr

Hammer
Posts: 2899
Nutzer
Ich habs gefunden! :D

Es funktioniert mittels CSS. :D


<html><head><title>visibility</title>
<script language="JavaScript" type="text/javascript">
<!--
function show() {
if(document.getElementById)
document.getElementById("Ueberschrift").style.visibility = "visible";
}
//-->
</script>
</head><body bgcolor="FFFFFF" text="#000000">

<h1 id="Ueberschrift" style="visibility:hidden">Die Überschrift zum Text</h1>
<p>Hier der Text. Aber fehlt da nicht was?</p>
<p><a href="javascript:show()">Anzeigen!</a></p>

</body></html>

Auf diesem kurzen File baut alles auf, ich habe das schon testweise in meine reisebüro seite eingebaut. Der Text kommt wirklich da wo er hin soll! Wenn ich jetzt noch wie bei meinem Bilderwechsel von der HP immer eine Konstante mit Wert übergebe und das wieder zusammensetzte kann ich verschiedenen Text durchschalten!
Irre kompliziert am Anfang. Puh! :D
--
MFG

Hammer

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > HTML Layersbefehl [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.