Ich habe mehrere Beiträge zu StackOverflow durchgesehen, konnte jedoch keine Antwort auf diese recht einfache Frage finden.
Ich habe ein HTML-Konstrukt wie folgt:
<table>
<tr>
<td class="thatSetsABackground">
<div class="thatSetsABackgroundWithAnIcon">
<dl>
<dt>yada
</dt>
<dd>yada
</dd>
</dl>
<div>
</td>
<td class="thatSetsABackground">
<div class="thatSetsABackgroundWithAnIcon">
<dl>
<dt>yada
</dt>
<dd>yada
</dd>
</dl>
<div>
</td>
</tr>
</table>
Was ich brauche, ist, dass der div
die Höhe des ausfüllt td
, damit ich den Hintergrund des Div (das Symbol) in der unteren rechten Ecke des positionieren kann td
.
Wie schlagen Sie vor, dass ich das mache?
Antworten:
Wenn Sie Ihrem TD eine Höhe von 1 Pixel geben, hat der untergeordnete Div einen großen Elternteil, aus dem er den Prozentsatz berechnet. Da Ihr Inhalt größer als 1px wäre, würde der td automatisch wachsen, ebenso wie der div. Ein bisschen ein Müllhack, aber ich wette, es würde funktionieren.
quelle
min-height: 1px;
anstelle vonheight: 1px;
CSS-Höhe: 100% funktioniert nur, wenn das übergeordnete Element eine explizit definierte Höhe hat. Dies würde beispielsweise wie erwartet funktionieren:
Da es so aussieht, als ob Ihre
<td>
Höhe variabel sein wird, was ist, wenn Sie das Symbol unten rechts mit einem absolut positionierten Bild wie folgt hinzugefügt haben:Mit dem Tabellenzellen-Markup wie folgt:
Bearbeiten: Verwenden Sie jQuery, um die Höhe von div festzulegen
Wenn Sie das
<div>
als Kind von behalten<td>
, wird dieser Ausschnitt von jQuery seine Höhe richtig einstellen:quelle
Sie könnten versuchen, Ihr Div zum Schweben zu bringen:
Alternativ können Sie auch Inline-Block verwenden:
Arbeitsbeispiel der Inline-Block-Methode:
quelle
Muss das wirklich mit JS machen. Hier ist eine Lösung. Ich habe Ihre Klassennamen nicht verwendet, aber ich habe das div innerhalb des td-Klassennamens "full-height" aufgerufen :-) Offensichtlich wurde jQuery verwendet. Beachten Sie, dass dies von jQuery (document) .ready (function () {setFullHeights ();}) aufgerufen wurde. Beachten Sie auch, dass Sie, wenn Sie Bilder haben, diese zuerst mit folgenden Schritten durchlaufen müssen:
}}
Und Sie möchten stattdessen die loadFullHeights () von docReady aus aufrufen. Dies ist eigentlich das, was ich letztendlich nur für den Fall verwendet habe. Ich muss vorausdenken, weißt du!
}}
quelle
Diese Frage ist schon beantwortet hier . Einfach
height: 100%
in dendiv
und den Behälter gebentd
.quelle
Ändern Sie das Hintergrundbild des <td> selbst.
Oder wenden Sie etwas CSS auf das div an:
quelle