css verständnissproblem (ich steh voll aufm schlauch)



  • Hi

    .navi{width:164px;
          float:left;
          padding-left: 25px;
          text-align:center;
          font-weight:bold;
          }
    
    a:link.navi{color:#FF00FF;
    	     text-align:center;
                 width:139px;
                 position:relative;}
    a:visited.navi{color:#FF00FF;
    	     text-align:center;
    	     width:139px;
                 position:relative;}
    a:hover.navi{color:#FF00FF;
    	     text-align:center;
    	     width:139px;
                 position:relative;}
    a:active.navi{color:#FF00FF;
    	     text-align:center;
    	     width:139px;
                 position:relative;}
    a:focus.navi{color:#FF00FF;
    	     text-align:center;
    	     width:139px;
                 position:relative;}
    
    <div class="navi">
    <a href="impressum.php" class="navi">Impressum</a>
    </div>
    

    So wenn das so wie oben aussieht werden die Links so angezeigt wie es in .navi drinsteht spricht wenn ich boarder:1px solid #000000; reinschreibe dann haben die links auch alle nen rahmen. klingt für mich soweit noch nachvollziehbar.
    Aber wenn ich den namen von a:link.navi in a:link.irgendwas ändere und dann folglich auch <a href="impressum.php" class="irgendwas">, kann ich keine Breitenangaben mehr für die Links machen? Ich kann das Hintergrundbild des Links verändern oder eine Rahmen drumbauen aber Breite geht nimmer.
    Klar was ich meine? Warum ist das so?

    MFG eiskalt



  • Vielleicht liegt es an der Syntax. Schreib mal

    a.irgendwas:link
    

    Vielleicht klappt's ja dann.



  • a ist ein inline-Element, wenn Du jetzt den Link durch die Klasse .navi floatest, dann änderst Du diese Eigenschaft und kannst dementsprechend eine Breite angeben. Wenn Du jetzt eine andere Klasse für den Link verwendest, wo Du die Eigenschaft des inline-Elements (hier:a) nicht änderst, dann kannst du die Breite nicht angeben, da inline-Elemente keine Breite haben.


Anmelden zum Antworten