2011-04-29 10 views
5

¿Es posible con CSS puro hacer un tamaño de imagen en línea (escala) de acuerdo con la altura de línea de su elemento primario?Tamaño máximo de imagen de acuerdo con la altura de línea del padre

Considere este set-up:

HTML:

<p> 
    <img src="image.png"/> text text text 
</p> 

CSS:

p { 
    line-height: 16px; 
} 

img { 
    display: inline; 
    vertical-align: middle; 
} 

Lo que me gustaría es que la imagen se escala hasta una altura de 16 píxeles, como es el line-height del párrafo. es posible?

tenga en cuenta: Estoy abierto a cambios en el HTML y CSS, pero no estoy buscando una solución JS.

Respuesta

2

No hay una forma pura de HTML/CSS para hacer esto, lamentablemente.

+0

Gracias por su respuesta a pesar de que esta no es la respuesta que quería oír, pero probablemente el más adecuado. :) Todavía espero que alguien agregue una solución. :) – Bazzz

5

esto funciona bastante bien:

img {height: 1em;} 
+0

+1 Sin embargo, la altura de la línea podría ser (y a menudo es) diferente de la altura de la fuente. Su sugerencia hace que la altura de la imagen sea igual a la altura de la fuente. Considero que su sugerencia es útil, pero no responde mi pregunta por completo. +1 para acercarse lo más posible. – Bazzz

+0

De acuerdo con MDN, el valor predeterminado 'line-height' es a menudo de aproximadamente 1,2, por lo que '1.2em' puede estar más cerca. Si establece explícitamente el 'line-height', puede establecer esto en el mismo valor. –

+0

... acabo de dar cuenta ... el 'img' también está sujeto a' line-height' ya que es un 'inline-block', por lo que establecer la altura en '1.2em' hará que toda la línea parezca más alta. –

Cuestiones relacionadas