tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
JA
ANTWORTEN
15
ZUGRIFFE
950
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
DIESES THEMA IST
GESCHLOSSEN
  1. #1
    Thalin Thalin ist offline Mitglied Silber
    Registriert seit
    Oct 2007
    Ort
    Hamburg
    Beiträge
    64
    Hallo,

    Ich soll hinter einem Dropdown Menu einen Schatten zaubern, bin aber noch etwas neu auf dem Gebiet.
    Leider hab Ich nichts gefunden, wie Ich das anstellen könnte.
    Hab zwar was mit Filtern gefunden, aber die funktionieren ja nur beim IE, jedoch nicht beim FF. N Problem für mich ist auch, das der schatten komplett an allen Seiten sein soll und so halb transparent.
    Ich hab im Anhang mal 2 Bilder. Zum einen, wie es aussehen soll und zum anderen, wie es im Moment aussieht. Leider kann Ich die Seite noch nicht Online stellen, aber Ich habe mal den Code hinzugefügt.
    Für Hilfe wäre Ich dankbar

    CSS-Datei

    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    
    body 
    {   
        background-color:#1F3F84;
        text-align:center;
        font-family:Arial;
    }
     
    /*
    =================================
    Skin sytles for TABLE-tags
    =================================
    */
    .tableup
    {
        color:#FFFFFF;
        background-color:inherit;
        margin:60px 82px auto 76px;
        font-size:12px;
        
    }
     
    .maintable
    {
        color:inherit;
        background-color:#FFFFFF; 
        margin-left:82px; 
        margin-right:82px;
        width:943px;    
        font-family: Arial;
        font-size:12px;
        
    }
     
    .middletable
    {
        background-color:#E0F1FB;
        color:inherit;   
        font-size:12px;
        
    }
     
    .navtdleft
    {
        color:inherit;
        background-color:inherit;
        text-align: left;
        width: 481px;
        height: 17px;
        font-family: 'Verdana', 'Tahoma', 'Helvetica', 'Arial', sans-serif;
        font-size:12px;
        
    }
     
    .navtdright
    {
        color:inherit;
        background-color:inherit;
        text-align: right;
        width: 481px;
        height: 17px;
        font-family: 'Verdana', 'Tahoma', 'Helvetica', 'Arial', sans-serif;
        font-size:12px; 
        
    }
     
    /*Menu Design--------------------------------------------------------------------------*/
     
    /**
      * Menü-Container:
      *  
      *****************************************************************************/
    ul.menu {
        margin: 0;                 
        padding: 0;     
        font-size: 12px;                     
        list-style-type: none;
        font-weight:bold;
        
    }
     
     
    ul#menuleft {
        width: 420px;      
        float: left;
        
    }
     
     
    ul#menuright {
        width: 560px;             
        float: right;
        
    }
     
     
    /**
      * Menüeinträge in der Menüleiste:
      *  
      *****************************************************************************/
    ul.menu li {
        margin: 0;               
        display: inline; 
                
    }
     
     
    ul#menuleft > li {
        float: left; 
        
    }
     
    ul#menuright > li {
        float: right;
     
    }
     
     
    ul.menu > li > a {
        color : #FFF;
        background-color:inherit;
        border-bottom:none;
        border-right:solid 1px #fff;
        
    }
     
     
    /**
      * Alle Untermenüs:
      *  
      *****************************************************************************/
     
    ul.menu ul {
        margin: 0;                
        padding: .2em;           
        position: absolute;        
        list-style-type: none;     
        background-color:#a4c6eb;  
        display: none; 
        float:left;
        width:130px;    
        /* -moz-opacity:0.90; */ 
            
    }
     
     
    /**
      * Alle Menüeinträge der Untermenüs:
      *  
      *****************************************************************************/
    ul.menu ul li {
        margin: 0;
        display:block;         
    }
     
     
    /**
      * Alle Links im Menü-Container:
      *  
      *****************************************************************************/
    ul.menu a {
        padding: .5em;             
        text-decoration: none;
        color: #4b6da7; 
        cursor: default;              
        font-size: 11px;            
        text-align: left;           
        border-bottom: solid 1px #4b6da7;
        display: block; 
        margin:4px 4px 4px 4px;
        text-indent:-.5em;
        line-height:.3em;   
        
    }
     
     
    /**
      * Alle Links in Untermenüs beim Überfahren mit der Maus:
      *  
      *****************************************************************************/
    ul.menu a:hover {                                 
        padding: .5em;            
        color: #fff;
        background-color:#1F3F84;
        display: block;
        cursor:pointer;     
    }
     
     
    /**
      * Alle ungeordnete Listen in Untermenüs beim Überfahren der Menüeinträge in
      * der Menüleiste mit der Maus:
      *  
      *****************************************************************************/
    ul.menu li:hover> ul{
        display: block;
        
    }
     
    ul.menu li:hover > ul li ul 
    {
        margin-top:-23px; 
        left: 70px;
        text-align:left;    
    }

    HTML-Datei

    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <title>Hover_menu</title>
         <link rel="stylesheet" type="text/css" href="Hover_menu.css" />
         
        <link rel="stylesheet" type="text/css" href="ie.css" />
         
    </head>
    <body>
    <table align="center">
        <tr>
            <td>
             <table class="tableup">
                    <tr>
                        <td>                                                            
                          <ul class="menu" id="menuleft" >
                            <li><a title="Startseite">Home</a>
                                <ul>
                                    <li><a title="PT-Nova">PT-Nova</a></li>
                                    <li><a title="Download">Download</a></li>
                                    <li><a title="Profil">Profil</a></li>
                                </ul>
                            </li>
                            <li><a title="Unternehmen">Unternehmen</a>
                                <ul>
                                    <li><a title="Motto">Motto</a></li>
                                    <li><a title="Philosophie">Philosophie</a></li>
                                    <li><a title="Daten/ Fakten">Daten/ Fakten</a></li>
                                    <li><a title="Profil">Profil</a></li>
                                    <li><a title="Referenzen">Referenzen</a></li>
                                    <li><a title="Partner">Partner</a></li>
                                </ul>
                            </li>
                            <li><a title="News">News</a></li>
                            <li><a title="Termine">Termine</a></li>
                            <li><a title="Jobs">Jobs</a></li>
                            <li><a title="Presse">Presse</a></li>                       
                          </ul>                  
                          </td>
                          <td>
                          <ul class="menu" id="menuright">
                            <li><a title="Kundenlogin">Kundenlogin</a></li>
                            <li><a title="Kontakt">Kontakt</a>
                             <ul>
                                    <li><a title="Motto">Motto</a></li>
                                    <li><a title="Philosophie">Philosophie</a></li>
                                    <li><a title="Daten/ Fakten">Daten/ Fakten</a></li>
                                    <li><a title="Profil">Profil</a></li>
                                    <li><a title="Referenzen">Referenzen</a></li>
                                    <li><a title="Partner">Partner</a></li>
                                </ul>
                            </li>
                            <li><a title="Sitemap">Sitemap</a></li>
                            <li><a title="Impressum">Impressum</a>
                             <ul>
                                    <li><a title="Motto">Motto</a></li>
                                    <li><a title="Philosophie">Philosophie</a></li>
                                    <li><a title="Daten/ Fakten">Daten/ Fakten</a></li>
                                    <li><a title="Profil">Profil</a></li>
                                    <li><a title="Referenzen">Referenzen</a></li>
                                    <li><a title="Partner">Partner</a></li>
                                </ul>
                            </li>
                            <li><a title="Download">Download</a></li>                      
                          </ul>                                           
                        </td>                   
                     </tr>
                </table>
                <table class="maintable">
                    <tr>
                        <td width="10"></td>
                        <td width="943"></td>
                        <td width="10"></td>
                    </tr>
                    <tr>
                        <td height="82"></td>
                        <td valign="middle" align="center"><img src="logo.jpg" width="963" height="82" alt="HanseCom GmbH"/></td>
                        <td></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td></td>
                        <td></td>
                    </tr>
                    <tr>
                        <td height="500"></td>
                        <td class="middletable" align="center">Content</td>
                        <td></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td></td>
                        <td></td>
                    </tr>
                </table>
            </td>
        </tr>
    </table>
    </body>
    </html>
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Schatten hinter einem Rollover-Menu-vorgabe.jpg   Schatten hinter einem Rollover-Menu-ist.jpg  

    Geändert von Thalin (04.10.07 um 14:18 Uhr)
     
    Signatur von Moderator gesperrt!
    Grund: zu lustig!

  2. #2
    Registriert seit
    Aug 2007
    Beiträge
    181
    Du könntest es mit einem oder mehreren halbtransparenten PNG(s) realisieren.

    Die Dropdowns sind warscheinlich unterschiedlich hoch, hoffentlich nicht unterschiedlich breit...(obwohl es auch so möglich wäre)

    Du machst dir z.B ein bild mit einem verlauf(schattenartig, z.b 200px * 1px), legst das mit repeat-y als hintergrund fest.
    Darüber legst du dann die Links mit anderen Hintergrundfarben(z.b weniger breites div).
    dann musst du dem grösseren layer einen Abschluss in form eines weiteren pngs geben.

    Da ich jetzt nicht viel Zeit habe, konnte ich den Code leider nicht gross anschauen.

    geht vielleicht auch mit einem 1px*1px PNG mit repeat-y und repeat-x (hoffe beide repeats in kombination funktionieren)
    Geändert von HuRaHoRRe (04.10.07 um 16:33 Uhr)
     

  3. #3
    Thalin Thalin ist offline Mitglied Silber
    Registriert seit
    Oct 2007
    Ort
    Hamburg
    Beiträge
    64
    Hi,

    also die Dropdowns sind unterschiedlich hoch, das is richtig.
    Sie haben allerdings eine fixe Breite.
    Ich hab mir schon so ne halbtransparente png Grafik angefertigt.
    Wenn ich die allerdings in den <ul> tag einbinde und dem gleichzietig noch die Hintergrundfarbe gebe,

    background: #a4c6eb url('schatten.png') repeat-y top right;

    liegt die grafik am rechten Rand direkt über der Hintergrundfarbe, was mir wenig bringt.
    Wenn ich aber die Hintergrundfarbe den <li> tags zuweise, ist immer nur bei den einzelnen Listenpunkten die Hintergrundfarbe und dazwischen ist dann nichts. Also auch nicht so wie es sein soll...
    Mit repeat-x und repeat-y gleichzeitig funktioniert es nicht, jedenfalls habe Ich es nicht hinbekommen.

    MfG
     
    Signatur von Moderator gesperrt!
    Grund: zu lustig!

  4. #4
    Maik Tutorials.de Gastzugang
    Hi,
    Zitat Zitat von Thalin Beitrag anzeigen
    Mit repeat-x und repeat-y gleichzeitig funktioniert es nicht, jedenfalls habe Ich es nicht hinbekommen.
    wenn ein Hintergrundbild in der X- und Y-Achse wiederholt werden soll, lautet die Wertangabe repeat.

    Dies entspricht aber der Voreinstellung in den Browsern zur Bildwiederholung, und somit ist diese Eigenschaftsdeklaration nicht erforderlich.
     

  5. #5
    Thalin Thalin ist offline Mitglied Silber
    Registriert seit
    Oct 2007
    Ort
    Hamburg
    Beiträge
    64
    Zitat Zitat von Maik Beitrag anzeigen
    Hi,

    wenn ein Hintergrundbild in der X- und Y-Achse wiederholt werden soll, lautet die Wertangabe repeat.
    Danke, so funktionierts
    Allerdings wird das PNG komplett über der Hintergrundfarbe angezeigt. Es sollte aber eigentlich dahinter sein und natürlich ein bisschen größer...
    Wie gesagt, wenn Ich den <li> tags die Hintergrundfarbe zuweise, wird nur ein geringer Teil des Dropdowns ausgefüllt...
     
    Signatur von Moderator gesperrt!
    Grund: zu lustig!

  6. #6
    Maik Tutorials.de Gastzugang
    Versuch es mal auf diese Weise:

    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
    
    ul.menu ul {
            margin: 0;
            padding: .2em;
            position: absolute;
            list-style-type: none;
            [b]background:url(schatten.png);[/b]
            display: none;
            float:left;
            width:130px;
    }
     
    ul.menu a {
            padding: .5em;
            text-decoration: none;
            color: #4b6da7;
            cursor: default;
            font-size: 11px;
            text-align: left;
            border-bottom: solid 1px #4b6da7;
            display: block;
            [b]margin:0px 4px 0px 4px;[/b]
            text-indent:-.5em;
            line-height:.3em;
            [b]background:#a4c6eb;[/b]
    }
     

  7. #7
    Thalin Thalin ist offline Mitglied Silber
    Registriert seit
    Oct 2007
    Ort
    Hamburg
    Beiträge
    64
    Ich bin begeistert! Es funktioniert
    Allerdings stehen die einzelnen Links jetzt ein wenig dicht beisammen...
    Gibt es da irgendeine Möglichkeit das zu ändern, ausser mi margin? Weil dann isses ja so wie vorher...
     
    Signatur von Moderator gesperrt!
    Grund: zu lustig!

  8. #8
    Registriert seit
    Aug 2007
    Beiträge
    181
    Mhh weis zwar nicht wie das dann aussieht... aber mit nem border top und bottom mit der selben Farbe wie der Hintergrund funktionierts vielleicht :/

    Du hast jetzt die 1*1px Variante genommen oder?
    Geändert von HuRaHoRRe (05.10.07 um 11:57 Uhr)
     

  9. #9
    Maik Tutorials.de Gastzugang
    Zitat Zitat von Thalin Beitrag anzeigen
    Allerdings stehen die einzelnen Links jetzt ein wenig dicht beisammen...
    Gibt es da irgendeine Möglichkeit das zu ändern, ausser mi margin? Weil dann isses ja so wie vorher...
    Erhöh doch einfach den vertikalen padding-Wert für die Links:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    ul.menu a {
            [b]padding: .8em .5em .8em .5em;[/b]
            text-decoration: none;
            color: #4b6da7;
            cursor: default;
            font-size: 11px;
            text-align: left;
            border-bottom: solid 1px #4b6da7;
            display: block;
            margin:0px 4px 0px 4px;
            text-indent:-.5em;
            line-height:.3em;
            background:#a4c6eb;
    }
     
    ul.menu a:hover {
            [b]padding: .8em .5em .8em .5em;[/b]
            color: #fff;
            background-color:#1F3F84;
            display: block;
            cursor:pointer;
    }
     

  10. #10
    Thalin Thalin ist offline Mitglied Silber
    Registriert seit
    Oct 2007
    Ort
    Hamburg
    Beiträge
    64
    Zitat Zitat von HuRaHoRRe Beitrag anzeigen
    Du hast jetzt die 1*1px Variante genommen oder?
    Ja hab Ich

    Zitat Zitat von Maik Beitrag anzeigen
    Erhöh doch einfach den vertikalen padding-Wert für die Links:
    Das geht wunderbar danke
    Hätte nicht gedacht, das das ganze so fix zu lösen ist. Naja, ich muss mich in die ganze Materie erstmal richtig reindenken.

    Wo wir gerade dabei sind
    Ich weiß nicht, ob es oben auf den Bildern zu erkennen ist, aber bei den Links in der Überschrift ist rechts ein weißer border. Auf der Vorlage ist es allerdings vorgesehen, das
    hinter dem letzten Link kein weißer Strich mehr ist. Gibt es eine Möglichkeit das für das letzte Element extra zu regeln?
    Ich weiß, das Ich dem <li> tag ne extra ID geben könnte. Allerdings wird das Menu zur Laufzeit erst erstellt, da Ich mit einem cms arbeite. Ich kann also nicht direkt auf einzelne li elemnte eingehen...
    Das gleiche "Problem" wäre bei bei den Links des Dropdown. Da sieht die Vorlage vor, das über dem ersten Link auch noch ein Strich ist...

    MfG
     
    Signatur von Moderator gesperrt!
    Grund: zu lustig!

  11. #11
    Registriert seit
    Aug 2007
    Beiträge
    181
    Wieso du nicht auf einzelne listen eingehen kannst verstehe ich nicht ganz... kommen die Dropdown Einträge aus einer Datenbank oder wieso?

    Bei dem Dropdown wäre es vielleicht möglich dem <ul> einen border top zuzuweisen, allerdings ist der in deinem Fall warscheinlich dann zu breit.
     

  12. #12
    Thalin Thalin ist offline Mitglied Silber
    Registriert seit
    Oct 2007
    Ort
    Hamburg
    Beiträge
    64
    Das Menu ist eigentlich ein Modul und wird erst zur Laufzeit erstellt.
    Je nach dem, ob ich beim cms dann einträge hinzufüge oder entferne, werden diese auch aus der Liste hinzugefügt oder entfernt. Den HTML-Code, den Ich oben habe ist nur der Skin und die Liste steht normalerweise nicht in der Datei. Ich hab sie mir nur aus dem Seitenquelltext gezogen, damit Ich den Skin lokal anpassen kann und nicht jedes mal den Skin in mein cms zu laden um zu sehen wie es aussieht.

    Das mit dem Border-top geht nicht, da der Strich dann über dem oberen Schatten liegt. :/
     
    Signatur von Moderator gesperrt!
    Grund: zu lustig!

  13. #13
    Maik Tutorials.de Gastzugang
    Du wirst nicht darum herum kommen, für das äußere / obere Element eine gesonderte Klasse einzusetzen, um so den rechten Rahmen zu deaktivieren bzw. den oberen Rahmen hinzufügen.

    Ansonsten stell in der horizontalen Navigation den rechten Rahmen generell auf links um, und deaktiviere ihn für das erste Element, denn das wird wohl existieren bzw. bekannt sein.

    Wenn der obere Rahmen im Bereich des Schattens liegt, kannst du doch den oberen Innenabstand des ul-Elements erhöhen, damit die Links ein Stück nach unten wandern.
     

  14. #14
    Thalin Thalin ist offline Mitglied Silber
    Registriert seit
    Oct 2007
    Ort
    Hamburg
    Beiträge
    64
    nein, das erste element ist auch nicht bekannt.
    das Menu an sich ist in eienr c#-datei hinterlegt.
    Dort wird es dann mittels einer for-schleife generiert. Ich könnte dort dem <li> tag eine klasse geben, allerdings hätten dann alle <li> tags diese klasse. Wird also nichts. Das ist aber auch nicht so tragisch, wenn das nicht geht
    Dank euch hab Ich ja glücklicherweise das mit dem Schatten hinbekommen.
    Danke dafür.
    Dann ist das hier erstmal erledigt. Wenn Ich wieder nicht weiter weiß, melde Ich mich

    MfG
     
    Signatur von Moderator gesperrt!
    Grund: zu lustig!

  15. #15
    Registriert seit
    Aug 2007
    Beiträge
    181
    vlt kannst du ja ein leeres Listenelement hinzufügen und dem ne id geben ... das sollte ja wohl gehen rein vom generieren her.
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 28.05.09, 13:35
  2. Schatten hinter Bild
    Von Daveman007 im Forum CSS
    Antworten: 2
    Letzter Beitrag: 20.08.05, 18:38
  3. Schatten hinter Bildern
    Von schnarnd im Forum HTML & XHTML
    Antworten: 6
    Letzter Beitrag: 27.02.05, 16:00
  4. Antworten: 3
    Letzter Beitrag: 21.09.04, 17:47
  5. Antworten: 3
    Letzter Beitrag: 14.08.04, 18:58