2016-10-31 4 views
2

überschreiben möchte ich die gleiche Hover-Effekt, wie dieser Website erreichen: http://educade.org/Hover auf die Eltern keine Kinder Hintergrund

Allerdings bin ich ein paar Probleme zu stoßen. Wenn ich beispielsweise versuche, auf dem übergeordneten div zu schweben, ändern sich die zuvor festgelegten Hintergrundfarben der untergeordneten divs nicht. Nur das "leere" Leerzeichen des Divs wird hervorgehoben.

Auch warum füllt die .box-div die verbleibende Höhe des .Videoclip Div nicht? Ich habe versucht, seine Höhe auf 100% zu setzen, aber es läuft ziemlich schlecht über.

Elternteil div

.videoclip{ 
    width:100%; 
    height: 300px; 
    max-height:300px; 
    background: #FFFFFF; 
    border-radius: 3px; 
    border: solid 1px #e3e3e3; 
} 

Beispiel der Kinder divs (mit bg Farbe)

.videoclip .box{ 
    background:#FFFFFF; 
    font-size: 1.1em; 
    display:block; 
    padding:10px 10px 10px 10px; 
    margin-bottom:10px; 
    overflow:hidden; 
} 

Hover

.videoclip:hover{ 
    background:#CCFF11 !important; 
} 

Hier ist der Link zu meinem vollständigen Code: http://codepen.io/anon/pen/XjvrEy

Ist es möglich, den gleichen Effekt mit einer einzigen Codezeile zu erzielen? (Anwendung des Hover auf dem Elternteil?)

Bitte schreiben Sie keine JS Lösungen für dieses Problem

+0

Wenn Sie sagen _So muss ich es für jedes Kind tun, richtig? _, Über welches jedes Kind sprichst du? – LGSon

+0

Wenn Sie _Can sagen sagen Sie auch, warum die Höhe der Box nicht füllt den verbleibenden Raum_, die verbleibende Fläche? ... ein paar Bilder würden gut tun, um das zu erklären mit – LGSon

Antwort

1

Sie müssen das Kind-Element nach hover Ereignis hinzuzufügen:

.videoclip:hover .box 
{ 
     background: #CCFF11; 
} 

und Sie werden nicht müssen important

+0

Vielen Dank für Ihre schnelle Antwort. Also muss ich es für jedes Kind machen, oder? Ich dachte, dass es ausreichen würde, es auf die Eltern anzuwenden. Kannst du auch sagen, warum die Höhe der Box den verbleibenden Platz nicht füllt, da sie nicht wie die anderen beiden Elemente fixiert ist? – Vince

+0

Versuchen Sie, die maximale Höhe aus dem übergeordneten Element zu entfernen. –

+0

Ich habe versucht, aber es funktioniert nicht – Vince

0

einfach den Hintergrund von .videoclip.box entfernen

.videoclip .box{ 
background:#FFFFFF; 
font-size: 1.1em; 
display:block; 
padding:10px 10px 10px 10px; 
margin-bottom:10px; 
overflow:hidden; 
} 

oder hinzufügen:!

.videoclip:hover .box{ 
background:#CCFF11 !important; 
} 

Die importants mehr dann nicht notwendig sind, aber vielleicht hast du anderen Code, der es in Zukunft auch benötigt.

Für den verbleibenden Platz, überprüfen Sie Ihre Maring-Bottoms. Sie sind bei 10px und 20px, was der verbleibende Platz ist.

+0

Ich habe versucht, die Ränder zu entfernen, aber es wird nicht funktionieren.Ich möchte die absolute Positionierung nicht verwenden, wie andere Benutzer vorschlagen. Wenn mein Videoclip 300px hoch ist, sagen wir 60px, warum wird die Höhe nicht: 100% auf dem letzten Kind skalieren bis zu 240? – Vince

Verwandte Themen