Hilfe - Suche - Mitglieder - Kalender
Vollansicht: DropDown Menu
Forum Sefrengo.org > Allgemeine Foren > Anwenderforum
webmasterFF
Hallo Leute,

ich habe eine Frage: ich möchte eine Drop-Down Navigation auf eine meiner neuen Websites einbauen. Es gibt ja zwar das DoiMenu, dieses ist ja aber "leider" Java basiert. Nun habe ich gelesen, dass ganz viele Onlinenutzer kein Java benutzen - dann stünde die Website aber ganz schön blöde da ...

Kann mir jemand sagen, wie ich am "einfachsten" eine horizontale DropDown Navigation realisieren kann? So schlau wie das DoiMenu wird sicher nicht gehn ... also dass sich das Menü seine Inhalte aus der Ordnerstruktur des Sefrengo holt. ABER, ein wenig Handarbeit schadet ja auch bestimmt nicht.

Hat jemand eventl. eine Lösung für mich?
webmasterFF
Als Beispiel: http://de-de.can-amatv.brp.com/home.aspx

Was ist das für eine Navigation?
pawel
Es hat ja nicht alles einen Namen. So eine einfache Navigation ist in Eric Meyers CSS Büchern besprochen. Bau dir eine verschachtelte Liste und pass die Sichtbarkeit mit CSS an.
Vereinfacht gesprochen bekommt li ul{display:none] und bei li:hover ul{display:block}
Dazu taugt die Listennavigation und die Werte sind dann dynamisch.
webmasterFF
Hab jetzt was ccs-basiertes gefunden ... Geht so wie du beschrieben hast: Boxen die über css den Look erhalten.

Leider hat die Sache den Nachteil, dass man die Links händisch eintragen muss sad.gif
Eventl. baut daraus ja mal jemand ein Modul cool.gif
Ich kann es nicht dry.gif


Aber mal grundsätzlich: Sollte man Java wirklich so "ausblenden" beim Neuentwurf einer Site? Oder ist das eher "Käse" dass keiner JS nutzt und dieses ausblendet?
pawel
Wenn du JavaSCRIPT einsetzt sollte eine Navigation auch ohne funktionieren.
Wieso sollte man die Links händisch eintragen? Schau dir doch einfach mal die Listennavigation an. Die Schachtelung hängt doch mit deiner Seiten- und Unteriordnerstruktur zusammen. Die muss natürlich da sein.
webmasterFF
Sorry Pawel,

ich "verstehe" was du mir sagen möchtest, allerdings steige ich da nicht so recht durch ehrlich gesagt ... Wie ich das napssen müsste ohne die Links händisch einzutragen ... oder gar ein Modul draus bauen könnte.

Diese Dinge verwende ich als Navigation:

Die CSS Anweisung:

QUELLTEXT
<style type="text/css">
#info {height:500px;}

/* style the outer div to give it width */
.menu {
width:750px;
font-size:0.85em;
padding-bottom:200px;
}
/* remove all the bullets, borders and padding from the default list styling */
.menu ul {
padding:0;
margin:0;
list-style-type:none;
}
.menu ul ul {
width:150px;
}
/* float the list to make it horizontal and a relative positon so that you can control the dropdown menu positon */
.menu li {
float:left;
width:150px;
position:relative;
}
/* style the links for the top level */
.menu a, .menu a:visited {
display:block;
font-size:11px;
text-decoration:none;
color:#fff;
width:139px;
height:30px;
border:0px solid #fff;
border-width:0px 0px 0 0;
background:;
padding-left:0px;
line-height:29px;
}
/* a hack so that IE5.5 faulty box model is corrected */
* html .menu a, * html .menu a:visited {
width:150px;
w\idth:139px;
}

/* style the second level background */
.menu ul ul a.drop, .menu ul ul a.drop:visited {
background:#949e7c;
}
/* style the second level hover */
.menu ul ul a.drop:hover{
background:#c9ba65;
}
.menu ul ul :hover > a.drop {
background:#c9ba65;
}
/* style the third level background */
.menu ul ul ul a, .menu ul ul ul a:visited {
background:#e2dfa8;
}
/* style the third level hover */
.menu ul ul ul a:hover {
background:#b2ab9b;
}
.menu ul ul ul :hover > a {
background:#b2ab9b;
}

/* hide the sub levels and give them a positon absolute so that they take up no room */
.menu ul ul {
visibility:hidden;
position:absolute;
height:0;
top:31px;
left:0;
width:150px;
}
/* another hack for IE5.5 */
* html .menu ul ul {
top:30px;
t\op:31px;
}

/* position the third level flyout menu */
.menu ul ul ul{
left:150px;
top:0;
width:150px;
}
/* position the third level flyout menu for a left flyout */
.menu ul ul ul.left {
left:-150px;
}

/* style the table so that it takes no part in the layout - required for IE to work */
.menu table {position:absolute; top:0; left:0;}

/* style the second level links */
.menu ul ul a, .menu ul ul a:visited {
background:#d4d8bd;
color:#000;
height:auto;
line-height:1em;
padding:5px 10px;
width:129px
/* yet another hack for IE5.5 */
}
* html .menu ul ul a{
width:150px;
w\idth:129px;
}


/* style the top level hover */
.menu a:hover, .menu ul ul a:hover{
color:#fff;
background:#949e7c;
}
.menu :hover > a, .menu ul ul :hover > a {
color:#fff;
background:#949e7c;
}

/* make the second level visible when hover on first level list OR link */
.menu ul li:hover ul,
.menu ul a:hover ul{
visibility:visible;
}
/* keep the third level hidden when you hover on first level list OR link */
.menu ul :hover ul ul{
visibility:hidden;
}
/* keep the fourth level hidden when you hover on second level list OR link */
.menu ul :hover ul :hover ul ul{
visibility:hidden;
}
/* make the third level visible when you hover over second level list OR link */
.menu ul :hover ul :hover ul{
visibility:visible;
}
/* make the fourth level visible when you hover over third level list OR link */
.menu ul :hover ul :hover ul :hover ul {
visibility:visible;
}



</style>


Die Style css ist jetzt noch nicht auf meine spätere Seite angepasst - aber das ist ja ersteinmal egal ...

Dann kommt als eigentliche Navigation folgendes DIV in den Quelltext hinzu:

QUELLTEXT
><div class="menu">
            <ul>
                <li><p align="left"><a href="../menu/index.html">DEMOS<!--[if IE 7]><!--></a><!--<![endif]-->
                <!--[if lte IE 6]>
                <table>
                    <tr>
                        <td><![endif]-->
                        <ul>
                            <li>
                            <p align="left"><a href="../menu/zero_dollars.html" title="The zero dollar ads page">
                            zero dollars advertising page</a></li>
                            <li>
                            <a href="../menu/embed.html" title="Wrapping text around images">
                            wrapping text around images</a></li>
                            <li>
                            <a href="../menu/form.html" title="Styling forms">
                            styled form</a></li>
                            <li>
                            <a href="../menu/nodots.html" title="Removing active/focus borders">
                            active focus</a></li>
                            <li>
                            <a class="drop" href="../menu/hover_click.html" title="Hover/click with no active/focus borders">
                            hover/click with no borders<!--></a><!--<![endif]-->
                            <!--[if lte IE 6]>
                            <table>
                                <tr>
                                    <td><![endif]-->
                                    <ul>
                                        <li>
                                        <a href="../menu/form.html" title="Styling forms">
                                        styled form</a></li>
                                        <li>
                                        <a href="../menu/nodots.html" title="Removing active/focus borders">
                                        removing active/focus borders</a></li>
                                        <li><a href="#nogo">FLYOUT third level »<!--></a><!--<![endif]-->
                                        <!--[if lte IE 6]>
                                        <table>
                                            <tr>
                                                <td><![endif]-->
                                                <ul>
                                                    <li><a href="#nogo">Third
                                                    level-1</a></li>
                                                    <li><a href="#nogo">Third
                                                    level-2</a></li>
                                                    <li><a href="#nogo">Third
                                                    level-3</a></li>
                                                    <li><a href="#nogo">Third
                                                    level-4</a></li>
                                                </ul><!--[if lte IE 6]></td>
                                            </tr>
                                        </table></a><![endif]--></li>
                                        <li>
                                        <a href="../menu/hover_click.html" title="Hover/click with no active/focus borders">
                                        hover/click</a></li>
                                    </ul><!--[if lte IE 6]></td>
                                </tr>
                            </table></a><![endif]--></li>
                            <li class="upone">
                            <a href="../menu/shadow_boxing.html" title="Multi-position drop shadow">
                            shadow boxing</a></li>
                            <li>
                            <a href="../menu/old_master.html" title="Image Map for detailed information">
                            image map for detailed information</a></li>
                            <li>
                            <a href="../menu/bodies.html" title="fun with background images">
                            fun with background images</a></li>
                            <li>
                            <a href="../menu/fade_scroll.html" title="fade-out scrolling">
                            fade scrolling</a></li>
                            <li>
                            <a href="../menu/em_images.html" title="em size images compared">
                            em image sizes compared</a></li>
                        </ul><!--[if lte IE 6]></td>
                    </tr>
                </table></a><![endif]--></li>
                <li><a href="../boxes/index.html">BOXES<!--></a><!--<![endif]-->
                <!--[if lte IE 6]>
                <table>
                    <tr>
                        <td><![endif]-->
                        <ul>
                            <li>
                            <a href="spies.html" title="a coded list of spies">a
                            coded list of spies</a></li>
                            <li>
                            <a href="vertical.html" title="a horizontal vertical menu">
                            vertical menu</a></li>
                            <li>
                            <a href="expand.html" title="an enlarging unordered list">
                            enlarging unordered list</a></li>
                            <li>
                            <a href="enlarge.html" title="an unordered list with link images">
                            link images</a></li>
                            <li>
                            <a href="cross.html" title="non-rectangular links">
                            non-rectangular</a></li>
                            <li>
                            <a href="jigsaw.html" title="jigsaw links">
                            jigsaw links</a></li>
                            <li>
                            <a href="circles.html" title="circular links">
                            circular links</a></li>
                        </ul><!--[if lte IE 6]></td>
                    </tr>
                </table></a><![endif]--></li>
                <li><a href="../mozilla/index.html">MOZILLA<!--></a><!--<![endif]-->
                <!--[if lte IE 6]>
                <table>
                    <tr>
                        <td><![endif]-->
                        <ul>
                            <li>
                            <a href="../mozilla/dropdown.html" title="A drop down menu">
                            drop down menu</a></li>
                            <li>
                            <a href="../mozilla/cascade.html" title="A cascading menu">
                            cascading menu</a></li>
                            <li>
                            <a href="../mozilla/content.html" title="Using content:">
                            content:</a></li>
                            <li>
                            <a href="../mozilla/moxbox.html" title=":hover applied to a div">
                            mozzie box</a></li>
                            <li>
                            <a href="../mozilla/rainbow.html" title="I can build a rainbow">
                            I can build a rainbow with transparent borders</a></li>
                            <li>
                            <a href="../mozilla/snooker.html" title="Snooker cue">
                            a snooker cue using border art</a></li>
                            <li>
                            <a href="../mozilla/target.html" title="Target Practise">
                            target practise</a></li>
                            <li>
                            <a href="../mozilla/splittext.html" title="Two tone headings">
                            two tone headings</a></li>
                            <li>
                            <a href="../mozilla/shadow_text.html" title="Shadow text">
                            shadow text</a></li>
                        </ul><!--[if lte IE 6]></td>
                    </tr>
                </table></a><![endif]--></li>
                <li><a href="../ie/index.html">EXPLORER<!--></a><!--<![endif]-->
                <!--[if lte IE 6]>
                <table>
                    <tr>
                        <td><![endif]-->
                        <ul>
                            <li>
                            <a href="../ie/exampleone.html" title="Example one">
                            the first example for Internet Explorer</a></li>
                            <li>
                            <a href="../ie/weft.html" title="Weft fonts">
                            weft fonts</a></li>
                            <li>
                            <a href="../ie/exampletwo.html" title="Vertical align">
                            vertically aligning text</a></li>
                        </ul><!--[if lte IE 6]></td>
                    </tr>
                </table></a><![endif]--></li>
                <li><a href="../opacity/index.html">OPACITY<!--></a><!--<![endif]-->
                <!--[if lte IE 6]>
                <table>
                    <tr>
                        <td><![endif]-->
                        <ul>
                            <li>
                            <a href="../opacity/colours.html" title="colour wheel">
                            a colour wheel using opaque colours</a></li>
                            <li>
                            <a href="../opacity/picturemenu.html" title="a menu using opacity">
                            a menu using opacity</a></li>
                            <li>
                            <a href="../opacity/png.html" title="partial opacity">
                            partial opacity</a></li>
                            <li>
                            <a href="../opacity/png2.html" title="partial opacity II">
                            partial opacity II</a></li>
                            <li>
                            <a class="drop" href="../menu/hover_click.html" title="Hover/click with no active/focus borders">
                            HOVER/CLICK<!--></a><!--<![endif]-->
                            <!--[if lte IE 6]>
                            <table>
                                <tr>
                                    <td><![endif]-->
                                    <ul class="left">
                                        <li>
                                        <a href="../menu/form.html" title="Styling forms">
                                        styled form</a></li>
                                        <li>
                                        <a href="../menu/nodots.html" title="Removing active/focus borders">
                                        removing active/focus borders</a></li>
                                        <li>
                                        <a href="../menu/hover_click.html" title="Hover/click with no active/focus borders">
                                        hover/click</a></li>
                                    </ul><!--[if lte IE 6]></td>
                                </tr>
                            </table><![endif]--></li>
                        </ul></td>
                    </tr>
                </table></li>
            </ul></div>

        </div>


Auch wieder reine Beispiellinks ...

Wie könnte ich nun also die Navigation so anpassen, dass die Ordner bzw. Seitenstruktur automatisch in die Navigation übernommen wird?!

Ich glaub das überfordert mein Geschick/Können .... sad.gif
pawel
Beginn erst einmal einfach, um ein Verständnis zu gewinnen, d.h. lass auch die Tabellen und Kommentare für alte IE weg.

Ein Eintrag in der Listennavigatio sieht typischerweise so aus:
QUELLTEXT
<li><a href="{link}" title="{desc}">{name}</a></li>

Du kannst ein Startordner angeben und die Unterordner und Seiten "befüllen" die Liste.


Typische Listen haben folgende Struktur:

QUELLTEXT
<ul>
<li><a href="">Link</a></li>
...
<li>Unterordner<ul>
                         <li><a href="">Ulink</a></li>
                          ....
                         </ul>
</li>
<li><a href="">Link</a></li>
</ul>



...aber das sind Fragen für ein HTML-Forum
Dieses ist eine vereinfachte Darstellung unseres Foreninhaltes. Um die detaillierte Vollansicht mit Formatierung und Bildern zu betrachten, bitte hier klicken.
Invision Power Board © 2001-2024 Invision Power Services, Inc.