PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CSS, Frames & target - wie mach ich das?


crystalfunky
2007-04-23, 13:19:56
Moin,

ich habe bei meiner alten website mit frames gearbeitet.
Nun bin am neugestalten meiner website.#

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8559-1 />
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/>
<link rel="stylesheet" type="text/css" href="inhalt.css"/>
</head>
<body>
<div id="container">

<div id="banner">
<div id="bannerLeft"></div>
<div id="bannerRight">
<h1>- : .</h1>
<h2>Rhythmus ist für mich etwas mit Gefühl, Rausch und Direktheit</h2>
</div>
</div>

<div id="content">

<div id="leftColumn">
<ul id="nav">
<li><a href=index.html>&raquo; Home</a></li>
<li><a href=index.html>&raquo; Über mich</a></li>
<li><a href=index.html>&raquo; Mein Set</a></li>
<li><a href=index.html>&raquo; Rampelz</a></li>
<li><a href=index.html>&raquo; Mein PC</a></li>
<li><a href=index.html>&raquo; Games</a></li>
<li><a href=index.html>&raquo; Downloads</a></li>
<li><a href=index.html>&raquo; Links</a></li>
</ul>
<div id="leftColumnBottom">
<p>bild oben muss 150 x 100 haben.</p>
<p><a href=mailto:><font color=yellow>Mail an mich</font></a></p>
</div>
</div>

<div id="rightColumn">
<h3>This is a Header <span class="date">12.28.06 // Comments (3)</span></h3>
<p>Update 1: <br>Sticks</p>

<h3>This is a Header <span class="date">12.24.06 // Comments (0)</span></h3>
<p>Update 2 <br>Felle</p>

<h3>This is a Header <span class="date">12.06.06 // Comments (1)</span></h3>
<p>Update 3 <br>Becken</p>
</div>

<div id="clear">
</div>

</div>

</div>
<div id="copyright"> &copy; 2007</div>
</body>
</html>

Nun möchte ich bei der navi, dass er die links halt im "rightcolumn" anzeigt.
Also wie bei den frames, dass die navi seite und alles drumherum bleibt,
nur der "rightcolumn" wird verändert.

da bräuchte ich mal eure hilfe.

Dann würde ich gern noch wissen,
wie man auf der startseite den usern die möglichkeit gibt kommentare schreiben zu lassen.

darph
2007-04-23, 16:49:18
strict und Frames schließen sich gegenseitig aus.

Tu dir selbst den Gefallen und schau dir ein wenig PHP an. Stichwort include(). Wirst du eh nicht drumherum kommen, wenn du dir diese Kommentarfunktion einbauen willst.

crystalfunky
2007-04-23, 19:13:39
kann mir da bitte jemand einen einstieg geben,
ich behersche nur html.

darph
2007-04-23, 21:15:17
kann mir da bitte jemand einen einstieg geben,
ich behersche nur html.
Lies dir diesen Thread bitte durch: http://www.forum-3dcenter.org/vbulletin/showthread.php?t=348578&highlight=php

crystalfunky
2007-04-23, 21:46:21
ich zeig euch jetzt mal meine alte und neue website:

http://home.arcor.de/notype2000
http://home.arcor.de/notype2000/n_website

Bei der neuen ist alles per css datei definiert.
Gibt es keine möglichkeit per befehle auf die ids der jeweiligen kästen zuzugreifen?

Wenn man jetzt links auf die links klickt, soll sich dort wo "this is a header" steht einfach nur der inhalt ändern.
der rest soll ja so bleiben.

darph
2007-04-23, 22:01:05
Wenn man jetzt links auf die links klickt, soll sich dort wo "this is a header" steht einfach nur der inhalt ändern.
der rest soll ja so bleiben.Genau das habe ich in oben verlinktem Thread erklärt.

crystalfunky
2007-04-23, 22:16:44
er hat aber eine ganz simple html website.
ich hab da viele divs und so.

ich komm da echt nicht klar,
weil die ganzen "frames" schon definiert sind.

das hängt alles irgendwie zusammen.
wenn ich nur die navi herausnehme,
dann sieht es gleich ganz anders aus,
weil es nur komplett funktionieren kann,
hab ich so den eindruck.

DanMan
2007-04-23, 23:32:51
Wie gesagt, steht im Thread von darph. http://www.forum-3dcenter.org/vbulletin/showthread.php?p=5249211#post5249211

Prinzip ist folgendes:

Du schneidest den Inhalt (hier deine Navi) aus der Datei raus, und speicherst den Schnipsel (und nur den) in eine neue Datei. Diese wiederum lädst du mit einem php include() wieder in deine ursprüngliche Datei.

P.S.: Schickes Design. ;)

Klingone mit Klampfe
2007-04-24, 19:57:43
Du kannst auch einfach einzelne komplette Seiten erstellen, die jeweils auch die Navigation enthalten. Ist zwar aufwendiger, erspart Dir aber PHP-Gedöns.

Blade II
2007-04-25, 18:34:35
Generell ist die Methode mit PHP Include natürlich richtig, aber man kann es ja auch mit HTML machen ;)

als erstes gibst du deinem Frame mal ne Bezeichnung durch
name="frame1"

Danach musst du in deiner Navi nur noch richtig linken:
<a href="link.html" target="frame1">

Das wars!

Btw...
Der PHP Include:

Syntax:
<?php include "datei.php"; ?>

Jetzt teilst du deine Seite mal in einen Header, Content und Footer Teil ein. Das soll auf dein Layout und Inhalt aber keine Auswirkung haben!

Du nimmst einfach deine HTML Seite und teilst sie an der Stelle, wo eigentlich dein Content anfängt und wo er aufhört:


<!-- Header -->
<html>
<head>
<title>Titel 123</title>
</head>
<body>

<img src="logo.jpg">

<!-- Header Ende -->

<!-- Content -->

Text Text Text Text Text Text Text

<!-- Content Ende -->

<!-- Footer -->

(c) by Max Musterman

</body>
</html>

<!-- Footer Ende -->


An den Markierungen teilst du nun deine Seite.

Den Header speicherst du in header.php
Den Footer in footer.php

Danach kommt der (variable) Textteil drann.
Nehmen wir mal "Home" als Beispiel:

Lege eine Datei namens home.php an.

Am Anfang schreibst du
<?php include "header.php"; ?>

Jetzt machst du ganz normal mit deinem Text weiter.

Zum Schluss beendest du alles noch mit
<?php include "footer.php"; ?>

Speichere die home-Datei umbedingt noch im PHP Format! (Also: home.php)

Das wärs ^^

DanMan
2007-04-25, 20:05:10
Kleiner Fehler. Es muss:

<?php include ('datei'); ?>

heißen. Also mit runden Klammern.

LordZed
2007-04-26, 12:30:35
Ich bin mir grad nicht 100%ig sicher, aber ist das nicht egal?
Kann mich auch irren! Hab hier grad keine Möglichkeiten das zu kontrollieren :tongue:

DanMan
2007-04-26, 13:56:01
Ich bin mir grad nicht 100%ig sicher, aber ist das nicht egal?
Kann mich auch irren! Hab hier grad keine Möglichkeiten das zu kontrollieren :tongue:
Stimmt. Hab gerade mal bei php.net geguckt, und scheinbar isses egal. Kannte es nur mit Klammern.

crystalfunky
2007-04-26, 14:23:26
als erstes gibst du deinem Frame mal ne Bezeichnung durch
name="frame1"

Danach musst du in deiner Navi nur noch richtig linken:
<a href="link.html" target="frame1">



wo schreib ich das denn rein?
soll ich dann nochmal eine neue datei anlegen,
wo ich dann die jeweiligen divs als frame angebe und dann per name=?
bezeichne?

hab allerdings gerade noch ein anderes problem:

ich möchte das grundlayout in einer fixen größe haben.
das heißt, egal was für ein inhalt angezeigt wird,
die größe der eigentlichen website verändert sich NICHT.
Jetzt hab ich meine "über mich" seite, aber die verändert gleich mal die ganze seite in der größe.

kann mir jemand sagen, was ich da schreiben muss?

DanMan
2007-04-26, 15:33:32
Feste Höhe vergeben und overflow auf auto stellen.

crystalfunky
2007-04-26, 16:51:26
ich hab ja ne feste höhe angegeben.
er "überschreibt" diese aber.
Auf overflow reagiert er nicht.

Blade II
2007-04-26, 17:19:21
wo schreib ich das denn rein?

Machen wir es mal so:

Dein rightColumn bekommt nen <iframe> (Apple lässt grüßen ;))

Der könnte dann so aus sehen: <iframe src="home.html" height="500px" width="300px" name="rightColumn" border="0" />

Danach packst du noch in deine Navigationslinks
target="rightColumn"

Sprich: <li><a href=index.html target="rightColumn">&raquo; Home</a></li>

Die Höhe und Breite des iFrames kannste dann auch nach belieben verändern, jedoch solltest du noch das border="0" Attribut beachten, ansonsten hast du einen wirklich unschönen Rahmen.

BTW: Frames und CSS Layout kommt nicht gut :D

DanMan
2007-04-26, 17:45:57
ich hab ja ne feste höhe angegeben.
er "überschreibt" diese aber.
Auf overflow reagiert er nicht.
Lad doch die Seite auf einen Server, damit wir gucken können, woran es liegt.

crystalfunky
2007-04-28, 13:30:23
jetzt hab mich mit firefox plötzlich ein großes problem.
er stellt jetzt die seite komplett anders da,
als ich iexplorer.

http://home.arcor.de/notype2000/n_website

DanMan
2007-04-28, 14:39:01
Beim meta Tag im head hast du die schließenden " vergessen. Was ist charset=ISO-8559-1 eigentlich für ein Zeichensatz? Dann hast du deine Links alle nicht in " gesetzt. Außerdem ist dein Syntax falsch: bei XHTML heißt es <br /> und nicht nur <br>.

Alles Fehler, die einem eine Validierung mitgeteilt hätte.

Damit klappt auch die feste Höhe. K.A. warum das bei dir nicht klappen soll:
#rightColumn {overflow:auto;}

crystalfunky
2007-04-30, 19:23:09
so jetzt hab ich noch ein anderes Problem:

ich habe mehrere Bereiche,
wo ich Bilder zum Anklicken habe.
Also Thumbs und dann halt Originalgröße.

Dies möchte ich folgendermaßen designen:

http://home.arcor.de/notype2000

Wenn ihr da mal auf "Mein Set" klickt und dann auf das 1. Bild wo "Remo Bravo 2" abgebildet ist.
Ich habe nun mehrere Bilder und möchte nicht für jedes Bild eine Datei schreiben müssen.
Ich habe überlegt, ob es mit dem PHP include Befehl geht,
hab aber bisher noch keine Lösung gefunden, zumahl ich auch keinen kostenlosen guten Webspace kenne, der PHP anbietet.

Edit: mir fällt gerade auf, dass Firefox das wieder falsch anzeigt,
habt ihr da ne lösung?
Außerdem geht der Iexplorer bei history.back nicht zu dem Bereich zurück, wo man war, sondern wieder zum Seitenanfang.
Gibt es da auch ne lösung?

DanMan
2007-04-30, 19:44:02
Da du auf mich ja eh nicht zu hören scheinst klinke ich mich hier jetzt aus. Davon abgesehen hab ich keine Ahnung was du meinst. Wenn ich auf das Bild klicke wird die große Version geladen.

DanMan
2007-05-01, 12:41:14
Ich habe nun mehrere Bilder und möchte nicht für jedes Bild eine Datei schreiben müssen.
Ich habe überlegt, ob es mit dem PHP include Befehl geht, hab aber bisher noch keine Lösung gefunden, zumahl ich auch keinen kostenlosen guten Webspace kenne, der PHP anbietet.
Das verstehe ich einfach nicht. Was genau hast du vor?

P.S.: Die meisten Fehler sind ja nun bereinigt. Läufts im IE jetzt besser? Wenn nicht: http://validator.w3.org/

crystalfunky
2007-05-01, 14:37:04
zu den bildern:

wenn du dir bitte das oben genannte bild einmal anschaust.
da siehst du, dass da bild im so genannten rightcolumn ist,
ohne navi ohne banner einfach nur hintergrund und weiße fläche wo das bild reinkommt.
Ich mache das deswegen, damit die bilder nicht stumpf verlinkt werden und dann auf einer weißen fläche angezeigt werden. es soll ja zum design passen.

nun möchte ich aber nicht für jedes bild eine datei entwerden,
wo ich definiere kein banner, keine navi nur hintergrund und rightcolumn.

Gibt es da nicht eine lösung vlt. EINE datei schreiben zu können
und dann die bilder jeweils beim anklicken in dieser datei anzeigen zu lassen?

Mit dem iexplorer gehts immer noch nicht mit der history.back funktion.
er geht immer zum seitenanfang.

Firefox skaliert auch nicht das bild. er schneidet den rightcolumn irgendwie ab.

das validieren konnte mir da auch nich helfen.

DanMan
2007-05-01, 15:36:01
Aaahhh... ok. Ich hab immer auf das aller erste Bild geklickt, und da ging einfach das JPG in einem neuen Fenster auf.

Das geht schon, mit ECMAScript (Stichwort document.write) oder PHP. Wie genau, kann ich dir aber spontan nicht sagen. Das ist ja schon etwas für Fortgeschrittene. Müsste ich mir also selbst erst angucken.

Vom Prinzip her könntest du z.B. folgendes probieren:
Beim Klick auf ein Thumbnail ersetzt du den Inhaltsbereich der Seite mit dem anzuzeigenden Bild und dazugehörigem zurück-Link.
(Wenn dir das zu schwierig ist, dann kannst du auch einfach ein Stylesheet anfügen, in dem du alles überflüssige mit display:none versiehst. Die HTML Seiten musst du dann natürlich trotzdem erstellen.)

Das das Bild in Firefox und Opera nicht skaliert ist klar, wenn du ihm eine Breite von 1024px gibst, der Container aber bloß 940px hat. Eine Möglichkeit wäre dem Bild eine Breite von 100% zu geben.

crystalfunky
2007-05-01, 16:55:36
nein klick mal bitte auf das bild wo "remo bravo 2" steht.

dann siehst du was gemeint ist.

die skalierung hab ich geschafft.

Die document.write funktion kenn ich auch,
hab aber nicht so großen plan wie die funktioniert.

außerdem ist immer noch das problem mit der history.back funktion im iexpl ungelöst.
ich hab keine ahnung was ich da schreiben muss.

DanMan
2007-05-01, 17:38:36
nein klick mal bitte auf das bild wo "remo bravo 2" steht. dann siehst du was gemeint ist.

die skalierung hab ich geschafft.

Die document.write funktion kenn ich auch,
hab aber nicht so großen plan wie die funktioniert.

außerdem ist immer noch das problem mit der history.back funktion im iexpl ungelöst.
ich hab keine ahnung was ich da schreiben muss.
Wie gesagt - ich habs jetzt begriffen, kann aber auch quasi kein Javascript. Von daher kann ich dir leider nicht weiterhelfen. Mit PHP fällt mir keine (einfache) Lösung ein.

Das javascript:history.back() ist schon richtig so. Liegt dann wohl am IE, wenn es nicht funktioniert. Hast du Javascript an?

Weil wir gerade dabei sind: Links aus Javascript Funktionen sind immer eine schlechte Idee, weil sie bei jemandem mit deaktiviertem JS natürlich gar nicht funktionieren.

crystalfunky
2007-05-01, 18:38:17
Weil wir gerade dabei sind: Links aus Javascript Funktionen sind immer eine schlechte Idee, weil sie bei jemandem mit deaktiviertem JS natürlich gar nicht funktionieren.

hast du da vlt. ne andere idee?

DanMan
2007-05-01, 19:05:23
hast du da vlt. ne andere idee?
Naja, nicht wirklich. Braucht man auch eigentlich auch nicht, weil jeder Browser ja nen zurück-Button hat. Daher kanns aber auch nicht schaden.

Du könntest dir zwar einen Link zusammenbasteln, indem du mit Hilfe von PHP den Referer abfragst. Aber verlassen kann man sich darauf fast noch weniger als auf aktiviertes Javascript.

edit:
Also so denke ich:

<a href="<? print $_SERVER['HTTP_REFERER']; ?>">zur&uuml;ck</a>


War ja nur ein Hinweis meinerseits.

crystalfunky
2007-05-01, 22:45:14
also die history.back funktion klappt ja,
das prob ist, dass er immer wieder zum seitenanfang der website geht
und nich da hin wo man das bild angeklickt hat.

DanMan
2007-05-01, 23:40:00
also die history.back funktion klappt ja,
das prob ist, dass er immer wieder zum seitenanfang der website geht
und nich da hin wo man das bild angeklickt hat.
Normal. Dazu müsste ja jedes Bild einen Anker haben, auf den du von der Großansicht springen kannst. Das dürfte dynamisch nicht zu machen sein.

crystalfunky
2007-05-02, 19:16:57
und warum macht es firefox dann?
muss ich für iexp vlt. etwas dazu schreiben?

DanMan
2007-05-02, 19:24:34
und warum macht es firefox dann?
muss ich für iexp vlt. etwas dazu schreiben?
Ach das meinst du.... Das ist ein Feature vom Firefox, das mit dem HTML und CSS Code nix zu tun hat.