Wofür wird hier display: table benötigt? Das ist eigentlich ein Wert der nie wirklich gebraucht wird (außer bei Spezialfällen)
Du kannst nicht zwischen display hin- und herschalten, du kannst lediglich die opacity animieren:
Code:
<div class="link">
TEXT
<div class="subspalte2">
More text
</div>
</div>
------
.link .subspalte2 {
opacity: 0;
transition: opacity 1s;
}
.link:hover .subspalte2 {
opacity: 1;
}
Das Problem was du wohl als nächstes hast: Nein, eine schöne Lösung den Platz nicht zu belegen gibt es nicht.
Du kannst zB das Element absolut positionieren. Das ist aber je nach Layout nicht wirklich möglich.