Jugend mosht
Aktuelles
Startseite
TP Wettbewerbe
Sitemap
Service
Hilfe-Forum
Kolumnen
Linktipps
Buchrezensionen
Traum-Team
Newsletter
Traumquelle
Dreamweaver
Fireworks
Photoshop
Flash
Traum-Start
gimp
GoLive
php / Apache
Sonstige
Grundlagen
Usability
CSS
Apple / Mac
3D
Intern
TP-Sponsor
TP SHOP
Bild Galerie
TP Wallpapers
Forum-Archiv
Link zu uns
Impressum
Zurück  
TP Portal > Dreamweaver > Ebenenmenü (Popup) Teil II

Dreamweaver und Ebenenmenü (Popup) - Teil II

Die Fähigkeit von Dreamweaver Ebenen (Layer) ein/auszublenden kann für Navigations-Menüs genutzt werden (ähnlich der Popup-Funktion in Fireworks). Damit das ganze auch ladefreundlich geschieht, wird diese in diesem Tutorial erzeugte Formatierung der einzelnen Navigationselemente in ein externes Stylesheet ausgelagert, dass spart viel Quelltext.

Styleformatierung:

Wer das nicht will überspringt einfach diesen Abschnitt und macht mit den Verhalten weiter. Aber ich denke mitmachen ist nicht verkehrt.

Um den Durchblick zu behalten, sollten die einzelnen Ebenen mit eindeutigen Namen versehen werden. Nahe liegt hier die Ebene die bei Mouseover über Home eingeblendet wird auch Home zu nennen usw. Namen werden im Eigenschaftenfenster der markierten Ebene eingetragen. Für die Navigationsebene ruhig dasselbe tun. Für die spätere Stylesheetdatei sind eindeutige Namen von Vorteil. tooltipp

Ein kleines Phänomen ist mir beim schreiben des Tuts aufgefallen:

Der Name für die zweite Ebene die bei Mouseover über Links eingeblendet werden soll, hatte bei mir den Namen Links (sieht man auch an den Bildern unten). Nach dem ich die Verhalten zum Einblenden vergeben hatte wurde diese Ebene aus unerklärlichen Gründen nicht eingeblendet. Es lag am Namen! Hab sie einfach umbenannt in hyperlink und es klappte. Sollte eigentlich nicht die Regel sein, da Namen frei wählbar sind, aber wie es eben manchmal so ist mit unerklärlichem.

Jetzt gehts an den Quellcode. Die Postionierungs und Größenangaben werden in eine externe Stylesheet ausgelagert. Wer mit Stylesheets klarkommt wird es wahrscheinlich anders machen oder Dreamweaver dazu nutzen, aber ich will hier nicht allzuviel schreiben und nicht noch auf Stylesheets mit Dreamweaver erzeugen eingehen. Daher einfach mal so machen wie ichs hier vorstelle.

Das einfachste Programm zur Erstellung einer Stylesheetdatei ist z.B. der Windowseditor Notepad oder jeder andere Texteditor, diesen jetzt einfach mal starten.

Im Texteditor nun gleich auf Speichern unter klicken. Bei Dateityp Alle Dateien(*.*) auswählen und die Datei mit einem Namen und der Dateiendung "css" in einem Ordner der Site speichern, also extern.css im Beispiel. Das css kennzeichnet die Datei als eine Stylesheetdatei.

Nun in Dreamweaver alle Ebenen außer die Hauptnavigation mit Hilfe des Ebenenfenster wie im folgenden Bild ausblenden (hidden). Einmal vor die jeweilige Ebene unterhalb vom Auge klicken und es sollte ein "geschlossenes Auge" erscheinen.tooltipptooltipp

Jetzt auf der Leinwand alle Ebenen zusammen markieren. Dies erreicht man wenn wie im Bild alle Ankerpunkte für die Ebenen mit Hilfe gedrückter Shifttaste markiert werden. Es kann passieren, dass die Ebenen wieder kurzzeitig eingeblendet werden, dadurch nicht verrückt machen lassen, ist nicht von Bedeutung.tooltipp

Wer diese Ankerpunkte nicht hat geht auf Ansicht-->Visuelle Hilfsmittel-->Unsichtbare Elemente und setzt dort ein Häkchen. Sind sie immer noch nicht da ist wahrscheinlich in den Voreinstellungen kein Häkchen bei Unsichtbare Elemente. Man muß dann diese über Bearbeiten-->Voreinstellungen aktivieren, ein Neustart von DW in der 4 Version ist dabei nicht nötig.

Sind nun alle markiert einfach Bearbeiten-->HTML kopieren klicken und der ganze Ebenencode ist in der Zwischenablage. Jetzt in Notepad den ganzen Spaß in die extern.css einfügen.

So siehts in der extern.css jetzt aus:

Eine Ebene besteht aus dem Anfangs <div id=..... und dem </div> diese sollten Zwecks Übersicht erstmal wie oben ersichtlich durch genügend Leerzeilen getrennt werden.

Jetzt ist alles ganz einfach wenn man es mehrmals gemacht hat, der absolute Neuling in Sachen Stylesheet wird wohl erstmal "dumm" in den Quellcode sehen.

Der überflüssige Code muß nun gelöscht werden! Warum das eine oder andere stehen muß oder auch nicht, laß ich an dieser Stelle mal weg. Stylesheet allgemein und die Codierung/Schreibweise und vieles mehr erfährt man auf den Gelben Seiten von Dr.Web.

Ich zeig jetzt nur wie es fertig aussehen muß/kann. Wenn alle Stränge reißen, einfach hier rauskopieren und in die extern.css einfügen oder eben selbst anpassen. Ist ein bisschen mehr dabei aber das macht nichts. Am Ende gibts die Originaldateien, ne kleine Beschreibung der Style-Befehle sowie das Tut zum Download, dann kann man sich lokal alles in Ruhe ansehen und experimentieren.

Code der extern.css

CSS
  1. A:link { color : #FFFFFF; text-decoration: none;}
  2. A:visited {color : #FFFFFF; text-decoration: none;}
  3. A:hover {color: #FFFFFF; text-decoration: underline;}
  4.  
  5. #navigation { font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold; position:absolute; left:50px; top:50px; width:300px; height:15px; z-index:1; background-color: #006699; layer-background-color: #006699; border:1px none #000000; padding-left:5px; padding-top:2px; padding-right:5px; padding-bottom: 2px;}
  6.  
  7. #home { font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold; position:absolute; left: 50px; top: 70px; width:150px; height:150px; z-index:1; background-color: #006699; layer-background-color: #006699; border: 1px none #000000; visibility: hidden; padding-left: 5px; padding-top: 5px; padding-right:5px; padding-bottom: 5px;}
  8.  
  9. #hyperlink { font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold; position:absolute; left: 93px; top:70px; width:150px; height:150px; z-index:1; background-color: #006699; layer-background-color: #006699; border: 1px none #000000; visibility: hidden; padding-left: 5px; padding-top: 5px; padding-right:5px; padding-bottom: 5px;}
  10.  
  11. #kontakt { font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold; position:absolute; left: 135px; top: 70px; width:150px; height:150px; z-index:1; background-color: #006699; layer-background-color: #006699; border: 1px none #000000; visibility: hidden; padding-left: 5px; padding-top: 5px; padding-right:5px; padding-bottom: 5px;}

Stehts so in der CSS-Datei dann diese speichern und noch etwas im Quelltext von DW wie folgt machen.

Quelltext bearbeiten:

Als erstes muß die extern.css in den Head-Bereich der Html eingebunden werden damit die Formatierungen überhaupt funktionieren.

Entweder folgendes per Hand reinkopieren und gegebenenfalls den Pfad anpassen oder in Dreamweaver über Menü: Text-->CSS Stile-->Stylesheet anfügen und dann die entsprechende CSS-Datei auswählen.

<link rel="stylesheet" href="extern.css" type="text/css">

Nun zu den Ebenen (Layer)

Die Layer im Quelltext haben noch den alten Code, so sieht es in etwa aus:

<div id="Layer1" style="position:absolute; left:223px; top:362px; width:176px; height:103px; z-index:2">Blah, Blah, Blah</div>. Das muss noch geändert werden!

Und so sollte es stehen:

<div id="Layer1"> Blah, Blah, Blah </div>

Für Layer1 muss natürlich der entsprechende Name der Ebene stehen den diese bekommen hat. Für unser Beispiel also z.B. home für die Ebene die bei Mouseover über den Home-Link eingeblendet wird. Dies ist für alle anderen Ebenen genauso zu machen.

Nun noch zu den Verhaltensweisen, damit die Ebenen auch ein bzw. ausgeblendet werden. tooltipp

Den Link markieren und über das Verhaltensfenster (Fenster-->Verhalten) das Verhalten Ebenen ein-/ausblenden hinzufügen. Es öffnet sich folgendes Fenster in dem alle Ebenen die sich auf der Leinwand befinden zu sehen sind. tooltipp

Das ist jetzt mit allen Hauptlinks zu machen. Nicht vergessen wenn die Ebene z.B. für Links eingeblendet wird, dort das Verhalten für das Ausblenden der restlichen Ebenen gleich einzustellen, sonst bleiben einmal eingeblendete Ebenen stehen. Ist man mit allen restlichen Links fertig und wählt einen Link aus steht nun wahrscheinlich folgendes im Verhaltenfenster. tooltipp

Einfach auf den Abwärtspfeil klicken und man kann onMouseOver auswählen. Nun werden die Ebenen schon beim Überfahren mit der Maus angezeigt und nicht erst bei Klick. Im selben Menü gibt es noch ein Ereignis zeigen für:

Dort kann man bestimmen welche Ereignisse überhaupt in diesem Fenster bei entsprechender Browsergeneration angezeigt werden. Wählt man Browser ab 3.0 könnten ein paar Verhalten fehlen. Das sind dann diese, die normalerweise nicht von der entsprechenden Browsergeneration unterstützt werden.tooltipp

So das wars dann. Hier alle Files um das ganze nocheinmal lokal auf dem Rechner nachzuvollziehen.

Ein Schlußwort:

Die ganze Geschichte der Formatierung in ein externes Stylesheet auszulagern muß nicht sein. Der Code kann auch im Quelltext jeder einzelnen Seite stehen. Der Vorteil dieser Methode ist, dass beim Aufruf der Seite(n) die externe Stylesheetdatei in den Cache des Browsers geladen wird. Dies muß dann nur einmal erfolgen.

Noch ein Vorteil: Will man eine Schriftfarbe/größe, Ebenenposition usw. ändern braucht man dies nur in der Stylesheetdatei zu tun und muß nicht die eigentliche HTML bearbeiten. Bei einer Änderung braucht dann nur die geänderte CSS-Datei neu uploaden, also eine feine Sache.

Nachteil: Nicht alle Browser unterstützen alle Styleformatierungen, gerade die alten Exoten sind da mächtige Spielverderber. Man kann mit einigen Tricks in manchen Fällen was dagegen tun, aber das braucht sehr viel Geduld und Nerven.

 

Autor: (ar)

Abbildungen

Abbildung 1 - Name für die Ebenen vergeben

Abbildung 1 - Name für die Ebenen vergeben

Abbildung 2 - Ebenen sind ausgeblendet

Abbildung 2 - Ebenen sind ausgeblendet

Abbildung 3 - Alle Ankerpunkte markieren

Abbildung 3 - Alle Ankerpunkte markieren

Abbildung 4 - Wirrwar ohne Ende aber halb so schlimm

Abbildung 4 - Wirrwar ohne Ende aber halb so schlimm

Abbildung 5 - Verhalten einem Link zuweisen

Abbildung 5 - Verhalten einem Link zuweisen

Abbildung 6 - Ebenen ein bzw. ausblenden

Abbildung 6 - Ebenen ein bzw. ausblenden

Abbildung 7 - von onClick zu onMouseOver

Abbildung 7 - von onClick zu onMouseOver

Abbildung 8 - Verhalten für entsprechende Browsergenerationen einstellen

Abbildung 8 - Verhalten für entsprechende Browsergenerationen einstellen

Buchrezension

Coverimage
AJAX Hacks
Dynamische Webseiten mit AJAX programmieren - dieses Handbuch bietet einen praktischen Einblick.
[mehr]
Gimahhot - Shopping
TP-Partner
Sprachreise London
Webmasterpro
Computerhilfen
Computerhilfen
Eventagentur Hamburg
it-rechtsinfo.de
Designguide
Getreidemühlen
sk-typo3
Kochkurs Berlin
Maandiko.de
d. Webdesigner
PSD Tutorials
Medizin
Handy Forum

Hier könnte Ihre Werbung stehen

 >> INFO << 

\ Startseite | Forum | Impressum | nach oben | Seite zurück /