2016-03-25 13 views
0

Ich habe das folgende Markup im Moment: https://jsfiddle.net/axgetf94/Knopf ist nicht anklickbar wegen eines div Overlay - möglich z-index Ausgabe

Ich suche ein reaktionsschnelle Vollbild-Video-Menü zu bauen. Hier ist ein Bild, wie es im Moment aussieht: imgur

Ich spreche von der unteren rechten Kachel. Es gibt zwei Icons in einem achor-tag, die wiederum in ein separates div gehüllt sind. Mein Problem ist, dass eines dieser Icons wegen eines Div-Overlays nicht anklickbar ist. Ich dachte, dass dies gelöst werden könnte, indem sowohl die div-Tags als auch die Anker-Tags eine Position und einen z-Index-Wert erhalten. Leider löst das mein Problem nicht, da die f-Taste immer noch nicht anklickbar ist.

Hier ist mein HTML:

<div class="sm_tile sm_fb menu-item"> 
    <div class="tcvpb_background_center"> 
    <a href="http://facebook.com" title="fb"> 
     <i class="fa fa-facebook"></i> 
    </a> 
</div> 
</div> 
<div class="sm_tile sm_vm menu-item"> 
    <div class="tcvpb_background_center"> 
    <a href="http://vimeo.com" title="vm"> 
     <i class="fa fa-vimeo"></i> 
    </a> 
    </div> 
</div> 

Nach meiner div Positionierung:

.tcvpb_background_center { 
    left: 50%; 
    position: absolute; 
    text-align: center; 
    width: 100%; 
    z-index: 0; 
} 

.sm_vm .tcvpb_background_center { 
    transform: translate(-65%); 
} 
.sm_fb .tcvpb_background_center { 
    transform: translate(-35%); 
} 

gebe ich meine Links eine pos: rel sowie einen Z-Index von 1:

#menu-main-menu .menu-item .sm_tile a { 
    border: 1px solid #fff; 
    padding: 10px; 
    position:relative; 
    z-index: 1; 
} 

Der rechte Knopf bleibt leider nicht klickbar und obwohl ich in andere Z-Index Probleme geschaut habe, kann ich nicht scheinen, meine zu lösen. Vielen Dank im Voraus Jungs!

+1

What'st er Zweck der Overlay nicht decken? Scheint so, als wäre Ihr Layout komplexer als es sein muss. Beschreibe das Ziel. – isherwood

+0

@TrevorClarke Diese beiden Buchstaben sind Links, während der linke klickbar ist, der rechte nicht. Obwohl es einen höheren Z-Index hat als sein Eltern-Div. –

+0

@isherwood Ich möchte ein reaktionsfähiges Vollbild-Video-Menü erstellen. Hier ist ein Bild, wie es im Moment aussieht: [imgur] (http://i.imgur.com/OTuMSzE.jpg) Ich brauche das Overlay, um diese Links richtig zu positionieren. Ich weiß, dass es andere Lösungen geben könnte, aber ich suche wirklich nur nach einer Möglichkeit, es zu lösen. –

Antwort

0

Sowohl Ihre Links sind Elemente in der Umgebung, die sowohl diese Klasse zu verwenden:

.tcvpb_background_center { 
    left: 50%; 
    position: absolute; 
    text-align: center; 
    top: 50%; 
    transform: translate(-50%, -50%); 
    width: 100%; 
    z-index: 1; 
} 

so dass beide von ihnen 100% Breite haben, und sie sind bei der gleiche vertikale Position (oben: 50%), deshalb sind sie übereinander, was bedeutet, dass der Container des vimeo-Links den Facebook-Link-Container abdeckt und nicht klickbar macht. Benutze die Entwicklerwerkzeuge des Browsers, dort siehst du es.

Weisen Sie diesen Containern verschiedene Klassen zu, die nicht 100% breit sind und nebeneinander liegen.

0

anstelle von Ihnen komplex css + html. mein Vorschlag ist viel sauberer DOM zu verwenden:

<div style="display:flex; padding:10px"> 
    <a style="flex:1" href="http://facebook.com" title="fb">f</a> 
    <a style="flex:1" href="http://vimeo.com" title="vm">v</a> 
</div> 
+0

Vielen Dank Oron. Aber ich habe nicht nach einer Möglichkeit gesucht, mein Menü mit flexbox zu implementieren. Ich suche nur nach einer Möglichkeit, das "f" mit meinem aktuellen Markup anklickbar zu machen. Trotzdem sehr geschätzt. –

+0

Hallo NP :) Bitte aktualisieren Sie Ihre JSFiddle, so dass die Ausgabe klarer wird, und ich werde glücklich sein, Ihnen zu helfen. –

1

ersetzen div mit Spannweite als solche

<a href="my link"><img class="" src="my_image" alt=""> 
<span class="rig-overlay"></span> 
<span class="rig-text"> 
<span>name</span> 
<span>function</span> 
</span> 
</a> 

die Spanne wird die klickbare Region