Uwe H. Dischner: CSS Navigation in einen HTML Frame einbinden

CSS Navigation in einen HTML Frame einbinden

Liebe Entwickler und hilfreiche Mitmenschen...,

seid gegrüßt!

Mein Projekt [http://bildung.freepage.de/u._h./ oder auf http://mitglied.lycos.de/dklwesen/ einsehbar]
soll von HTML Navigation auf CSS Navigation weiterentwickelt werden. Die CSS Navigation ist bereits
entwickelt, kann jedoch baw. noch nicht eingesetzt werden...

Zum Fehler:

Zwar zeigen alle Browser korrekt den dreiteiligen Frame mit der entspechenden CSS Navigationsleiste an,
jedoch wird bei einem verweisen auf die entsprechenden Seiten, sprich den Link anwählen, die jeweils
aufgerufene Seiten außerhalb des Frame dargestellt!!

Wer kennt die Lösung...?

Uwe H. Dischner

.................................................................................

Quelltext Ausschnitt zum einfachen Frame...

.................................................................................

<html>

<head>

<title>Frame</title>

</head>

<link rel="stylesheet" type="text/css" href="Inhalt und Navigation.css">

<frameset cols="30,70" frameborder="no" border=0">

<frame src="Inhalt und Navigation.html">

<frameset  rows="30,70" frameborder="no" border=0">

<frame src="Titel.html">

<frame name="Inhalt" src="Vorwort.html">

</frameset></frameset>

<!-- Kommentar: Die oben doppelt stehende Anweisung den  Frame zu beenden ist für Netscape 4.7... -->

<noframes>

Ihr Browser unterstützt keine Frames ! </font>

</noframes>

<body text="#FFFFFF" bgcolor="#3366FF" link="#FFFF00" vlink="#00CC00" alink="#FFFF00">

<font face="Arial,Helvetica"><font color="#FFFFFF">

<font size=-1>

</body>

</html>

...................................................................................................

und Quelltext Ausschnitt zur CSS Navigation...

...................................................................................................

<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">

<html>

<head>

<!-- Kommentar: hier beginnt der Kopfeintrag des CSS Button -->

<style type="text/css"><!--
.cssButton{
margin-left: 0px;
padding-left: 0px;
text-align: left;
border-left: #C0C0C0 0px outset;
border-right: #C0C0C0 0px inset;
border-top: #C0C0C0 0px outset;
border-bottom: #C0C0C0 0px inset;
font-family: Courier New, Courier, mono;
font-weight:normal;
font-size: 7pt;
color: #ffffff;
background-color: #3366ff;
}
-->
</style>

</head>

<!-- Kommentar: hier beginnen die CSS Button Befehle für das Kapitel Disziplinen -->

<input type="submit" name="Button" value="I Disziplinen " class="cssButton"
onclick="parent.location= ('Disziplinen.html')">

<!-- Kommentar: hier enden die CSS Button Befehle für das Kapitel Disziplinen -->

</body>

</html>

  1. Hi,

    Mein Projekt [http://bildung.freepage.de/u._h./ oder auf http://mitglied.lycos.de/dklwesen/ einsehbar]

    </faq/#Q-19>

    soll von HTML Navigation auf CSS Navigation weiterentwickelt werden.

    Was um alles in der Welt ist eine "CSS Navigation"?

    jedoch wird bei einem verweisen auf die entsprechenden Seiten, sprich den Link anwählen, die jeweils
    aufgerufene Seiten außerhalb des Frame dargestellt!!

    Und wo wäre diese Außerhalb?

    <html>

    DOCTYPE fehlt.

    </head>
    <link rel="stylesheet" type="text/css" href="Inhalt und Navigation.css">

    Reihenfolge ist falsch, URI ist ungültig.

    <frameset cols="30,70" frameborder="no" border=0">

    Hussa. Auch wenn man mit solchen Äußerungen vorsichtig sein muss, behaupte ich, dass die meisten Browserfenster mit mehr als 100 Pixeln Breite geöffnet werden.

    </frameset></frameset>
    <!-- Kommentar: Die oben doppelt stehende Anweisung den  Frame zu beenden ist für Netscape 4.7... -->

    Äh? Es werden zwei Frame_sets_ beendet, die Du auch geöffnet hast. Die Aussage "ich mache es richtig, weil mindestens ein Browser den Fehler nicht verzeihen würde" halte ich für relativ sinnfrei.

    <noframes>

    Falsch geschachtelt.

    Ihr Browser unterstützt keine Frames ! </font>

    Sinnfreier Inhalt, defektes HTML, falsche Punktuation, hyperliquides Nonbreakingspace.

    </noframes>
    <body text="#FFFFFF" bgcolor="#3366FF" link="#FFFF00" vlink="#00CC00" alink="#FFFF00">

    Wieder falsche Schachtelung.

    <font face="Arial,Helvetica"><font color="#FFFFFF">
    <font size=-1>

    Deprecated, defektes HTML, überflüssige Mehrfachverwendung, sinnarme Schriftartenwahl,

    </body>

    und zudem nicht mal benutzt. Und nicht geschlossen.

    <!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">

    Ungültiger DOCTYPE.

    font-family: Courier New, Courier, mono;

    Auch hier wieder sinnarme Schriftartenwahl.

    font-size: 7pt;

    Darüber habe ich keinen Bock mehr, etwas zu erzählen. Siehe Archiv.

    </head>

    <title> fehlt.

    <input type="submit" name="Button" value="I Disziplinen " class="cssButton"
    onclick="parent.location= ('Disziplinen.html')">

    Abhängigkeit von JavaScript, dazu auch noch defekt.

    Magst Du Dich nicht noch mal mit den Grundlagen beschäftigen? Im Zuge dessen kannst Du dann evtl. auch gleich Deine Frames eliminieren.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo Uwe,

      hier spricht der automatische Cheatah-Erklärungsroboter.

      Mein Projekt [http://bildung.freepage.de/u._h./ oder auf http://mitglied.lycos.de/dklwesen/ einsehbar]

      </faq/#Q-19>

      Cheatah möchte dir damit sagen, dass du mit der Schreibweise < Adresse> erreichen kannst, dass eine Adresse in deinem Posting ein Verweis wird, sodass er einfacher von anderen Forumsteilnehmern gefolgt werden kann.

      <html>

      DOCTYPE fehlt.

      Cheatah will dir damit sagen, dass deinem Dokument eine Dokumenttyp-Angabe fehlt. Was das ist, kannst du unter http://selfhtml.teamone.de/html/allgemein/grundgeruest.htm#dokumenttyp nachlesen. Passend für dein Frameset wäre <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">.

      </head>
      <link rel="stylesheet" type="text/css" href="Inhalt und Navigation.css">

      Reihenfolge ist falsch, URI ist ungültig.

      Cheatah will dir damit sagen, dass das Element link in das Element head gehört, also ein Bestandteil des Dokumentkopfes ist. Außerdem möchte er dir damit sagen, dass du auf Leerzeichen in der Adresse des Stylesheets verzichten solltest (bzw. sie maskieren solltest), also auf Leerzeichen in den Dateinamen. Du könntest die Datei also stattdessen etwa inhalt_und_navigation.css nennen oder entsprechend sinnfälliger.

      <frameset cols="30,70" frameborder="no" border=0">

      Hussa. Auch wenn man mit solchen Äußerungen vorsichtig sein muss, behaupte ich, dass die meisten Browserfenster mit mehr als 100 Pixeln Breite geöffnet werden.

      Cheatah will dir damit sagen, dass der Wert des Attributs cols (und auch rows des anderen frameset-Elements) wahrscheinlich nicht deine Absicht widerspiegelt. Die angegebenen Breiten für die in Spalten angeordneten Frames haben keine Einheit, daher werden sie als Pixelwerte verstanden. Das hieße, dass der linke Frame 39 Pixel breit ist und der rechte 70 Pixel. Vermutlich suchst du Prozentwerte, also 30% der zur Verfügung stehenden Breite für den linken Frame und 70% für den rechten. Dann müsste das Attribut cols="30%,70%" lauten (bzw. rows="30%,70%").

      <noframes>

      Falsch geschachtelt.

      Cheatah will dir damit sagen, dass das Element noframes im Frameset letztes Kindelement des obersten frameset-Elements sein sollte:

      <frameset ...>
         <frame ...>
         <!-- ...weitere frameset- und frame-Elemente... -->
         <noframes>
            Alternativinhalt
         </noframes>
      </frameset>

      Ihr Browser unterstützt keine Frames ! </font>

      Sinnfreier Inhalt, defektes HTML, falsche Punktuation, hyperliquides Nonbreakingspace.

      </noframes>
      <body text="#FFFFFF" bgcolor="#3366FF" link="#FFFF00" vlink="#00CC00" alink="#FFFF00">

      Wieder falsche Schachtelung.

      Cheatah will dir damit sagen, dass das body-Element im Element noframes untergebracht werden sollte, also <noframes><body>Alternativinhalt</body></noframes>. Ferner sollte der Alternativinhalt möglichst eine Einleitung/Zusammenfassung deiner Site sowie Links auf die Inhalte deiner Sites bzw. Links zur Navigation und anderen zentralen Navigationsmöglichkeiten bieten.

      <font face="Arial,Helvetica"><font color="#FFFFFF">
      <font size=-1>

      Deprecated, defektes HTML, überflüssige Mehrfachverwendung, sinnarme Schriftartenwahl,

      Cheatah will dir damit sagen, dass dieser Code an dieser Stelle keinen Zweck erfüllt und entfernt werden kann. Außerdem will er dir damit sagen, dass im Falle des Falles nur ein font-Element nötig wäre und der Attributwert -1 in "" gesetzt werden muss (<font face="Arial,Helvetica" color="#FFFFFF" size="-1">). Darüber hinaus wollte er dir sagen, dass die Angabe einer generischen Schriftfamilie am Ende der genannten Schriftarten ratsam wäre, also in diesem Falle sans-serif. Zudem wollte er dir sagen, dass du solche Textformatierungen sowieso einfacher über Stylesheets vornehmen kannst.

      <!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">

      Ungültiger DOCTYPE.

      Cheatah will dir damit sagen, dass Groß-/Kleinschreibung des Public Identifiers der Dokumenttyp-Angabe wichtig ist, du suchst also <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">.

      font-family: Courier New, Courier, mono;

      Auch hier wieder sinnarme Schriftartenwahl.

      Hier möchte dich Cheatah wieder auf generische Schriftfamilien hinweisen, siehe http://selfhtml.teamone.de/css/eigenschaften/schrift.htm#font_family: Du suchst »monospace«.

      font-size: 7pt;

      Darüber habe ich keinen Bock mehr, etwas zu erzählen. Siehe Archiv.

      Cheatah will dir damit sagen, dass du im Forumsarchiv (durchsuchbar über http://selfsuche.teamone.de/) mit den geeigneten Suchbegriffen erfährst, warum die Einheit pt für Schriftgrößenangaben im WWW nicht angemessen ist sowie warum dermaßen kleine Schriften deine Besucher quälen werden.

      </head>

      <title> fehlt.

      Was Cheatah damit sagen will, dass jedes Dokument ein title-Element enthalten sollte.

      <input type="submit" name="Button" value="I Disziplinen " class="cssButton"
      onclick="parent.location= ('Disziplinen.html')">

      Abhängigkeit von JavaScript, dazu auch noch defekt.

      Cheatah will dir damit sagen, dass du, wenn du es so lösen möchtest, darauf achten solltest, dass deine Navigation auch funktioniert, wenn JavaScript abgeschaltet/nicht verfügbar ist. Selbst wenn du deine »Links« folgendermaßen löst (mit entsprechender CSS-Formatierung):

      <form action="disziplinen.html" method="get" target="inhalt">
      <p><input type="submit" value="I Disziplinen"></p>
      </form>

      ...dann würden Suchmaschinen ihnen nicht folgen. Daher solltest du weiterhin konventionelle a-Elemente verwenden und eine Umformatierung über CSS vornehmen, wie jetzt schon nur etwa zusätzlich mit display:block.

      Es grüßt
      der automatische Cheatah-Erklärungsroboter

  2. hi,

    jedoch wird bei einem verweisen auf die entsprechenden Seiten, sprich den Link anwählen, die jeweils
    aufgerufene Seiten außerhalb des Frame dargestellt!!

    <input type="submit" name="Button" value="I Disziplinen " class="cssButton"
    onclick="parent.location= ('Disziplinen.html')">

    du möchtest dich darüber informieren, was "parent" an dieser stelle eigentlich zu bedeuten hat.

    des weiteren möchtest du in zukunft darauf verzichten, javascript einzusetzen, von dessen funktion du keinen blassen dunst hast.

    gruss,
    wahsaga