Revisé varias publicaciones en StackOverflow, pero no he podido encontrar una respuesta a esta pregunta bastante simple.
Tengo una construcción HTML como esta:
<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>
Lo que necesito es divque llene la altura del td, para poder colocar el fondo del div (el icono) en la esquina inferior derecha del td.
¿Cómo sugieres que haga eso?

Respuestas:
Si le da a su TD una altura de 1px, entonces el div hijo tendría un padre alto para calcular su%. Debido a que su contenido sería más grande que 1px, el td crecería automáticamente, al igual que el div. Un poco como un truco de basura, pero apuesto a que funcionaría.
fuente
min-height: 1px;lugar deheight: 1px;Altura CSS: 100% solo funciona si el elemento principal del elemento tiene una altura definida explícitamente. Por ejemplo, esto funcionaría como se esperaba:
Como parece que su
<td>altura será variable, ¿qué pasa si agrega el ícono de la parte inferior derecha con una imagen absolutamente posicionada así:Con el marcado de celda de tabla así:
Editar: usando jQuery para establecer la altura de div
Si mantiene
<div>como hijo de<td>, este fragmento de jQuery establecerá correctamente su altura:fuente
Podrías intentar hacer que tu div flote:
Alternativamente, use bloque en línea:
Ejemplo de trabajo del método de bloques en línea:
fuente
Realmente tengo que hacer esto con JS. He aquí una solución. No usé sus nombres de clase, pero llamé al div dentro del nombre de clase td de "full-height" :-) Usé jQuery, obviamente. Tenga en cuenta que esto fue llamado desde jQuery (documento) .ready (function () {setFullHeights ();}); También tenga en cuenta que si tiene imágenes, primero tendrá que recorrerlas con algo como:
}
Y en su lugar, querrá llamar aloadedFullHeights () desde docReady. Esto es en realidad lo que terminé usando por si acaso. ¡Tienes que pensar en el futuro, sabes!
}
fuente
Esta pregunta ya está respondida aquí . Simplemente coloque
height: 100%eldivy el recipientetd.fuente
Modifique la imagen de fondo del <td> en sí.
O aplique un poco de CSS al div:
fuente