2017-05-21 2 views
1

Okay, so dass ich eine wirklich interessante Fehler haben,Wie <a> zu diesem Element hinzufügen

ich eine Navigation bin mit. Dies ist reines HTML & CSS.

Allerdings hat es eine Menge von Pseudo-Eigenschaften und deshalb kann ich das Tag in diesem div nicht verwenden.

<div class='box curmudgeon'> 
    <a href="#" class="nocolorrr">Housing</a> 
    </div> 

So wird der Link nicht auf Grund der Pseudo-Eigenschaften arbeiten,

.box:hover { 
    border: 2px solid rgba(0,160,80,0); 
    color: #FFF; 
} 

.box::before, .box::after { 
    width: 100%; 
    height:100%; 
    z-index: 3; 
    content:''; 
    position: absolute; 
    top:0; 
    left:0; 
    box-sizing: border-box; 
    -webkit-transform: scale(0); 
    transition: 0.5s; 

} 


.curmudgeon::before { 
    border-bottom: 3px solid #FFF; 
    border-left: 0; 
    -webkit-transform-origin: 0% 100%; 
} 

.curmudgeon::after { 
    border-top: 0; 
    border-right: 0; 
    -webkit-transform-origin: 50% 50%; 
} 

.box:hover::after, .box:hover::before { 
    -webkit-transform: scale(1); 
} 

Gibt es eine Lösung? Ich habe viele Dinge bisher versucht und habe elend gescheitert. Dies ist ein neuer Zweifel für mich

Antwort

3

den Link ein z-index höher als 3 Geben und für z-index zu arbeiten, sie brauchen auch eine andere Position als static, das heißt position: relative.

.box a {      /* added rule */ 
 
    position: relative; 
 
    z-index: 4; 
 
} 
 

 
.box:hover { 
 
    border: 2px solid rgba(0, 160, 80, 0); 
 
    color: #FFF; 
 
} 
 

 
.box::before, 
 
.box::after { 
 
    width: 100%; 
 
    height: 100%; 
 
    z-index: 3; 
 
    content: ''; 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
    box-sizing: border-box; 
 
    -webkit-transform: scale(0); 
 
    transition: 0.5s; 
 
} 
 

 
.curmudgeon::before { 
 
    border-bottom: 3px solid #FFF; 
 
    border-left: 0; 
 
    -webkit-transform-origin: 0% 100%; 
 
} 
 

 
.curmudgeon::after { 
 
    border-top: 0; 
 
    border-right: 0; 
 
    -webkit-transform-origin: 50% 50%; 
 
} 
 

 
.box:hover::after, 
 
.box:hover::before { 
 
    -webkit-transform: scale(1); 
 
}
<div class='box curmudgeon'> 
 
    <a href="#" class="nocolorrr">Housing</a> 
 
</div>

+0

Oh wow. Danke vielmals. Könntest du mir etwas über den Z-Index erklären? Ich habe wirklich viel darüber gelesen, aber ich kann das Hauptkonzept nicht verstehen. – Adis

+2

@Adis Wenn zwei oder mehr Elemente die gleiche Position (x/y) haben, überlappen sie sich, und mit 'z-index' können Sie steuern, welche oben und welche unten sein sollen .... wie mit deinem Geburtstagskuchen, mit Schlagsahne oben und Marmelade zwischen :) – LGSon

+1

Damn. Ich wünschte, alle Bücher würden diese Analogie verwenden. Tolle Arbeit. Liebte es. Absolut klar. Danke, dass du mir wieder geholfen hast, Kumpel. Schätze es wirklich. – Adis

Verwandte Themen