[CSS] Dropdown Menu mit dem IE kompatibel machen

Dieses Thema im Forum "Webdesign" wurde erstellt von sam0r, 10. September 2009 .

  1. 10. September 2009
    Dropdown Menu mit dem IE kompatibel machen

    Hallo..

    ich habe seit 3 Tagen vergeblich versucht eine Navi mit einem Dropdownmenu zu versehen.

    Zum menu. Es ist aus Rollover-Grafiken erstellt(Hover)
    Versuch ist es, das Submenu möglichst ab dem anfang der Spiegelung zu erstellen, ZUDEM es im IE ab v6.0 funktionieren soll.
    {bild down}

    Hier der HTML-Code+CSS
    HTML:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Startseite</title>
    <link href="_style.css" rel="stylesheet" type="text/css">
    <style type="text/css">
    
    .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;
    }
    
    /* float the list to make it horizontal and a relative positon so that you can control the dropdown menu positon */
    .menu li {
    float:left;
    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; 
    border:0;
    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 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:106px;
     left:1px;
     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; 
    }
    .menu :hover > a, .menu ul ul :hover > a {
    color:#fff;
    }
    
    /* 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;
    }
    
    .start {
     background-image:url(bilder/x_r2_c3.jpg);
     width:141px;
     height:138px;
     float:left;
     padding:0px;
     margin:0px;
     display:block;
    }
     .start a:hover {
     background-image:url(bilder/hover/hover_r1_c1.jpg);
     width:141px;
     height:138px;
     float:left;
     padding:0px;
     margin:0px;
     display:block;
     cursor:default;
     }
    
    .about {
     background-image:url(bilder/x_r2_c4.jpg);
     width:141px;
     height:138px;
     float:left;
     padding:0px;
     margin:0px;
     display:block;
    }
     .about a:hover {
     background-image:url(bilder/hover/hover_r1_c2.jpg);
     width:141px;
     height:138px;
     float:left;
     padding:0px;
     margin:0px;
     display:block;
     cursor:default;
     }
    
    
    </style>
    </head>
    
    <body>
    <div class="menu">
    
    <ul>
    <li><div class="start"><a class="start" href='index.php?site=Start'></a></div>
    </li>
    
    <li><div class="about"><a class="about" href="?site=About"></a></div>
    
     <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<!--[if IE 7]><!--></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<!--[if IE 7]><!--></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<!--[if IE 7]><!--></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<!--[if IE 7]><!--></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></a><![endif]-->
     </li>
     </ul>
    <!--[if lte IE 6]></td></tr></table></a><![endif]-->
    </li>
    </ul>
    
    </div>
    
    </body>
    </html>
    
    Beim Projekt handelt es sich um ein Schulprojekt, wobei der Zeitraum sich nur bis zum 25. September streckt.

    Ganz wichtig: WENN es möglich ist dann bitte OHNE Javascript. Mit wäre nur eine notlößung aller letzten Grades.

    Ich bitte um möglichst schnelle hilfe...

    MfG
     
  2. 10. September 2009
    AW: Dropdown Menu mit dem IE kompatibel machen

    mit JS wäre es besser.

    hier mal ohne Tips und Tricks

    lies was der entwickler dazu sagt.
     
  3. 10. September 2009
    AW: Dropdown Menu mit dem IE kompatibel machen

    seit ie7 geht das mit css optimal.

    einfach mal google bemühen

    wer noch auf ie6 setzt (bzw. wer generell auf ie setzt) hat eh verloren, weil man da mehr hackt als normal programmiert.
     
  4. 12. September 2009
    AW: Dropdown Menu mit dem IE kompatibel machen

    Geil, damit hab ichs hinbekommen! Besten Dank!
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.