tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
13
ZUGRIFFE
396
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
DIESES THEMA IST
GESCHLOSSEN
  1. #1
    mruiss mruiss ist offline Mitglied
    Registriert seit
    Sep 2007
    Beiträge
    13
    Hallo liebes "letzte Hilfe" Forum,

    ich bastele jetzt schon einige Zeit an einem vertikalen Menü mit zwei ebenen, welches jedoch nach rechts aufklappen sol. Soweit so gut. Das habe ich nach langem versuchen hinbekommen.

    Das einzige woran ich verzweifele ist, daß ich es nicht hinbekomme, daß die 2. Ebene der Liste (ul, ul) als block dargestellt wird.

    Ich hoffe, daß mir einer von Euch Profis kurz helfen kann.

    Das ganze steh in einem div class="menu"

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    
    .menu {
        text-align: left; 
        float: left;
        width: 200px;
        height: auto;
        margin-top: 0px;
        font:bold 12px verdana, sans-serif;
    }
     
    .menu ul {
        background:#fff;
        border-bottom:1px solid #666;
        border-left:1px solid #666;
        border-right:1px solid #666;
        list-style:none;
        padding-left:0px;
        list-style-position:outside;
        margin-top: 0px;
        margin-right: 10px;
        margin-bottom: 10px;
        margin-left: 10px;
    }
     
    .menu li {
    position:relative;
    }
     
    .menu a, .menu a:visited {
        color:#666;
        display:block;
        text-decoration:none;
        font-variant:small-caps;
        border-top-width: 1px;
        border-top-style: solid;
        border-top-color: #666;
        padding-top: 5px;
        padding-right: 8px;
        padding-bottom: 5px;
        padding-left: 5px;
        height:25px;
        line-height:25px;
    }
     
    .menu :hover > a {
        background:#860011;
        color:#fff;
    }
     
    .menu ul ul {
        visibility:hidden;
        position:absolute;
        top:0;
        left:168px;
    }
     
    .menu ul li:hover ul,  .menu ul a:hover ul {
        visibility:visible;

    Herzlichen Dank vorab für eine schnelle Hilfe...

    Matthias
     

  2. #2
    Maik Tutorials.de Gastzugang
    Hi,

    ich kann dir nicht ganz folgen, worauf du hinaus willst.
     

  3. #3
    mruiss mruiss ist offline Mitglied
    Registriert seit
    Sep 2007
    Beiträge
    13
    Also:

    Das Menü funktioniert einwandfrei. Der Hover funktioniert auch problemlos.

    Das einzige was nicht funktioniert ist, daß die Links der Menüpunkte über die ganze Fläche des Feldes verlinkt sind. Sprich. Der Hover-Effekt geht im ganzen Feld, der Link allerdings nicht. Der geht nur direkt auf dem Text...

    Das ist sowohl in der erste als auch in der zweiten Ebene der Fall...

    Jemand eine Idee?

    Hier nochmals ein etwas veränderter Code:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    
    .menu {
        text-align: left; 
        float: left;
        width: 200px;
        height: auto;
        margin-top: 0px;
        font:bold 12px verdana, sans-serif;
    }
     
    .menu ul {
        background:#fff;
        border-bottom:1px solid #666;
        border-left:1px solid #666;
        border-right:1px solid #666;
        list-style:none;
        padding-left:0px;
        list-style-position:outside;
        margin-top: 0px;
        margin-right: 10px;
        margin-bottom: 10px;
        margin-left: 10px;
    }
     
    .menu li {
    position:relative;
    }
     
    .menu a, .menu a:visited {
        color:#666;
        display:block;
        text-decoration:none;
        font-variant:small-caps;
        border-top-width: 1px;
        border-top-style: solid;
        border-top-color: #666;
        padding-top: 5px;
        padding-right: 8px;
        padding-bottom: 5px;
        padding-left: 5px;
    }
     
    .menu :hover > a {
        background:#860011;
        color:#fff;
    }
     
    .menu ul ul {
        visibility:hidden;
        position:absolute;
        top:0;
        left:168px;
        }
     
    .menu ul li:hover ul,  .menu ul a:hover ul {
        visibility:visible;
     

  4. #4
    Maik Tutorials.de Gastzugang
    Kann ich bei mir nicht bestätigen - siehe den gepunkteten Rahmen um den Link:

    Menü: 2. Ebene kann nicht als Block dargestellt werden-demo_mruiss.jpg
     

  5. #5
    mruiss mruiss ist offline Mitglied
    Registriert seit
    Sep 2007
    Beiträge
    13
    Hier mal der ganze Code:

    Ich hab ihn eben mal auf einen Testserver geladen und es ist leider nicht die ganze (rote) Fläche verlinkt... sondern eben nur der entsprechende Text verlinkt auf die entsprechende Seite....

    Kannst Du nochmal schauen?

    Vielen Dank

    CSS:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    
    .menu {
        text-align: left; 
        float: left;
        width: 200px;
        height: auto;
        margin-top: 0px;
        font:bold 12px verdana, sans-serif;
    }
     
    .menu ul {
        background:#fff;
        border-bottom:1px solid #666;
        border-left:1px solid #666;
        border-right:1px solid #666;
        list-style:none;
        padding-left:0px;
        list-style-position:outside;
        margin-top: 0px;
        margin-right: 10px;
        margin-bottom: 10px;
        margin-left: 10px;
    }
     
    .menu li {
    position:relative;
    }
     
    .menu a, .menu a:visited {
        color:#666;
        display:block;
        text-decoration:none;
        font-variant:small-caps;
        border-top-width: 1px;
        border-top-style: solid;
        border-top-color: #666;
        padding-top: 5px;
        padding-right: 8px;
        padding-bottom: 5px;
        padding-left: 5px;
    }
     
    .menu :hover > a {
        background:#860011;
        color:#fff;
    }
     
    .menu ul ul {
        visibility:hidden;
        position:absolute;
        top:0;
        left:168px;
        }
     
    .menu ul li:hover ul,  .menu ul a:hover ul {
        visibility:visible;

    HTML:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    
    <body>
     
    <div class="menu">
        <ul style="margin-top": 0>
          <li><a href="index.html">Start</a></li>
          <li><a href="Konzept.html">TOP Konzept</a></li>
          <li><a href="aktuell.html">TOP Inhalt</a></li>
            <ul>
                <li><a href="Events.html">Events</a></li>
                <li><a href="Business.html">Business</a></li>
                <li><a href="Lifestyle.html">Lifestyle</a></li>
                <li><a href="Travel.html">Travel</a></li>
                <li><a href="Health.html">Health & Beauty</a></li>
                <li><a href="Gourmet.html">Gourmet</a></li>
                <li><a href="Arts.html">Art</a></li>
            </ul>
          <li><a href="Media.html">Mediadaten</a></li>
            <ul>
                <li><a href="Preise.html">Preise</a></li>
                <li><a href="Technik.html">Technische Angaben</a></li>
                <li><a href="Vertrieb.html">Vertriebsgebiet</a></li>
                <li><a href="Anzeige.html">Anzeige buchen</a></li>
            </ul>
          <li><a href="Veranstaltungen.html">Veranstaltungen</a></li>
          <li><a href="Ansprechpartner.html">Ansprechpartner</a></li>
          <li><a href="agb.html">agb</a></li>
        </ul>
      </div>
     
    </body>

    Achso:

    Hier mal der Link zum Testserver...

    Vielleicht seht Ihr hier was ich meine...

    TESTSERVER

    Gruß
    Matthias
     

  6. #6
    Maik Tutorials.de Gastzugang
    Es hat sich bei mir nichts geändert.

    Dafür wird aber das Submenü nicht angezeigt, da du die verschachtelte Liste falsch konstruiert hast:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    
    <div class="menu">
        <ul style="margin-top": 0>
          <li><a href="index.html">Start</a></li>
          <li><a href="Konzept.html">TOP Konzept</a></li>
          [b]<li>[/b]<a href="aktuell.html">TOP Inhalt</a>[color=red]<!--</li>-->[/color]
                  <ul>
                <li><a href="Events.html">Events</a></li>
                <li><a href="Business.html">Business</a></li>
                <li><a href="Lifestyle.html">Lifestyle</a></li>
                <li><a href="Travel.html">Travel</a></li>
                <li><a href="Health.html">Health & Beauty</a></li>
                <li><a href="Gourmet.html">Gourmet</a></li>
                <li><a href="Arts.html">Art</a></li>
            </ul>
          [b]</li>[/b]
          [b]<li>[/b]<a href="Media.html">Mediadaten</a>[color=red]<!--</li>-->[/color]
            <ul>
                <li><a href="Preise.html">Preise</a></li>
                <li><a href="Technik.html">Technische Angaben</a></li>
                <li><a href="Vertrieb.html">Vertriebsgebiet</a></li>
                <li><a href="Anzeige.html">Anzeige buchen</a></li>
            </ul>
          [b]</li>[/b]
          <li><a href="Veranstaltungen.html">Veranstaltungen</a></li>
          <li><a href="Ansprechpartner.html">Ansprechpartner</a></li>
          <li><a href="agb.html">agb</a></li>
        </ul>
    </div>

    Zudem hast du hier den Wert außerhalb der Eigenschaft gesetzt:
    Code :
    1
    
    <ul style="margin-top"[color=red]: 0[/color]>
     

  7. #7
    mruiss mruiss ist offline Mitglied
    Registriert seit
    Sep 2007
    Beiträge
    13
    Ich glaube ich weiß, warum es bei Dir geht und bei mir nicht...

    Du benutzt Mozilla und ich "Asche auf mein Haupt" IE7...

    Stimmts.

    Vielleicht hast Du noch eine Idee zu 2 Problemen

    1. Warum geht das im IE 7 nicht

    und 2.

    2. Wie bekomme ich die Blockgröße in den ausklappenden Untermenüs so hin, daß sie genauso groß ist wie die Root Ebene... Ich gehe mal davon aus, daß die ul ul bei Dir auch kleiner als die 1. Ebene ist !?


    Testserver ist aktualisier...


    Danke für Deine Mühe

    Matthias
     

  8. #8
    Maik Tutorials.de Gastzugang
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    .menu ul ul {
            visibility:hidden;
            position:absolute;
            top:0;
            left:168px;
            [b]width:168px;[/b]
    }
    Und nach dem "normalen" Stylesheet implementierst du folgenden "Conditional Comment" für den IE:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    <style type="text/css">
    ...
    </style>
    [b]<!--[if lte IE 7]>
    <style type="text/css">
    .menu ul li a { width:166px; }
    .menu ul li ul li a { width:155px; }
    </style>
    <![endif]-->[/b]
     

  9. #9
    mruiss mruiss ist offline Mitglied
    Registriert seit
    Sep 2007
    Beiträge
    13
    Großartig

    Das löst zumindest das Problem mit der Breite.

    hast Du auch noch eine Idee, daß der gesamte Block und nicht nur der Text im IE7 verlinkt wird.

    So wie eben auch im Mozilla...

    Gruß
    Matthias
     

  10. #10
    Tyg3r Tyg3r ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Beiträge
    216
    Hi,

    weise doch dem Link direkt die Eigenschaft display:block zu und definiere Breite und Höhe dort. Dann dürftest Du auch keine Probleme mit den Größenunterschieden im IE/FF haben.

    Gruß tyg3r
     

  11. #11
    mruiss mruiss ist offline Mitglied
    Registriert seit
    Sep 2007
    Beiträge
    13
    Hi Tyg3r,

    danke für den Tip. Allerdings habe ich das schon leider erfolglos ausprobiert.

    Aus irgendeinem Grund nimmt der IE7 den Block beim Link nicht an...
    Weder im geposteten CSS noch im html...

    noch jemand Ideen

    Gruß
    Matthias
     

  12. #12
    Maik Tutorials.de Gastzugang
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    <!--[if lte IE 7]>
    <style type="text/css">
    [b].menu a { height:1%; }[/b]
    .menu ul li a { width:166px; }
    .menu ul li ul li a { width:155px; }
    </style>
    <![endif]-->

    Zudem hast du hier noch drei Fehler im Markup:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    
    <div class="menu">
        <ul style="margin-top"[color=red]: 0[/color]>
          <li><a href="index.html">Start</a></li>
     
          <li><a href="Konzept.html">TOP Konzept</a></li>
          <li><a href="aktuell.html">TOP Inhalt</a>
            <ul>
                <li><a href="Events.html">Events</a></li>
                <li><a href="Business.html">Business</a></li>
                <li><a href="Lifestyle.html">Lifestyle</a></li>
                <li><a href="Travel.html">Travel</a></li>
                <li><a href="Health.html">Health & Beauty</a></li>
                <li><a href="Gourmet.html">Gourmet</a></li>
                <li><a href="Arts.html">Art</a></li>
            </ul>
          [b]</li>[/b][color=red]<!-- fehlt! -->[/color]
          <li><a href="Media.html">Mediadaten</a>
            <ul>
                <li><a href="Preise.html">Preise</a></li>
                <li><a href="Technik.html">Technische Angaben</a></li>
                <li><a href="Vertrieb.html">Vertriebsgebiet</a></li>
                <li><a href="Anzeige.html">Anzeige buchen</a></li>
            </ul>
          [b]</li>[/b][color=red]<!-- fehlt! -->[/color]
          <li><a href="Veranstaltungen.html">Veranstaltungen</a></li>
          <li><a href="Ansprechpartner.html">Ansprechpartner</a></li>
          <li><a href="agb.html">agb</a></li>
        </ul>
      </div>
     

  13. #13
    mruiss mruiss ist offline Mitglied
    Registriert seit
    Sep 2007
    Beiträge
    13
    Jetzt läufts

    Vielen lieben Dank vorallem an Mike!

    auch wenn ich die "if" Geschichte nicht ganz verstehe...

    Nochmals besten Dank und schönen Abend noch!

    Matthias
     

  14. #14
    Maik Tutorials.de Gastzugang
    Zitat Zitat von mruiss Beitrag anzeigen
    auch wenn ich die "if" Geschichte nicht ganz verstehe...
    Bei der Syntax <!--[if IE]> ... <![endif]--> handelt es sich um einen sog. "Conditional Comment", der nur vom IE (Win) gelesen und ausgeführt wird.

    Auf diese Weise wird im Dokument nach dem "normalen" Stylesheet eine CSS-Browserweiche gesetzt, und im IE-spezifischen Stylesheet die erforderlichen Ergänzungen oder Wert-Korrekturen vorgenommen, die die Eigenschaftswerte des vorangegangenen Stylesheets überschreiben.
     

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 17.03.10, 08:33
  2. Photoshop - Ebene kann nicht kopiwert werden
    Von hagu im Forum Photoshop
    Antworten: 2
    Letzter Beitrag: 18.10.07, 02:07
  3. Umlaute werden nicht dargestellt
    Von Arndtinho im Forum PHP
    Antworten: 3
    Letzter Beitrag: 27.05.06, 14:13
  4. SuSe: Sonderzeichen werden nicht dargestellt
    Von Nexus2kSwiss im Forum Linux & Unix
    Antworten: 2
    Letzter Beitrag: 02.07.05, 16:24
  5. Antworten: 2
    Letzter Beitrag: 08.10.02, 18:43