2014-12-12 29 views
7

Ich versuche, eine Erweiterung auf Hover div zu erstellen, aber kann nicht herausfinden, wie man den Inhalt mit dem div zu erweitern. Ich habe ein paar Überlaufoptionen getrocknet, aber es hat nicht funktioniert. HierText + div erweitern auf Hover mit CSS

ist der Code:

<div class="grow" style="background-color: #2a75a9;"> <h2>Title</h2> </br> 
    Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature</div> 

.grow { 
    padding: 5px 5px 5px 5px; 
    border-radius:10px; 
    height: 50px; 
    width: 22%; 
    margin: 5px 1% 5px 1%; 
    float: left; 
    position: relative; 
    transition:height 0.5s; 
    -webkit-transition:height 0.5s; 
    text-align: center; 

} 
.grow:hover { 
    height: 115px; /* This is the height on hover */ 
} 

Hier ist die jsfiddle

Kann jemand bitte helfen?

Vielen Dank.

Antwort

17

overflow: hidden zu .grow hinzufügen.

Fügen Sie den Text anstelle des Tags <br /> zusätzlich in ein <p>-Tag ein.

.grow { 
 
    padding: 5px 5px 5px 5px; 
 
    border-radius: 10px; 
 
    height: 49px; 
 
    width: 22%; 
 
    margin: 5px 1% 5px 1%; 
 
    float: left; 
 
    position: relative; 
 
    transition: height 0.5s; 
 
    -webkit-transition: height 0.5s; 
 
    text-align: center; 
 
    overflow: hidden; 
 
} 
 
.grow:hover { 
 
    height: 145px; 
 
}
<div class="grow" style="background-color: #2a75a9;"> 
 
    <h2>Title</h2> 
 
    <p>Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature</p> 
 
</div>

+4

Das ist die richtige Antwort :) – SW4

+3

Brilliant, ich wünschte, ich könnte Ihnen eine Weihnachtsumarmung geben! Vielen Dank! – Nicole

+0

Gibt es eine Möglichkeit, die Animation beizubehalten? –

2

nur aktualisieren;

.grow:hover { 
    height: auto; /* This is the height on hover */ 
} 
+2

dies wird die Animation zwischen den zwei Staaten brechen http://jsfiddle.net/h3w1wtmv/3/ –

+0

Gibt es einen Weg, um die Animation zu erhalten? –

1

Erkundigen Sie sich bei den folgenden Link, wenn es mit Ihnen arbeitet.

https://jsfiddle.net/gknLstpt/9/

.grow { 
    padding: 5px 5px 5px 5px; 
    border-radius: 10px; 
    height: 49px; 
    width: 15%; 
    margin: 5px 1% 5px 1%; 
    float: left; 
    position: relative; 
    transition: height 0.5s; 
    -webkit-transition: height 0.5s; 
    text-align: center; 
    overflow: hidden; 
} 
.grow:hover { 
    height: 145px; 
    width: 145px; 
} 
+0

Die Klasse .grow benötigt die folgenden zwei Zeilen, um einen weichen Übergang für die Breite zu erstellen: 'Übergang: Breite 0,5s; -webkit-Übergang: Breite 0,5s; ' Ich änderte auch .grow: Hover Höhe auf" Auto ", so dass es den gesamten Inhalt zeigt es enthält. Das Ändern des Höhenattributs hat den Übergang der Höhe weniger glatt gemacht, also beschleunige ich es bis zu 0,2 Sekunden, um in diesem [demo] (https://jsfiddle.net/gknLstpt/31/) zu kompensieren. Diese "Reparatur" funktioniert überhaupt nicht gut; Gibt es trotzdem weiche Übergänge, während die Höhe des Objekts dynamisch gehandhabt wird? – plaidcorp