Links anders bezeichnen je nach div

  • ich hab irgendwie das Problem, das ich in einem Div die links anders gestalten will wie in einem anderen div.

    Aber irgendwie schaffe ich es nicht per classe , wie macht man das. immer wenn ich links bezeichne dann verändern sich alle auf der Seite

  • So

    CSS:

    HTML
    <div class="div1">
        <a>test</a>
    </div>
    <div class="div2">
        <a>test</a>
    </div>
  • ich glaub ich meinte natürlich so



    Irgendwie geht der active befehl nach klick auf den link im IE8 nicht mehr

  • Natürlich meintest du das... :rolleyes:

    hier

    Code
    .div2 a:visited {
    
    
    }
    .div2 a:hover {
    
    
    }

    usw.

    /P.S. wie soll das bei dir bitte funktionieren? Du hast 2x #navi_top und meinst damit an 2 stellen unterschiedlich darzustellen? o.o

  • Ja alle Links sollen in der Navi_top weiß sein und bei überfahren grau bzw silber, und wenn man die maus entfernt müsste es wieder weiß werden.
    Und hatte eigentlich auch schon funktioniert,

    wenn ich jetzt aber bei der anderen vertikalen navi auch so verfahre dann verändern sich die links alle. hier mal der ganze quellcode


  • Natürlich meintest du das... :rolleyes:

    hier

    Code
    .div2 a:visited {
     
    }
    .div2 a:hover {
     
    }

    usw.

    /P.S. wie soll das bei dir bitte funktionieren? Du hast 2x #navi_top und meinst damit an 2 stellen unterschiedlich darzustellen? o.o



    Siehe meinen Code über diesem Post.:D da ist es so wie du sagtest. Ist eigentlich auch kein Ding, ich wusste es ja schon vor deinem Post.

  • Nein eben nicht, du sollst diese "," da weglassen und die Zustände einzeln zuweisen, sollte eigentlich auch einen weg geben mehrere gleichzeitig einzustellen -> aber so geht das nicht und ich bin jetzt zu faul google auszuquetschen.

    Hab mir dein Code gerade mal in ne html reingehauen, mit firebug kurzerhand alle zustände bis auf a:hover entfernt (bei .leftbox) - tada, jetzt passt die zugehörigkeit wieder und die top_navi wird richtig dargestellt.

    /p.s. doch was ausprobiert

    HTML
    .leftbox a:link, .leftbox a:visited, .leftbox a:hover, .leftbox a:active {

    Funktioniert auch, sprich ich hab sogar richtig gedacht *wohoo* - du schreibst .irgendEinDiv a:yx soll das bekommen und jetzt soll a:yx das bekommen... Das ist das, was da steht ;P

    2 Mal editiert, zuletzt von Grevas (20. Oktober 2009 um 23:25)

  • aber die css datei wird ja dadurch unendlich lang. Na gut wenn es anders nicht geht, dankeschön Grevas:)


    Im Firefox klappts eigentlich auch wie obiger Code. Firefox lebe hoch.

    So klappts überall:

    2 Mal editiert, zuletzt von Kämpfer (21. Oktober 2009 um 03:56)

  • Nicht getestet, aber so müsste es auch gehen und vor allem kürzer:

    Alles, was einheitlich ist, kann man zusammenfassen; nur die Abweichungen dann gesondert definieren.

  • War meins dann nicht schon richtig.

    HTML
    #navi_top a:link, a:visited, a:hover, a:active {
    color: #ffffff;
    text-decoration: none;
    }
    #navi_top a:hover {
    color: #d8ebe9;
    }



    Grevas, der meiner Meinung nach auch Ahnung hat meinte "Nein"

  • Sejuma kannst du auch trauen *g*, allerdings war deins nicht richtig - seins schon.
    Er hat es ja auch einzeln zugewiesen.

    Die mehrfache Zuweisung machst du eben falsch.

    da steht
    #navi_top a:link { einstellungen-1 }
    a: visted { einstellungen-1 }
    usw.

    du musst den tag auch eindeutig zur id / klasse zuweisen nach dem komma.

  • Es gibt eben immer viele Wege, um ans Ziel zu kommen.
    Wenn das Ziel jedoch ein kurzer CSS-Quelltext ist, dann kann man so vorgehen:

    Alle Linkzustände, die div-übergreifend gleich sind, kann man zusammenfassen, was in meinem Beispiel durch "a" und "a:hover" erfolgt. Das gilt für alle Divs einheitlich.
    Für alles, was davon abweichen soll, kann man die einzelnen ID-Bezeichnungen voranstellen und individuell formatieren.