tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
11
ZUGRIFFE
350
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
DIESES THEMA IST
GESCHLOSSEN
  1. #1
    tigerlily tigerlily ist offline Mitglied
    Registriert seit
    Aug 2007
    Beiträge
    18
    Hallo an alle,

    ich habe ein kleines Problem. Und zwar habe ich mir ein horizontales Klappmenü erstellt mit Hilfe von HTML und CSS. Soweit so gut. Leider habe ich noch einen kleinen Schönheitsfehler gefunden und zwar sobald man auf einen Button in der Leiste klickt wo sich das Submenü öffnet, überschreibt css mir meinen vorgegeben Rahmen anstatt sich anzupassen.

    http://foto.arcor-online.net/palb/al...3635613663.jpg


    währe für einen Denkanstoß sehr dankbar wonach ich suchen müsste um es in CSS anzupassen.

    gruss

    tigerlily
     

  2. #2
    Maik Tutorials.de Gastzugang
    Hi,
    Zitat Zitat von tigerlily Beitrag anzeigen
    währe für einen Denkanstoß sehr dankbar wonach ich suchen müsste um es in CSS anzupassen.
    wenn du den dazugehörigen Quellcode postest, kann man sicherlich etwas dazu sagen.
     

  3. #3
    tigerlily tigerlily ist offline Mitglied
    Registriert seit
    Aug 2007
    Beiträge
    18
    HTML-Code:

    HTML-Code:
       <link rel="stylesheet" type="text/css" href="test.css">
    
    </head>
    
    <body>
    <br></br>
    <br></br>
    <br></br>
    <br></br>
    <br></br>
    <div id="navcontainer">
    <ul id="navlist">
    <li id="active"><a href="#" id="current">Alle anzeigen</a></li>
    <li><a href="#">Mitarbeiter anlegen</a></li>
    <ul id="navlist">
    <li id="active"><a href="#" id="current">Mitarbeiter suchen</a> 
    <ul id="subnavlist">
    <li id="subactive"><a href="#" id="subcurrent">Namenssuche</a></li>
    <li><a href="#">Suchkriterien</a></li>
    </ul>
    </li>
    <li><a href="#">Daten aktualisieren</a></li>
    <ul id="navlist">
    <li id="active"><a href="#" id="current">Einstellungen</a> 
    <ul id="subnavlist">
    <li id="subactive"><a href="#" id="subcurrent">Verzeichnisse</a></li>
    </ul>
    </li>
    <ul id="navlist">
    <li id="active"><a href="#" id="current">Stammdaten</a> 
    <ul id="subnavlist">
    <li id="subactive"><a href="#" id="subcurrent">Beratungspunkte</a></li>
    <li><a href="#">Branchen</a></li>
    <li><a href="#">Datenbanken</a></li>
    <li><a href="#">Fremdsprache</a></li>
    <li><a href="#">Fremdsprachenstatus</a></li>
    <li><a href="#">Methoden</a></li>
    <li><a href="#">Programmiersprachen</a></li>
    <li><a href="#">Qualifikation</a></li>
    <li><a href="#">Software</a></li>
    <li><a href="#">Zertifizierung</a></li>
    <li><a href="#">Kunden</a></li>
    <li><a href="#">Firmendaten</a></li>
    <li><a href="#">Beraterstatus</a></li>
    </ul>
    </li>
    <li><a href="#">Alte Profile</a></li>
    </ul>
    </div>
    CSS-Code:
    HTML-Code:
    ul#navlist 
    { 
    font-family: sans-serif; 
    }
    
    ul#navlist a
    {
    font-weight: bold;
    text-decoration: none;
    }
    
    ul#navlist, ul#navlist ul, ul#navlist li
    {
    margin: 0px;
    padding: 0px;
    list-style-type: none;
    }
    
    ul#navlist li 
    { 
    float: left; 
    }
    
    ul#navlist li a
    {
    color: #000000;
    background-color: #009900;
    padding: 3px;
    border: 1px solid black;
    }
    
    ul#navlist li a:hover
    {
    color: #000000;
    background-color: #009900;
    }
    
    ul#navlist li a:active
    {
    color: #cccccc;
    background-color: #009900;
    border: 1px solid black;
    }
    
    ul#subnavlist 
    { 
    display: none; 
    border: 1px solid black;
    }
    
    ul#subnavlist li 
    { 
    float: none; 
    }
    
    ul#subnavlist li a
    {
    padding: 0px;
    margin: 0px;
    }
    
    ul#navlist li:hover ul#subnavlist
    {
    display: block;
    position: absolute;
    font-size: 8pt;
    padding-top: 5px;
    }
    
    ul#navlist li:hover ul#subnavlist li a
    {
    display: block;
    width: 10em;
    border: none;
    padding: 2px;
    }
    
    ul#navlist li:hover ul#subnavlist li a:before 
    { 
    content: " >> "; 
    }
    
    body 
    {
    	background-color: #FFFFFF;
    	background-image: url("outcome.jpg");   
    	background-repeat: no-repeat;
    	background-attachment: fixed;
    	background-position: left top;
    	
    
    }
     

  4. #4
    Maik Tutorials.de Gastzugang
    Was beim ersten Überfliegen des Quellcodes auffällt, ist die Tatsache, dass du alle IDs in dem Dokument mehrfach verwendest, was aber nicht regelkonform ist, da eine ID innerhalb eines HTML-Dokuments eindeutig sein muss. In diesem Fall müssen die IDs in Klassen umgewandelt werden.

    Ansonsten kann ich bei mir kein Überschreiben der Rahmeneinstellungen feststellen, wenn sich die Submenüs öffnen.

    Vielmehr sitzt das Submenü zu weit oben, was sich mit folgender Regelerweiterung beheben lässt:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    ul#navlist li:hover ul#subnavlist
    {
    display: block;
    position: absolute;
    font-size: 8pt;
    padding-top: 5px;
    [b]top:30px;[/b]
    }
     

  5. #5
    Registriert seit
    Aug 2007
    Beiträge
    181
    Bei mir überschneiden sie sich auch...

    Und ich würde das ganze zusätzlich noch einmal im IE(bei mir 7) anschauen, da sieht das ganze gar nicht toll aus :/
     

  6. #6
    tigerlily tigerlily ist offline Mitglied
    Registriert seit
    Aug 2007
    Beiträge
    18
    @Maik: Danke für deinen Tipp, leider überschreibt er mir den Submenü Block weiterhin.

    @HuRaHoRRe: Oh weih, stimmt im IE7 totale Katastrophe, habe das bis jetzt mit FireFox getestet.
     

  7. #7
    Maik Tutorials.de Gastzugang
    Zitat Zitat von tigerlily Beitrag anzeigen
    @Maik: Danke für deinen Tipp, leider überschreibt er mir den Submenü Block weiterhin.
    "überschreibt" oder "überschreitet" bzw. "überschneidet"?

    Bei mir überschneidet das Submenü das Mainmenü nicht mehr:

    Probleme mit dem Submenü-demo_tigerlily.jpg
     

  8. #8
    tigerlily tigerlily ist offline Mitglied
    Registriert seit
    Aug 2007
    Beiträge
    18
    Oh sorry, da habe ich mich wohl missverständlich ausgedrückt.

    Ich meinte damit wie schon oben in der Grafik angehangen, das mir die einzelnen Menü Punkte die zu lang sind, wie z.B. Fremdsprachenstatus die Box überschreitet. Hätte aber gerne das sich meine Submenü Box variabel an das längste Wort mit verbreitert.

    gruss

    dany
     

  9. #9
    Maik Tutorials.de Gastzugang
    Okay, dann hätten wir das auch geklärt

    Nimm mal im folgenden Selektor die Breitenangabe heraus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    
    ul#navlist li:hover ul#subnavlist li a
    {
    display: block;
    [b]width: 10em;[/b]
    border: none;
    padding: 2px;
    }
     

  10. #10
    tigerlily tigerlily ist offline Mitglied
    Registriert seit
    Aug 2007
    Beiträge
    18
    Supi, hat funktioniert.

    Muss jetzt nur noch was n damit es unter dem IE auch läuft
     

  11. #11
    Maik Tutorials.de Gastzugang
    http://www.htmldog.com/articles/suckerfish/ wäre eine JS-gestützte Möglichkeit, damit die Submenüs im IE6 erscheinen, ansonsten einfach mal bei Stu Nicholls in der Rubrik Menus - Multi-Level CSS Only stöbern.
     

  12. #12
    tigerlily tigerlily ist offline Mitglied
    Registriert seit
    Aug 2007
    Beiträge
    18
    Super danke. Werde mich da mal was einlesen und versuchen es umzusetzen.

    Vielen vielen dank nochmals.
     

Ähnliche Themen

  1. Wie spreche ich mit CSS ein Submenü an?
    Von nchristoph im Forum CSS
    Antworten: 4
    Letzter Beitrag: 23.11.10, 11:14
  2. Menü mit Submenü
    Von F0rris im Forum PHP
    Antworten: 3
    Letzter Beitrag: 09.09.09, 07:54
  3. Submenü bei rollout unsichtbar
    Von selle1 im Forum Flash Plattform
    Antworten: 13
    Letzter Beitrag: 08.10.07, 14:20
  4. Submenü
    Von schwarzer_prinz im Forum CSS
    Antworten: 2
    Letzter Beitrag: 25.09.07, 23:30
  5. Submenü
    Von lp-chester im Forum HTML & XHTML
    Antworten: 1
    Letzter Beitrag: 08.11.04, 08:19